OLD | NEW |
1 // This is a generated file (see the discoveryapis_generator project). | 1 // This is a generated file (see the discoveryapis_generator project). |
2 | 2 |
3 library googleapis.servicecontrol.v1; | 3 library googleapis.servicecontrol.v1; |
4 | 4 |
5 import 'dart:core' as core; | 5 import 'dart:core' as core; |
6 import 'dart:async' as async; | 6 import 'dart:async' as async; |
7 import 'dart:convert' as convert; | 7 import 'dart:convert' as convert; |
8 | 8 |
9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; | 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
10 import 'package:http/http.dart' as http; | 10 import 'package:http/http.dart' as http; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 _requester = client; | 42 _requester = client; |
43 | 43 |
44 /** | 44 /** |
45 * Attempts to allocate quota for the specified consumer. It should be called | 45 * Attempts to allocate quota for the specified consumer. It should be called |
46 * before the operation is executed. | 46 * before the operation is executed. |
47 * | 47 * |
48 * This method requires the `servicemanagement.services.quota` | 48 * This method requires the `servicemanagement.services.quota` |
49 * permission on the specified service. For more information, see | 49 * permission on the specified service. For more information, see |
50 * [Google Cloud IAM](https://cloud.google.com/iam). | 50 * [Google Cloud IAM](https://cloud.google.com/iam). |
51 * | 51 * |
| 52 * **NOTE:** the client code **must** fail-open if the server returns one |
| 53 * of the following quota errors: |
| 54 * - `PROJECT_STATUS_UNAVAILABLE` |
| 55 * - `SERVICE_STATUS_UNAVAILABLE` |
| 56 * - `BILLING_STATUS_UNAVAILABLE` |
| 57 * - `QUOTA_SYSTEM_UNAVAILABLE` |
| 58 * |
| 59 * The server may inject above errors to prohibit any hard dependency |
| 60 * on the quota system. |
| 61 * |
52 * [request] - The metadata request object. | 62 * [request] - The metadata request object. |
53 * | 63 * |
54 * Request parameters: | 64 * Request parameters: |
55 * | 65 * |
56 * [serviceName] - Name of the service as specified in the service | 66 * [serviceName] - Name of the service as specified in the service |
57 * configuration. For example, | 67 * configuration. For example, |
58 * `"pubsub.googleapis.com"`. | 68 * `"pubsub.googleapis.com"`. |
59 * | 69 * |
60 * See google.api.Service for the definition of a service name. | 70 * See google.api.Service for the definition of a service name. |
61 * | 71 * |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 return _response.then((data) => new EndReconciliationResponse.fromJson(data)
); | 217 return _response.then((data) => new EndReconciliationResponse.fromJson(data)
); |
208 } | 218 } |
209 | 219 |
210 /** | 220 /** |
211 * Releases previously allocated quota done through AllocateQuota method. | 221 * Releases previously allocated quota done through AllocateQuota method. |
212 * | 222 * |
213 * This method requires the `servicemanagement.services.quota` | 223 * This method requires the `servicemanagement.services.quota` |
214 * permission on the specified service. For more information, see | 224 * permission on the specified service. For more information, see |
215 * [Google Cloud IAM](https://cloud.google.com/iam). | 225 * [Google Cloud IAM](https://cloud.google.com/iam). |
216 * | 226 * |
| 227 * **NOTE:** the client code **must** fail-open if the server returns one |
| 228 * of the following quota errors: |
| 229 * - `PROJECT_STATUS_UNAVAILABLE` |
| 230 * - `SERVICE_STATUS_UNAVAILABLE` |
| 231 * - `BILLING_STATUS_UNAVAILABLE` |
| 232 * - `QUOTA_SYSTEM_UNAVAILABLE` |
| 233 * |
| 234 * The server may inject above errors to prohibit any hard dependency |
| 235 * on the quota system. |
| 236 * |
217 * [request] - The metadata request object. | 237 * [request] - The metadata request object. |
218 * | 238 * |
219 * Request parameters: | 239 * Request parameters: |
220 * | 240 * |
221 * [serviceName] - Name of the service as specified in the service | 241 * [serviceName] - Name of the service as specified in the service |
222 * configuration. For example, | 242 * configuration. For example, |
223 * `"pubsub.googleapis.com"`. | 243 * `"pubsub.googleapis.com"`. |
224 * | 244 * |
225 * See google.api.Service for the definition of a service name. | 245 * See google.api.Service for the definition of a service name. |
226 * | 246 * |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
473 * will be specified using the following delta metric: | 493 * will be specified using the following delta metric: |
474 * "serviceruntime.googleapis.com/api/consumer/quota_used_count" | 494 * "serviceruntime.googleapis.com/api/consumer/quota_used_count" |
475 * | 495 * |
476 * 2. For allocation quota, per quota metric total usage will be specified | 496 * 2. For allocation quota, per quota metric total usage will be specified |
477 * using the following gauge metric: | 497 * using the following gauge metric: |
478 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" | 498 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" |
479 * | 499 * |
480 * 3. For both rate quota and allocation quota, the quota limit reached | 500 * 3. For both rate quota and allocation quota, the quota limit reached |
481 * condition will be specified using the following boolean metric: | 501 * condition will be specified using the following boolean metric: |
482 * "serviceruntime.googleapis.com/quota/exceeded" | 502 * "serviceruntime.googleapis.com/quota/exceeded" |
| 503 * |
| 504 * 4. For allocation quota, value for each quota limit associated with |
| 505 * the metrics will be specified using the following gauge metric: |
| 506 * "serviceruntime.googleapis.com/quota/limit" |
483 */ | 507 */ |
484 core.List<MetricValueSet> quotaMetrics; | 508 core.List<MetricValueSet> quotaMetrics; |
485 /** ID of the actual config used to process the request. */ | 509 /** ID of the actual config used to process the request. */ |
486 core.String serviceConfigId; | 510 core.String serviceConfigId; |
487 | 511 |
488 AllocateQuotaResponse(); | 512 AllocateQuotaResponse(); |
489 | 513 |
490 AllocateQuotaResponse.fromJson(core.Map _json) { | 514 AllocateQuotaResponse.fromJson(core.Map _json) { |
491 if (_json.containsKey("allocateErrors")) { | 515 if (_json.containsKey("allocateErrors")) { |
492 allocateErrors = _json["allocateErrors"].map((value) => new QuotaError.fro
mJson(value)).toList(); | 516 allocateErrors = _json["allocateErrors"].map((value) => new QuotaError.fro
mJson(value)).toList(); |
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1143 } | 1167 } |
1144 | 1168 |
1145 class EndReconciliationResponse { | 1169 class EndReconciliationResponse { |
1146 /** | 1170 /** |
1147 * The same operation_id value used in the EndReconciliationRequest. Used for | 1171 * The same operation_id value used in the EndReconciliationRequest. Used for |
1148 * logging and diagnostics purposes. | 1172 * logging and diagnostics purposes. |
1149 */ | 1173 */ |
1150 core.String operationId; | 1174 core.String operationId; |
1151 /** | 1175 /** |
1152 * Metric values as tracked by One Platform before the adjustment was made. | 1176 * Metric values as tracked by One Platform before the adjustment was made. |
| 1177 * The following metrics will be included: |
| 1178 * |
| 1179 * 1. Per quota metric total usage will be specified using the following gauge |
| 1180 * metric: |
| 1181 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" |
| 1182 * |
| 1183 * 2. Value for each quota limit associated with the metrics will be specified |
| 1184 * using the following gauge metric: |
| 1185 * "serviceruntime.googleapis.com/quota/limit" |
| 1186 * |
| 1187 * 3. Delta value of the usage after the reconciliation for limits associated |
| 1188 * with the metrics will be specified using the following metric: |
| 1189 * "serviceruntime.googleapis.com/allocation/reconciliation_delta" |
| 1190 * The delta value is defined as: |
| 1191 * new_usage_from_client - existing_value_in_spanner. |
| 1192 * This metric is not defined in serviceruntime.yaml or in Cloud Monarch. |
| 1193 * This metric is meant for callers' use only. Since this metric is not |
| 1194 * defined in the monitoring backend, reporting on this metric will result in |
| 1195 * an error. |
1153 */ | 1196 */ |
1154 core.List<MetricValueSet> quotaMetrics; | 1197 core.List<MetricValueSet> quotaMetrics; |
1155 /** Indicates the decision of the reconciliation end. */ | 1198 /** Indicates the decision of the reconciliation end. */ |
1156 core.List<QuotaError> reconciliationErrors; | 1199 core.List<QuotaError> reconciliationErrors; |
1157 /** ID of the actual config used to process the request. */ | 1200 /** ID of the actual config used to process the request. */ |
1158 core.String serviceConfigId; | 1201 core.String serviceConfigId; |
1159 | 1202 |
1160 EndReconciliationResponse(); | 1203 EndReconciliationResponse(); |
1161 | 1204 |
1162 EndReconciliationResponse.fromJson(core.Map _json) { | 1205 EndReconciliationResponse.fromJson(core.Map _json) { |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1841 * for the specific | 1884 * for the specific |
1842 * consumer project. | 1885 * consumer project. |
1843 * - "CLIENT_APP_BLOCKED" : Client application of the consumer request is | 1886 * - "CLIENT_APP_BLOCKED" : Client application of the consumer request is |
1844 * invalid for the | 1887 * invalid for the |
1845 * specific consumer project. | 1888 * specific consumer project. |
1846 * - "API_KEY_INVALID" : Specified API key is invalid. | 1889 * - "API_KEY_INVALID" : Specified API key is invalid. |
1847 * - "API_KEY_EXPIRED" : Specified API Key has expired. | 1890 * - "API_KEY_EXPIRED" : Specified API Key has expired. |
1848 * - "SPATULA_HEADER_INVALID" : Consumer's spatula header is invalid. | 1891 * - "SPATULA_HEADER_INVALID" : Consumer's spatula header is invalid. |
1849 * - "LOAS_ROLE_INVALID" : The consumer's LOAS role is invalid. | 1892 * - "LOAS_ROLE_INVALID" : The consumer's LOAS role is invalid. |
1850 * - "NO_LOAS_PROJECT" : The consumer's LOAS role has no associated project. | 1893 * - "NO_LOAS_PROJECT" : The consumer's LOAS role has no associated project. |
1851 * - "PROJECT_STATUS_UNVAILABLE" : The backend server for looking up project | 1894 * - "PROJECT_STATUS_UNAVAILABLE" : The backend server for looking up project |
1852 * id/number is unavailable. | 1895 * id/number is unavailable. |
1853 * - "SERVICE_STATUS_UNAVAILABLE" : The backend server for checking service | 1896 * - "SERVICE_STATUS_UNAVAILABLE" : The backend server for checking service |
1854 * status is unavailable. | 1897 * status is unavailable. |
1855 * - "BILLING_STATUS_UNAVAILABLE" : The backend server for checking billing | 1898 * - "BILLING_STATUS_UNAVAILABLE" : The backend server for checking billing |
1856 * status is unavailable. | 1899 * status is unavailable. |
1857 * - "QUOTA_SYSTEM_UNAVAILABLE" : The backend server for checking quota limits | 1900 * - "QUOTA_SYSTEM_UNAVAILABLE" : The backend server for checking quota limits |
1858 * is unavailable. | 1901 * is unavailable. |
1859 */ | 1902 */ |
1860 core.String code; | 1903 core.String code; |
1861 /** Free-form text that provides details on the cause of the error. */ | 1904 /** Free-form text that provides details on the cause of the error. */ |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2013 * Possible string values are: | 2056 * Possible string values are: |
2014 * - "UNSPECIFIED" | 2057 * - "UNSPECIFIED" |
2015 * - "NORMAL" : For AllocateQuota request, allocates quota for the amount | 2058 * - "NORMAL" : For AllocateQuota request, allocates quota for the amount |
2016 * specified in | 2059 * specified in |
2017 * the service configuration or specified using the quota metrics. If the | 2060 * the service configuration or specified using the quota metrics. If the |
2018 * amount is higher than the available quota, allocation error will be | 2061 * amount is higher than the available quota, allocation error will be |
2019 * returned and no quota will be allocated. | 2062 * returned and no quota will be allocated. |
2020 * For ReleaseQuota request, this mode is supported only for precise quota | 2063 * For ReleaseQuota request, this mode is supported only for precise quota |
2021 * limits. In this case, this operation releases quota for the amount | 2064 * limits. In this case, this operation releases quota for the amount |
2022 * specified in the service configuration or specified using the quota | 2065 * specified in the service configuration or specified using the quota |
2023 * metrics. If the release can make available quota negative, release error | 2066 * metrics. If the release can make used quota negative, release error |
2024 * will be returned and no quota will be released. | 2067 * will be returned and no quota will be released. |
2025 * - "BEST_EFFORT" : For AllocateQuota request, this mode is supported only | 2068 * - "BEST_EFFORT" : For AllocateQuota request, this mode is supported only |
2026 * for imprecise | 2069 * for imprecise |
2027 * quota limits. In this case, the operation allocates quota for the amount | 2070 * quota limits. In this case, the operation allocates quota for the amount |
2028 * specified in the service configuration or specified using the quota | 2071 * specified in the service configuration or specified using the quota |
2029 * metrics. If the amount is higher than the available quota, request does | 2072 * metrics. If the amount is higher than the available quota, request does |
2030 * not fail but all available quota will be allocated. | 2073 * not fail but all available quota will be allocated. |
2031 * For ReleaseQuota request, this mode is supported for both precise quota | 2074 * For ReleaseQuota request, this mode is supported for both precise quota |
2032 * limits and imprecise quota limits. In this case, this operation releases | 2075 * limits and imprecise quota limits. In this case, this operation releases |
2033 * quota for the amount specified in the service configuration or specified | 2076 * quota for the amount specified in the service configuration or specified |
2034 * using the quota metrics. If the release can make available quota | 2077 * using the quota metrics. If the release can make used quota |
2035 * negative, request does not fail but only the available quota will be | 2078 * negative, request does not fail but only the used quota will be |
2036 * released. After the ReleaseQuota request completes, the available quota | 2079 * released. After the ReleaseQuota request completes, the used quota |
2037 * will be 0, and never goes to negative. | 2080 * will be 0, and never goes to negative. |
2038 * - "CHECK_ONLY" : For AllocateQuota request, only checks if there is enough | 2081 * - "CHECK_ONLY" : For AllocateQuota request, only checks if there is enough |
2039 * quota | 2082 * quota |
2040 * available and does not change the available quota. No lock is placed on | 2083 * available and does not change the available quota. No lock is placed on |
2041 * the available quota either. Not supported for ReleaseQuota request. | 2084 * the available quota either. Not supported for ReleaseQuota request. |
2042 */ | 2085 */ |
2043 core.String quotaMode; | 2086 core.String quotaMode; |
2044 | 2087 |
2045 QuotaOperation(); | 2088 QuotaOperation(); |
2046 | 2089 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2082 if (quotaMetrics != null) { | 2125 if (quotaMetrics != null) { |
2083 _json["quotaMetrics"] = quotaMetrics.map((value) => (value).toJson()).toLi
st(); | 2126 _json["quotaMetrics"] = quotaMetrics.map((value) => (value).toJson()).toLi
st(); |
2084 } | 2127 } |
2085 if (quotaMode != null) { | 2128 if (quotaMode != null) { |
2086 _json["quotaMode"] = quotaMode; | 2129 _json["quotaMode"] = quotaMode; |
2087 } | 2130 } |
2088 return _json; | 2131 return _json; |
2089 } | 2132 } |
2090 } | 2133 } |
2091 | 2134 |
2092 /** | 2135 /** Represents the properties needed for quota operations. */ |
2093 * Represents the properties needed for quota operations. | |
2094 * | |
2095 * Use the metric_value_sets field in Operation message to provide cost | |
2096 * override with metric_name in <service_name>/quota/<quota_group_name>/cost | |
2097 * format. Overrides for unmatched quota groups will be ignored. | |
2098 * Costs are expected to be >= 0. Cost 0 will cause no quota check, | |
2099 * but still traffic restrictions will be enforced. | |
2100 */ | |
2101 class QuotaProperties { | 2136 class QuotaProperties { |
2102 /** | 2137 /** |
2103 * LimitType IDs that should be used for checking quota. Key in this map | 2138 * LimitType IDs that should be used for checking quota. Key in this map |
2104 * should be a valid LimitType string, and the value is the ID to be used. For | 2139 * should be a valid LimitType string, and the value is the ID to be used. For |
2105 * example, an entry <USER, 123> will cause all user quota limits to use 123 | 2140 * example, an entry <USER, 123> will cause all user quota limits to use 123 |
2106 * as the user ID. See google/api/quota.proto for the definition of LimitType. | 2141 * as the user ID. See google/api/quota.proto for the definition of LimitType. |
2107 * CLIENT_PROJECT: Not supported. | 2142 * CLIENT_PROJECT: Not supported. |
2108 * USER: Value of this entry will be used for enforcing user-level quota | 2143 * USER: Value of this entry will be used for enforcing user-level quota |
2109 * limits. If none specified, caller IP passed in the | 2144 * limits. If none specified, caller IP passed in the |
2110 * servicecontrol.googleapis.com/caller_ip label will be used instead. | 2145 * servicecontrol.googleapis.com/caller_ip label will be used instead. |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2202 * Quota metrics to indicate the result of release. Depending on the | 2237 * Quota metrics to indicate the result of release. Depending on the |
2203 * request, one or more of the following metrics will be included: | 2238 * request, one or more of the following metrics will be included: |
2204 * | 2239 * |
2205 * 1. For rate quota, per quota group or per quota metric released amount | 2240 * 1. For rate quota, per quota group or per quota metric released amount |
2206 * will be specified using the following delta metric: | 2241 * will be specified using the following delta metric: |
2207 * "serviceruntime.googleapis.com/api/consumer/quota_refund_count" | 2242 * "serviceruntime.googleapis.com/api/consumer/quota_refund_count" |
2208 * | 2243 * |
2209 * 2. For allocation quota, per quota metric total usage will be specified | 2244 * 2. For allocation quota, per quota metric total usage will be specified |
2210 * using the following gauge metric: | 2245 * using the following gauge metric: |
2211 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" | 2246 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" |
| 2247 * |
| 2248 * 3. For allocation quota, value for each quota limit associated with |
| 2249 * the metrics will be specified using the following gauge metric: |
| 2250 * "serviceruntime.googleapis.com/quota/limit" |
2212 */ | 2251 */ |
2213 core.List<MetricValueSet> quotaMetrics; | 2252 core.List<MetricValueSet> quotaMetrics; |
2214 /** Indicates the decision of the release. */ | 2253 /** Indicates the decision of the release. */ |
2215 core.List<QuotaError> releaseErrors; | 2254 core.List<QuotaError> releaseErrors; |
2216 /** ID of the actual config used to process the request. */ | 2255 /** ID of the actual config used to process the request. */ |
2217 core.String serviceConfigId; | 2256 core.String serviceConfigId; |
2218 | 2257 |
2219 ReleaseQuotaResponse(); | 2258 ReleaseQuotaResponse(); |
2220 | 2259 |
2221 ReleaseQuotaResponse.fromJson(core.Map _json) { | 2260 ReleaseQuotaResponse.fromJson(core.Map _json) { |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2495 } | 2534 } |
2496 | 2535 |
2497 class StartReconciliationResponse { | 2536 class StartReconciliationResponse { |
2498 /** | 2537 /** |
2499 * The same operation_id value used in the StartReconciliationRequest. Used | 2538 * The same operation_id value used in the StartReconciliationRequest. Used |
2500 * for logging and diagnostics purposes. | 2539 * for logging and diagnostics purposes. |
2501 */ | 2540 */ |
2502 core.String operationId; | 2541 core.String operationId; |
2503 /** | 2542 /** |
2504 * Metric values as tracked by One Platform before the start of | 2543 * Metric values as tracked by One Platform before the start of |
2505 * reconciliation. | 2544 * reconciliation. The following metrics will be included: |
| 2545 * |
| 2546 * 1. Per quota metric total usage will be specified using the following gauge |
| 2547 * metric: |
| 2548 * "serviceruntime.googleapis.com/allocation/consumer/quota_used_count" |
| 2549 * |
| 2550 * 2. Value for each quota limit associated with the metrics will be specified |
| 2551 * using the following gauge metric: |
| 2552 * "serviceruntime.googleapis.com/quota/limit" |
2506 */ | 2553 */ |
2507 core.List<MetricValueSet> quotaMetrics; | 2554 core.List<MetricValueSet> quotaMetrics; |
2508 /** Indicates the decision of the reconciliation start. */ | 2555 /** Indicates the decision of the reconciliation start. */ |
2509 core.List<QuotaError> reconciliationErrors; | 2556 core.List<QuotaError> reconciliationErrors; |
2510 /** ID of the actual config used to process the request. */ | 2557 /** ID of the actual config used to process the request. */ |
2511 core.String serviceConfigId; | 2558 core.String serviceConfigId; |
2512 | 2559 |
2513 StartReconciliationResponse(); | 2560 StartReconciliationResponse(); |
2514 | 2561 |
2515 StartReconciliationResponse.fromJson(core.Map _json) { | 2562 StartReconciliationResponse.fromJson(core.Map _json) { |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2640 } | 2687 } |
2641 if (details != null) { | 2688 if (details != null) { |
2642 _json["details"] = details; | 2689 _json["details"] = details; |
2643 } | 2690 } |
2644 if (message != null) { | 2691 if (message != null) { |
2645 _json["message"] = message; | 2692 _json["message"] = message; |
2646 } | 2693 } |
2647 return _json; | 2694 return _json; |
2648 } | 2695 } |
2649 } | 2696 } |
OLD | NEW |