Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(830)

Side by Side Diff: generated/googleapis/lib/servicemanagement/v1.dart

Issue 3006323002: Api-Roll 54: 2017-09-11 (Closed)
Patch Set: use 2.0.0-dev.infinity sdk constraint in pubspecs Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.servicemanagement.v1; 3 library googleapis.servicemanagement.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_1; 10 import 'package:http/http.dart' as http_1;
11 11
12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show 12 export 'package:_discoveryapis_commons/_discoveryapis_commons.dart'
13 ApiRequestError, DetailedApiRequestError; 13 show ApiRequestError, DetailedApiRequestError;
14 14
15 const core.String USER_AGENT = 'dart-api-client servicemanagement/v1'; 15 const core.String USER_AGENT = 'dart-api-client servicemanagement/v1';
16 16
17 /** 17 /// Google Service Management allows service producers to publish their
18 * Google Service Management allows service producers to publish their services 18 /// services on Google Cloud Platform so that they can be discovered and used
19 * on Google Cloud Platform so that they can be discovered and used by service 19 /// by service consumers.
20 * consumers.
21 */
22 class ServicemanagementApi { 20 class ServicemanagementApi {
23 /** View and manage your data across Google Cloud Platform services */ 21 /// View and manage your data across Google Cloud Platform services
24 static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platf orm"; 22 static const CloudPlatformScope =
23 "https://www.googleapis.com/auth/cloud-platform";
25 24
26 /** View your data across Google Cloud Platform services */ 25 /// View your data across Google Cloud Platform services
27 static const CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/clo ud-platform.read-only"; 26 static const CloudPlatformReadOnlyScope =
27 "https://www.googleapis.com/auth/cloud-platform.read-only";
28 28
29 /** Manage your Google API service configuration */ 29 /// Manage your Google API service configuration
30 static const ServiceManagementScope = "https://www.googleapis.com/auth/service .management"; 30 static const ServiceManagementScope =
31 "https://www.googleapis.com/auth/service.management";
31 32
32 /** View your Google API service configuration */ 33 /// View your Google API service configuration
33 static const ServiceManagementReadonlyScope = "https://www.googleapis.com/auth /service.management.readonly"; 34 static const ServiceManagementReadonlyScope =
34 35 "https://www.googleapis.com/auth/service.management.readonly";
35 36
36 final commons.ApiRequester _requester; 37 final commons.ApiRequester _requester;
37 38
38 OperationsResourceApi get operations => new OperationsResourceApi(_requester); 39 OperationsResourceApi get operations => new OperationsResourceApi(_requester);
39 ServicesResourceApi get services => new ServicesResourceApi(_requester); 40 ServicesResourceApi get services => new ServicesResourceApi(_requester);
40 41
41 ServicemanagementApi(http_1.Client client, {core.String rootUrl: "https://serv icemanagement.googleapis.com/", core.String servicePath: ""}) : 42 ServicemanagementApi(http_1.Client client,
42 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A GENT); 43 {core.String rootUrl: "https://servicemanagement.googleapis.com/",
44 core.String servicePath: ""})
45 : _requester =
46 new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
43 } 47 }
44 48
45
46 class OperationsResourceApi { 49 class OperationsResourceApi {
47 final commons.ApiRequester _requester; 50 final commons.ApiRequester _requester;
48 51
49 OperationsResourceApi(commons.ApiRequester client) : 52 OperationsResourceApi(commons.ApiRequester client) : _requester = client;
50 _requester = client;
51 53
52 /** 54 /// Gets the latest state of a long-running operation. Clients can use this
53 * Gets the latest state of a long-running operation. Clients can use this 55 /// method to poll the operation result at intervals as recommended by the
54 * method to poll the operation result at intervals as recommended by the API 56 /// API
55 * service. 57 /// service.
56 * 58 ///
57 * Request parameters: 59 /// Request parameters:
58 * 60 ///
59 * [name] - The name of the operation resource. 61 /// [name] - The name of the operation resource.
60 * Value must have pattern "^operations/.+$". 62 /// Value must have pattern "^operations/.+$".
61 * 63 ///
62 * Completes with a [Operation]. 64 /// Completes with a [Operation].
63 * 65 ///
64 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 66 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
65 * error. 67 /// an error.
66 * 68 ///
67 * If the used [http_1.Client] completes with an error when making a REST 69 /// If the used [http_1.Client] completes with an error when making a REST
68 * call, this method will complete with the same error. 70 /// call, this method will complete with the same error.
69 */
70 async.Future<Operation> get(core.String name) { 71 async.Future<Operation> get(core.String name) {
71 var _url = null; 72 var _url = null;
72 var _queryParams = new core.Map(); 73 var _queryParams = new core.Map();
73 var _uploadMedia = null; 74 var _uploadMedia = null;
74 var _uploadOptions = null; 75 var _uploadOptions = null;
75 var _downloadOptions = commons.DownloadOptions.Metadata; 76 var _downloadOptions = commons.DownloadOptions.Metadata;
76 var _body = null; 77 var _body = null;
77 78
78 if (name == null) { 79 if (name == null) {
79 throw new core.ArgumentError("Parameter name is required."); 80 throw new core.ArgumentError("Parameter name is required.");
80 } 81 }
81 82
82 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 83 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
83 84
84 var _response = _requester.request(_url, 85 var _response = _requester.request(_url, "GET",
85 "GET", 86 body: _body,
86 body: _body, 87 queryParams: _queryParams,
87 queryParams: _queryParams, 88 uploadOptions: _uploadOptions,
88 uploadOptions: _uploadOptions, 89 uploadMedia: _uploadMedia,
89 uploadMedia: _uploadMedia, 90 downloadOptions: _downloadOptions);
90 downloadOptions: _downloadOptions);
91 return _response.then((data) => new Operation.fromJson(data)); 91 return _response.then((data) => new Operation.fromJson(data));
92 } 92 }
93 93
94 /** 94 /// Lists service operations that match the specified filter in the request.
95 * Lists service operations that match the specified filter in the request. 95 ///
96 * 96 /// Request parameters:
97 * Request parameters: 97 ///
98 * 98 /// [pageToken] - The standard list page token.
99 * [pageSize] - The maximum number of operations to return. If unspecified, 99 ///
100 * defaults to 100 /// [name] - Not used.
101 * 50. The maximum value is 100. 101 ///
102 * 102 /// [pageSize] - The maximum number of operations to return. If unspecified,
103 * [filter] - A string for filtering Operations. 103 /// defaults to
104 * The following filter fields are supported&#58; 104 /// 50. The maximum value is 100.
105 * 105 ///
106 * * serviceName&#58; Required. Only `=` operator is allowed. 106 /// [filter] - A string for filtering Operations.
107 * * startTime&#58; The time this job was started, in ISO 8601 format. 107 /// The following filter fields are supported&#58;
108 * Allowed operators are `>=`, `>`, `<=`, and `<`. 108 ///
109 * * status&#58; Can be `done`, `in_progress`, or `failed`. Allowed 109 /// * serviceName&#58; Required. Only `=` operator is allowed.
110 * operators are `=`, and `!=`. 110 /// * startTime&#58; The time this job was started, in ISO 8601 format.
111 * 111 /// Allowed operators are `>=`, `>`, `<=`, and `<`.
112 * Filter expression supports conjunction (AND) and disjunction (OR) 112 /// * status&#58; Can be `done`, `in_progress`, or `failed`. Allowed
113 * logical operators. However, the serviceName restriction must be at the 113 /// operators are `=`, and `!=`.
114 * top-level and can only be combined with other restrictions via the AND 114 ///
115 * logical operator. 115 /// Filter expression supports conjunction (AND) and disjunction (OR)
116 * 116 /// logical operators. However, the serviceName restriction must be at the
117 * Examples&#58; 117 /// top-level and can only be combined with other restrictions via the AND
118 * 118 /// logical operator.
119 * * `serviceName={some-service}.googleapis.com` 119 ///
120 * * `serviceName={some-service}.googleapis.com AND startTime>="2017-02-01"` 120 /// Examples&#58;
121 * * `serviceName={some-service}.googleapis.com AND status=done` 121 ///
122 * * `serviceName={some-service}.googleapis.com AND (status=done OR 122 /// * `serviceName={some-service}.googleapis.com`
123 * startTime>="2017-02-01")` 123 /// * `serviceName={some-service}.googleapis.com AND startTime>="2017-02-01"`
124 * 124 /// * `serviceName={some-service}.googleapis.com AND status=done`
125 * [pageToken] - The standard list page token. 125 /// * `serviceName={some-service}.googleapis.com AND (status=done OR
126 * 126 /// startTime>="2017-02-01")`
127 * [name] - Not used. 127 ///
128 * 128 /// Completes with a [ListOperationsResponse].
129 * Completes with a [ListOperationsResponse]. 129 ///
130 * 130 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
131 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 131 /// an error.
132 * error. 132 ///
133 * 133 /// If the used [http_1.Client] completes with an error when making a REST
134 * If the used [http_1.Client] completes with an error when making a REST 134 /// call, this method will complete with the same error.
135 * call, this method will complete with the same error. 135 async.Future<ListOperationsResponse> list(
136 */ 136 {core.String pageToken,
137 async.Future<ListOperationsResponse> list({core.int pageSize, core.String filt er, core.String pageToken, core.String name}) { 137 core.String name,
138 core.int pageSize,
139 core.String filter}) {
138 var _url = null; 140 var _url = null;
139 var _queryParams = new core.Map(); 141 var _queryParams = new core.Map();
140 var _uploadMedia = null; 142 var _uploadMedia = null;
141 var _uploadOptions = null; 143 var _uploadOptions = null;
142 var _downloadOptions = commons.DownloadOptions.Metadata; 144 var _downloadOptions = commons.DownloadOptions.Metadata;
143 var _body = null; 145 var _body = null;
144 146
147 if (pageToken != null) {
148 _queryParams["pageToken"] = [pageToken];
149 }
150 if (name != null) {
151 _queryParams["name"] = [name];
152 }
145 if (pageSize != null) { 153 if (pageSize != null) {
146 _queryParams["pageSize"] = ["${pageSize}"]; 154 _queryParams["pageSize"] = ["${pageSize}"];
147 } 155 }
148 if (filter != null) { 156 if (filter != null) {
149 _queryParams["filter"] = [filter]; 157 _queryParams["filter"] = [filter];
150 } 158 }
151 if (pageToken != null) {
152 _queryParams["pageToken"] = [pageToken];
153 }
154 if (name != null) {
155 _queryParams["name"] = [name];
156 }
157 159
158 _url = 'v1/operations'; 160 _url = 'v1/operations';
159 161
160 var _response = _requester.request(_url, 162 var _response = _requester.request(_url, "GET",
161 "GET", 163 body: _body,
162 body: _body, 164 queryParams: _queryParams,
163 queryParams: _queryParams, 165 uploadOptions: _uploadOptions,
164 uploadOptions: _uploadOptions, 166 uploadMedia: _uploadMedia,
165 uploadMedia: _uploadMedia, 167 downloadOptions: _downloadOptions);
166 downloadOptions: _downloadOptions);
167 return _response.then((data) => new ListOperationsResponse.fromJson(data)); 168 return _response.then((data) => new ListOperationsResponse.fromJson(data));
168 } 169 }
169
170 } 170 }
171 171
172
173 class ServicesResourceApi { 172 class ServicesResourceApi {
174 final commons.ApiRequester _requester; 173 final commons.ApiRequester _requester;
175 174
176 ServicesConfigsResourceApi get configs => new ServicesConfigsResourceApi(_requ ester); 175 ServicesConfigsResourceApi get configs =>
177 ServicesConsumersResourceApi get consumers => new ServicesConsumersResourceApi (_requester); 176 new ServicesConfigsResourceApi(_requester);
178 ServicesRolloutsResourceApi get rollouts => new ServicesRolloutsResourceApi(_r equester); 177 ServicesConsumersResourceApi get consumers =>
178 new ServicesConsumersResourceApi(_requester);
179 ServicesRolloutsResourceApi get rollouts =>
180 new ServicesRolloutsResourceApi(_requester);
179 181
180 ServicesResourceApi(commons.ApiRequester client) : 182 ServicesResourceApi(commons.ApiRequester client) : _requester = client;
181 _requester = client;
182 183
183 /** 184 /// Creates a new managed service.
184 * Creates a new managed service. 185 /// Please note one producer project can own no more than 20 services.
185 * Please note one producer project can own no more than 20 services. 186 ///
186 * 187 /// Operation<response: ManagedService>
187 * Operation<response: ManagedService> 188 ///
188 * 189 /// [request] - The metadata request object.
189 * [request] - The metadata request object. 190 ///
190 * 191 /// Request parameters:
191 * Request parameters: 192 ///
192 * 193 /// Completes with a [Operation].
193 * Completes with a [Operation]. 194 ///
194 * 195 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
195 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 196 /// an error.
196 * error. 197 ///
197 * 198 /// If the used [http_1.Client] completes with an error when making a REST
198 * If the used [http_1.Client] completes with an error when making a REST 199 /// call, this method will complete with the same error.
199 * call, this method will complete with the same error.
200 */
201 async.Future<Operation> create(ManagedService request) { 200 async.Future<Operation> create(ManagedService request) {
202 var _url = null; 201 var _url = null;
203 var _queryParams = new core.Map(); 202 var _queryParams = new core.Map();
204 var _uploadMedia = null; 203 var _uploadMedia = null;
205 var _uploadOptions = null; 204 var _uploadOptions = null;
206 var _downloadOptions = commons.DownloadOptions.Metadata; 205 var _downloadOptions = commons.DownloadOptions.Metadata;
207 var _body = null; 206 var _body = null;
208 207
209 if (request != null) { 208 if (request != null) {
210 _body = convert.JSON.encode((request).toJson()); 209 _body = convert.JSON.encode((request).toJson());
211 } 210 }
212 211
213 _url = 'v1/services'; 212 _url = 'v1/services';
214 213
215 var _response = _requester.request(_url, 214 var _response = _requester.request(_url, "POST",
216 "POST", 215 body: _body,
217 body: _body, 216 queryParams: _queryParams,
218 queryParams: _queryParams, 217 uploadOptions: _uploadOptions,
219 uploadOptions: _uploadOptions, 218 uploadMedia: _uploadMedia,
220 uploadMedia: _uploadMedia, 219 downloadOptions: _downloadOptions);
221 downloadOptions: _downloadOptions);
222 return _response.then((data) => new Operation.fromJson(data)); 220 return _response.then((data) => new Operation.fromJson(data));
223 } 221 }
224 222
225 /** 223 /// Deletes a managed service. This method will change the service to the
226 * Deletes a managed service. This method will change the service to the 224 /// `Soft-Delete` state for 30 days. Within this period, service producers
227 * `Soft-Delete` state for 30 days. Within this period, service producers may 225 /// may
228 * call UndeleteService to restore the service. 226 /// call UndeleteService to restore the service.
229 * After 30 days, the service will be permanently deleted. 227 /// After 30 days, the service will be permanently deleted.
230 * 228 ///
231 * Operation<response: google.protobuf.Empty> 229 /// Operation<response: google.protobuf.Empty>
232 * 230 ///
233 * Request parameters: 231 /// Request parameters:
234 * 232 ///
235 * [serviceName] - The name of the service. See the 233 /// [serviceName] - The name of the service. See the
236 * [overview](/service-management/overview) 234 /// [overview](/service-management/overview)
237 * for naming requirements. For example: `example.googleapis.com`. 235 /// for naming requirements. For example: `example.googleapis.com`.
238 * 236 ///
239 * Completes with a [Operation]. 237 /// Completes with a [Operation].
240 * 238 ///
241 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 239 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
242 * error. 240 /// an error.
243 * 241 ///
244 * If the used [http_1.Client] completes with an error when making a REST 242 /// If the used [http_1.Client] completes with an error when making a REST
245 * call, this method will complete with the same error. 243 /// call, this method will complete with the same error.
246 */
247 async.Future<Operation> delete(core.String serviceName) { 244 async.Future<Operation> delete(core.String serviceName) {
248 var _url = null; 245 var _url = null;
249 var _queryParams = new core.Map(); 246 var _queryParams = new core.Map();
250 var _uploadMedia = null; 247 var _uploadMedia = null;
251 var _uploadOptions = null; 248 var _uploadOptions = null;
252 var _downloadOptions = commons.DownloadOptions.Metadata; 249 var _downloadOptions = commons.DownloadOptions.Metadata;
253 var _body = null; 250 var _body = null;
254 251
255 if (serviceName == null) { 252 if (serviceName == null) {
256 throw new core.ArgumentError("Parameter serviceName is required."); 253 throw new core.ArgumentError("Parameter serviceName is required.");
257 } 254 }
258 255
259 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName'); 256 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName');
260 257
261 var _response = _requester.request(_url, 258 var _response = _requester.request(_url, "DELETE",
262 "DELETE", 259 body: _body,
263 body: _body, 260 queryParams: _queryParams,
264 queryParams: _queryParams, 261 uploadOptions: _uploadOptions,
265 uploadOptions: _uploadOptions, 262 uploadMedia: _uploadMedia,
266 uploadMedia: _uploadMedia, 263 downloadOptions: _downloadOptions);
267 downloadOptions: _downloadOptions);
268 return _response.then((data) => new Operation.fromJson(data)); 264 return _response.then((data) => new Operation.fromJson(data));
269 } 265 }
270 266
271 /** 267 /// Disables a service for a project, so it can no longer be
272 * Disables a service for a project, so it can no longer be 268 /// be used for the project. It prevents accidental usage that may cause
273 * be used for the project. It prevents accidental usage that may cause 269 /// unexpected billing charges or security leaks.
274 * unexpected billing charges or security leaks. 270 ///
275 * 271 /// Operation<response: DisableServiceResponse>
276 * Operation<response: DisableServiceResponse> 272 ///
277 * 273 /// [request] - The metadata request object.
278 * [request] - The metadata request object. 274 ///
279 * 275 /// Request parameters:
280 * Request parameters: 276 ///
281 * 277 /// [serviceName] - Name of the service to disable. Specifying an unknown
282 * [serviceName] - Name of the service to disable. Specifying an unknown 278 /// service name
283 * service name 279 /// will cause the request to fail.
284 * will cause the request to fail. 280 ///
285 * 281 /// Completes with a [Operation].
286 * Completes with a [Operation]. 282 ///
287 * 283 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
288 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 284 /// an error.
289 * error. 285 ///
290 * 286 /// If the used [http_1.Client] completes with an error when making a REST
291 * If the used [http_1.Client] completes with an error when making a REST 287 /// call, this method will complete with the same error.
292 * call, this method will complete with the same error. 288 async.Future<Operation> disable(
293 */ 289 DisableServiceRequest request, core.String serviceName) {
294 async.Future<Operation> disable(DisableServiceRequest request, core.String ser viceName) {
295 var _url = null; 290 var _url = null;
296 var _queryParams = new core.Map(); 291 var _queryParams = new core.Map();
297 var _uploadMedia = null; 292 var _uploadMedia = null;
298 var _uploadOptions = null; 293 var _uploadOptions = null;
299 var _downloadOptions = commons.DownloadOptions.Metadata; 294 var _downloadOptions = commons.DownloadOptions.Metadata;
300 var _body = null; 295 var _body = null;
301 296
302 if (request != null) { 297 if (request != null) {
303 _body = convert.JSON.encode((request).toJson()); 298 _body = convert.JSON.encode((request).toJson());
304 } 299 }
305 if (serviceName == null) { 300 if (serviceName == null) {
306 throw new core.ArgumentError("Parameter serviceName is required."); 301 throw new core.ArgumentError("Parameter serviceName is required.");
307 } 302 }
308 303
309 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + ':di sable'; 304 _url = 'v1/services/' +
305 commons.Escaper.ecapeVariable('$serviceName') +
306 ':disable';
310 307
311 var _response = _requester.request(_url, 308 var _response = _requester.request(_url, "POST",
312 "POST", 309 body: _body,
313 body: _body, 310 queryParams: _queryParams,
314 queryParams: _queryParams, 311 uploadOptions: _uploadOptions,
315 uploadOptions: _uploadOptions, 312 uploadMedia: _uploadMedia,
316 uploadMedia: _uploadMedia, 313 downloadOptions: _downloadOptions);
317 downloadOptions: _downloadOptions);
318 return _response.then((data) => new Operation.fromJson(data)); 314 return _response.then((data) => new Operation.fromJson(data));
319 } 315 }
320 316
321 /** 317 /// Enables a service for a project, so it can be used
322 * Enables a service for a project, so it can be used 318 /// for the project. See
323 * for the project. See 319 /// [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for
324 * [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for 320 /// more information.
325 * more information. 321 ///
326 * 322 /// Operation<response: EnableServiceResponse>
327 * Operation<response: EnableServiceResponse> 323 ///
328 * 324 /// [request] - The metadata request object.
329 * [request] - The metadata request object. 325 ///
330 * 326 /// Request parameters:
331 * Request parameters: 327 ///
332 * 328 /// [serviceName] - Name of the service to enable. Specifying an unknown
333 * [serviceName] - Name of the service to enable. Specifying an unknown 329 /// service name will
334 * service name will 330 /// cause the request to fail.
335 * cause the request to fail. 331 ///
336 * 332 /// Completes with a [Operation].
337 * Completes with a [Operation]. 333 ///
338 * 334 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
339 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 335 /// an error.
340 * error. 336 ///
341 * 337 /// If the used [http_1.Client] completes with an error when making a REST
342 * If the used [http_1.Client] completes with an error when making a REST 338 /// call, this method will complete with the same error.
343 * call, this method will complete with the same error. 339 async.Future<Operation> enable(
344 */ 340 EnableServiceRequest request, core.String serviceName) {
345 async.Future<Operation> enable(EnableServiceRequest request, core.String servi ceName) {
346 var _url = null; 341 var _url = null;
347 var _queryParams = new core.Map(); 342 var _queryParams = new core.Map();
348 var _uploadMedia = null; 343 var _uploadMedia = null;
349 var _uploadOptions = null; 344 var _uploadOptions = null;
350 var _downloadOptions = commons.DownloadOptions.Metadata; 345 var _downloadOptions = commons.DownloadOptions.Metadata;
351 var _body = null; 346 var _body = null;
352 347
353 if (request != null) { 348 if (request != null) {
354 _body = convert.JSON.encode((request).toJson()); 349 _body = convert.JSON.encode((request).toJson());
355 } 350 }
356 if (serviceName == null) { 351 if (serviceName == null) {
357 throw new core.ArgumentError("Parameter serviceName is required."); 352 throw new core.ArgumentError("Parameter serviceName is required.");
358 } 353 }
359 354
360 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + ':en able'; 355 _url = 'v1/services/' +
356 commons.Escaper.ecapeVariable('$serviceName') +
357 ':enable';
361 358
362 var _response = _requester.request(_url, 359 var _response = _requester.request(_url, "POST",
363 "POST", 360 body: _body,
364 body: _body, 361 queryParams: _queryParams,
365 queryParams: _queryParams, 362 uploadOptions: _uploadOptions,
366 uploadOptions: _uploadOptions, 363 uploadMedia: _uploadMedia,
367 uploadMedia: _uploadMedia, 364 downloadOptions: _downloadOptions);
368 downloadOptions: _downloadOptions);
369 return _response.then((data) => new Operation.fromJson(data)); 365 return _response.then((data) => new Operation.fromJson(data));
370 } 366 }
371 367
372 /** 368 /// Generates and returns a report (errors, warnings and changes from
373 * Generates and returns a report (errors, warnings and changes from 369 /// existing configurations) associated with
374 * existing configurations) associated with 370 /// GenerateConfigReportRequest.new_value
375 * GenerateConfigReportRequest.new_value 371 ///
376 * 372 /// If GenerateConfigReportRequest.old_value is specified,
377 * If GenerateConfigReportRequest.old_value is specified, 373 /// GenerateConfigReportRequest will contain a single ChangeReport based on
378 * GenerateConfigReportRequest will contain a single ChangeReport based on the 374 /// the
379 * comparison between GenerateConfigReportRequest.new_value and 375 /// comparison between GenerateConfigReportRequest.new_value and
380 * GenerateConfigReportRequest.old_value. 376 /// GenerateConfigReportRequest.old_value.
381 * If GenerateConfigReportRequest.old_value is not specified, this method 377 /// If GenerateConfigReportRequest.old_value is not specified, this method
382 * will compare GenerateConfigReportRequest.new_value with the last pushed 378 /// will compare GenerateConfigReportRequest.new_value with the last pushed
383 * service configuration. 379 /// service configuration.
384 * 380 ///
385 * [request] - The metadata request object. 381 /// [request] - The metadata request object.
386 * 382 ///
387 * Request parameters: 383 /// Request parameters:
388 * 384 ///
389 * Completes with a [GenerateConfigReportResponse]. 385 /// Completes with a [GenerateConfigReportResponse].
390 * 386 ///
391 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 387 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
392 * error. 388 /// an error.
393 * 389 ///
394 * If the used [http_1.Client] completes with an error when making a REST 390 /// If the used [http_1.Client] completes with an error when making a REST
395 * call, this method will complete with the same error. 391 /// call, this method will complete with the same error.
396 */ 392 async.Future<GenerateConfigReportResponse> generateConfigReport(
397 async.Future<GenerateConfigReportResponse> generateConfigReport(GenerateConfig ReportRequest request) { 393 GenerateConfigReportRequest request) {
398 var _url = null; 394 var _url = null;
399 var _queryParams = new core.Map(); 395 var _queryParams = new core.Map();
400 var _uploadMedia = null; 396 var _uploadMedia = null;
401 var _uploadOptions = null; 397 var _uploadOptions = null;
402 var _downloadOptions = commons.DownloadOptions.Metadata; 398 var _downloadOptions = commons.DownloadOptions.Metadata;
403 var _body = null; 399 var _body = null;
404 400
405 if (request != null) { 401 if (request != null) {
406 _body = convert.JSON.encode((request).toJson()); 402 _body = convert.JSON.encode((request).toJson());
407 } 403 }
408 404
409 _url = 'v1/services:generateConfigReport'; 405 _url = 'v1/services:generateConfigReport';
410 406
411 var _response = _requester.request(_url, 407 var _response = _requester.request(_url, "POST",
412 "POST", 408 body: _body,
413 body: _body, 409 queryParams: _queryParams,
414 queryParams: _queryParams, 410 uploadOptions: _uploadOptions,
415 uploadOptions: _uploadOptions, 411 uploadMedia: _uploadMedia,
416 uploadMedia: _uploadMedia, 412 downloadOptions: _downloadOptions);
417 downloadOptions: _downloadOptions); 413 return _response
418 return _response.then((data) => new GenerateConfigReportResponse.fromJson(da ta)); 414 .then((data) => new GenerateConfigReportResponse.fromJson(data));
419 } 415 }
420 416
421 /** 417 /// Gets a managed service. Authentication is required unless the service is
422 * Gets a managed service. Authentication is required unless the service is 418 /// public.
423 * public. 419 ///
424 * 420 /// Request parameters:
425 * Request parameters: 421 ///
426 * 422 /// [serviceName] - The name of the service. See the `ServiceManager`
427 * [serviceName] - The name of the service. See the `ServiceManager` overview 423 /// overview for naming
428 * for naming 424 /// requirements. For example: `example.googleapis.com`.
429 * requirements. For example: `example.googleapis.com`. 425 ///
430 * 426 /// Completes with a [ManagedService].
431 * Completes with a [ManagedService]. 427 ///
432 * 428 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
433 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 429 /// an error.
434 * error. 430 ///
435 * 431 /// If the used [http_1.Client] completes with an error when making a REST
436 * If the used [http_1.Client] completes with an error when making a REST 432 /// call, this method will complete with the same error.
437 * call, this method will complete with the same error.
438 */
439 async.Future<ManagedService> get(core.String serviceName) { 433 async.Future<ManagedService> get(core.String serviceName) {
440 var _url = null; 434 var _url = null;
441 var _queryParams = new core.Map(); 435 var _queryParams = new core.Map();
442 var _uploadMedia = null; 436 var _uploadMedia = null;
443 var _uploadOptions = null; 437 var _uploadOptions = null;
444 var _downloadOptions = commons.DownloadOptions.Metadata; 438 var _downloadOptions = commons.DownloadOptions.Metadata;
445 var _body = null; 439 var _body = null;
446 440
447 if (serviceName == null) { 441 if (serviceName == null) {
448 throw new core.ArgumentError("Parameter serviceName is required."); 442 throw new core.ArgumentError("Parameter serviceName is required.");
449 } 443 }
450 444
451 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName'); 445 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName');
452 446
453 var _response = _requester.request(_url, 447 var _response = _requester.request(_url, "GET",
454 "GET", 448 body: _body,
455 body: _body, 449 queryParams: _queryParams,
456 queryParams: _queryParams, 450 uploadOptions: _uploadOptions,
457 uploadOptions: _uploadOptions, 451 uploadMedia: _uploadMedia,
458 uploadMedia: _uploadMedia, 452 downloadOptions: _downloadOptions);
459 downloadOptions: _downloadOptions);
460 return _response.then((data) => new ManagedService.fromJson(data)); 453 return _response.then((data) => new ManagedService.fromJson(data));
461 } 454 }
462 455
463 /** 456 /// Gets a service configuration (version) for a managed service.
464 * Gets a service configuration (version) for a managed service. 457 ///
465 * 458 /// Request parameters:
466 * Request parameters: 459 ///
467 * 460 /// [serviceName] - The name of the service. See the
468 * [serviceName] - The name of the service. See the 461 /// [overview](/service-management/overview)
469 * [overview](/service-management/overview) 462 /// for naming requirements. For example: `example.googleapis.com`.
470 * for naming requirements. For example: `example.googleapis.com`. 463 ///
471 * 464 /// [view] - Specifies which parts of the Service Config should be returned
472 * [configId] - The id of the service configuration resource. 465 /// in the
473 * 466 /// response.
474 * [view] - Specifies which parts of the Service Config should be returned in 467 /// Possible string values are:
475 * the 468 /// - "BASIC" : A BASIC.
476 * response. 469 /// - "FULL" : A FULL.
477 * Possible string values are: 470 ///
478 * - "BASIC" : A BASIC. 471 /// [configId] - The id of the service configuration resource.
479 * - "FULL" : A FULL. 472 ///
480 * 473 /// Completes with a [Service].
481 * Completes with a [Service]. 474 ///
482 * 475 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
483 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 476 /// an error.
484 * error. 477 ///
485 * 478 /// If the used [http_1.Client] completes with an error when making a REST
486 * If the used [http_1.Client] completes with an error when making a REST 479 /// call, this method will complete with the same error.
487 * call, this method will complete with the same error. 480 async.Future<Service> getConfig(core.String serviceName,
488 */ 481 {core.String view, core.String configId}) {
489 async.Future<Service> getConfig(core.String serviceName, {core.String configId , core.String view}) {
490 var _url = null; 482 var _url = null;
491 var _queryParams = new core.Map(); 483 var _queryParams = new core.Map();
492 var _uploadMedia = null; 484 var _uploadMedia = null;
493 var _uploadOptions = null; 485 var _uploadOptions = null;
494 var _downloadOptions = commons.DownloadOptions.Metadata; 486 var _downloadOptions = commons.DownloadOptions.Metadata;
495 var _body = null; 487 var _body = null;
496 488
497 if (serviceName == null) { 489 if (serviceName == null) {
498 throw new core.ArgumentError("Parameter serviceName is required."); 490 throw new core.ArgumentError("Parameter serviceName is required.");
499 } 491 }
492 if (view != null) {
493 _queryParams["view"] = [view];
494 }
500 if (configId != null) { 495 if (configId != null) {
501 _queryParams["configId"] = [configId]; 496 _queryParams["configId"] = [configId];
502 } 497 }
503 if (view != null) {
504 _queryParams["view"] = [view];
505 }
506 498
507 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/co nfig'; 499 _url = 'v1/services/' +
500 commons.Escaper.ecapeVariable('$serviceName') +
501 '/config';
508 502
509 var _response = _requester.request(_url, 503 var _response = _requester.request(_url, "GET",
510 "GET", 504 body: _body,
511 body: _body, 505 queryParams: _queryParams,
512 queryParams: _queryParams, 506 uploadOptions: _uploadOptions,
513 uploadOptions: _uploadOptions, 507 uploadMedia: _uploadMedia,
514 uploadMedia: _uploadMedia, 508 downloadOptions: _downloadOptions);
515 downloadOptions: _downloadOptions);
516 return _response.then((data) => new Service.fromJson(data)); 509 return _response.then((data) => new Service.fromJson(data));
517 } 510 }
518 511
519 /** 512 /// Gets the access control policy for a resource.
520 * Gets the access control policy for a resource. 513 /// Returns an empty policy if the resource exists and does not have a policy
521 * Returns an empty policy if the resource exists and does not have a policy 514 /// set.
522 * set. 515 ///
523 * 516 /// [request] - The metadata request object.
524 * [request] - The metadata request object. 517 ///
525 * 518 /// Request parameters:
526 * Request parameters: 519 ///
527 * 520 /// [resource] - REQUIRED: The resource for which the policy is being
528 * [resource] - REQUIRED: The resource for which the policy is being 521 /// requested.
529 * requested. 522 /// See the operation documentation for the appropriate value for this field.
530 * See the operation documentation for the appropriate value for this field. 523 /// Value must have pattern "^services/[^/]+$".
531 * Value must have pattern "^services/[^/]+$". 524 ///
532 * 525 /// Completes with a [Policy].
533 * Completes with a [Policy]. 526 ///
534 * 527 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
535 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 528 /// an error.
536 * error. 529 ///
537 * 530 /// If the used [http_1.Client] completes with an error when making a REST
538 * If the used [http_1.Client] completes with an error when making a REST 531 /// call, this method will complete with the same error.
539 * call, this method will complete with the same error. 532 async.Future<Policy> getIamPolicy(
540 */ 533 GetIamPolicyRequest request, core.String resource) {
541 async.Future<Policy> getIamPolicy(GetIamPolicyRequest request, core.String res ource) {
542 var _url = null; 534 var _url = null;
543 var _queryParams = new core.Map(); 535 var _queryParams = new core.Map();
544 var _uploadMedia = null; 536 var _uploadMedia = null;
545 var _uploadOptions = null; 537 var _uploadOptions = null;
546 var _downloadOptions = commons.DownloadOptions.Metadata; 538 var _downloadOptions = commons.DownloadOptions.Metadata;
547 var _body = null; 539 var _body = null;
548 540
549 if (request != null) { 541 if (request != null) {
550 _body = convert.JSON.encode((request).toJson()); 542 _body = convert.JSON.encode((request).toJson());
551 } 543 }
552 if (resource == null) { 544 if (resource == null) {
553 throw new core.ArgumentError("Parameter resource is required."); 545 throw new core.ArgumentError("Parameter resource is required.");
554 } 546 }
555 547
556 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIam Policy'; 548 _url = 'v1/' +
549 commons.Escaper.ecapeVariableReserved('$resource') +
550 ':getIamPolicy';
557 551
558 var _response = _requester.request(_url, 552 var _response = _requester.request(_url, "POST",
559 "POST", 553 body: _body,
560 body: _body, 554 queryParams: _queryParams,
561 queryParams: _queryParams, 555 uploadOptions: _uploadOptions,
562 uploadOptions: _uploadOptions, 556 uploadMedia: _uploadMedia,
563 uploadMedia: _uploadMedia, 557 downloadOptions: _downloadOptions);
564 downloadOptions: _downloadOptions);
565 return _response.then((data) => new Policy.fromJson(data)); 558 return _response.then((data) => new Policy.fromJson(data));
566 } 559 }
567 560
568 /** 561 /// Lists managed services.
569 * Lists managed services. 562 ///
570 * 563 /// Returns all public services. For authenticated users, also returns all
571 * Returns all public services. For authenticated users, also returns all 564 /// services the calling user has "servicemanagement.services.get" permission
572 * services the calling user has "servicemanagement.services.get" permission 565 /// for.
573 * for. 566 ///
574 * 567 /// **BETA:** If the caller specifies the `consumer_id`, it returns only the
575 * **BETA:** If the caller specifies the `consumer_id`, it returns only the 568 /// services enabled on the consumer. The `consumer_id` must have the format
576 * services enabled on the consumer. The `consumer_id` must have the format 569 /// of "project:{PROJECT-ID}".
577 * of "project:{PROJECT-ID}". 570 ///
578 * 571 /// Request parameters:
579 * Request parameters: 572 ///
580 * 573 /// [producerProjectId] - Include services produced by the specified project.
581 * [pageSize] - Requested size of the next page of data. 574 ///
582 * 575 /// [consumerId] - Include services consumed by the specified consumer.
583 * [producerProjectId] - Include services produced by the specified project. 576 ///
584 * 577 /// The Google Service Management implementation accepts the following
585 * [consumerId] - Include services consumed by the specified consumer. 578 /// forms:
586 * 579 /// - project:<project_id>
587 * The Google Service Management implementation accepts the following 580 ///
588 * forms: 581 /// [pageToken] - Token identifying which result to start with; returned by a
589 * - project:<project_id> 582 /// previous list
590 * 583 /// call.
591 * [pageToken] - Token identifying which result to start with; returned by a 584 ///
592 * previous list 585 /// [pageSize] - Requested size of the next page of data.
593 * call. 586 ///
594 * 587 /// Completes with a [ListServicesResponse].
595 * Completes with a [ListServicesResponse]. 588 ///
596 * 589 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
597 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 590 /// an error.
598 * error. 591 ///
599 * 592 /// If the used [http_1.Client] completes with an error when making a REST
600 * If the used [http_1.Client] completes with an error when making a REST 593 /// call, this method will complete with the same error.
601 * call, this method will complete with the same error. 594 async.Future<ListServicesResponse> list(
602 */ 595 {core.String producerProjectId,
603 async.Future<ListServicesResponse> list({core.int pageSize, core.String produc erProjectId, core.String consumerId, core.String pageToken}) { 596 core.String consumerId,
597 core.String pageToken,
598 core.int pageSize}) {
604 var _url = null; 599 var _url = null;
605 var _queryParams = new core.Map(); 600 var _queryParams = new core.Map();
606 var _uploadMedia = null; 601 var _uploadMedia = null;
607 var _uploadOptions = null; 602 var _uploadOptions = null;
608 var _downloadOptions = commons.DownloadOptions.Metadata; 603 var _downloadOptions = commons.DownloadOptions.Metadata;
609 var _body = null; 604 var _body = null;
610 605
611 if (pageSize != null) {
612 _queryParams["pageSize"] = ["${pageSize}"];
613 }
614 if (producerProjectId != null) { 606 if (producerProjectId != null) {
615 _queryParams["producerProjectId"] = [producerProjectId]; 607 _queryParams["producerProjectId"] = [producerProjectId];
616 } 608 }
617 if (consumerId != null) { 609 if (consumerId != null) {
618 _queryParams["consumerId"] = [consumerId]; 610 _queryParams["consumerId"] = [consumerId];
619 } 611 }
620 if (pageToken != null) { 612 if (pageToken != null) {
621 _queryParams["pageToken"] = [pageToken]; 613 _queryParams["pageToken"] = [pageToken];
622 } 614 }
615 if (pageSize != null) {
616 _queryParams["pageSize"] = ["${pageSize}"];
617 }
623 618
624 _url = 'v1/services'; 619 _url = 'v1/services';
625 620
626 var _response = _requester.request(_url, 621 var _response = _requester.request(_url, "GET",
627 "GET", 622 body: _body,
628 body: _body, 623 queryParams: _queryParams,
629 queryParams: _queryParams, 624 uploadOptions: _uploadOptions,
630 uploadOptions: _uploadOptions, 625 uploadMedia: _uploadMedia,
631 uploadMedia: _uploadMedia, 626 downloadOptions: _downloadOptions);
632 downloadOptions: _downloadOptions);
633 return _response.then((data) => new ListServicesResponse.fromJson(data)); 627 return _response.then((data) => new ListServicesResponse.fromJson(data));
634 } 628 }
635 629
636 /** 630 /// Sets the access control policy on the specified resource. Replaces any
637 * Sets the access control policy on the specified resource. Replaces any 631 /// existing policy.
638 * existing policy. 632 ///
639 * 633 /// [request] - The metadata request object.
640 * [request] - The metadata request object. 634 ///
641 * 635 /// Request parameters:
642 * Request parameters: 636 ///
643 * 637 /// [resource] - REQUIRED: The resource for which the policy is being
644 * [resource] - REQUIRED: The resource for which the policy is being 638 /// specified.
645 * specified. 639 /// See the operation documentation for the appropriate value for this field.
646 * See the operation documentation for the appropriate value for this field. 640 /// Value must have pattern "^services/[^/]+$".
647 * Value must have pattern "^services/[^/]+$". 641 ///
648 * 642 /// Completes with a [Policy].
649 * Completes with a [Policy]. 643 ///
650 * 644 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
651 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 645 /// an error.
652 * error. 646 ///
653 * 647 /// If the used [http_1.Client] completes with an error when making a REST
654 * If the used [http_1.Client] completes with an error when making a REST 648 /// call, this method will complete with the same error.
655 * call, this method will complete with the same error. 649 async.Future<Policy> setIamPolicy(
656 */ 650 SetIamPolicyRequest request, core.String resource) {
657 async.Future<Policy> setIamPolicy(SetIamPolicyRequest request, core.String res ource) {
658 var _url = null; 651 var _url = null;
659 var _queryParams = new core.Map(); 652 var _queryParams = new core.Map();
660 var _uploadMedia = null; 653 var _uploadMedia = null;
661 var _uploadOptions = null; 654 var _uploadOptions = null;
662 var _downloadOptions = commons.DownloadOptions.Metadata; 655 var _downloadOptions = commons.DownloadOptions.Metadata;
663 var _body = null; 656 var _body = null;
664 657
665 if (request != null) { 658 if (request != null) {
666 _body = convert.JSON.encode((request).toJson()); 659 _body = convert.JSON.encode((request).toJson());
667 } 660 }
668 if (resource == null) { 661 if (resource == null) {
669 throw new core.ArgumentError("Parameter resource is required."); 662 throw new core.ArgumentError("Parameter resource is required.");
670 } 663 }
671 664
672 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIam Policy'; 665 _url = 'v1/' +
666 commons.Escaper.ecapeVariableReserved('$resource') +
667 ':setIamPolicy';
673 668
674 var _response = _requester.request(_url, 669 var _response = _requester.request(_url, "POST",
675 "POST", 670 body: _body,
676 body: _body, 671 queryParams: _queryParams,
677 queryParams: _queryParams, 672 uploadOptions: _uploadOptions,
678 uploadOptions: _uploadOptions, 673 uploadMedia: _uploadMedia,
679 uploadMedia: _uploadMedia, 674 downloadOptions: _downloadOptions);
680 downloadOptions: _downloadOptions);
681 return _response.then((data) => new Policy.fromJson(data)); 675 return _response.then((data) => new Policy.fromJson(data));
682 } 676 }
683 677
684 /** 678 /// Returns permissions that a caller has on the specified resource.
685 * Returns permissions that a caller has on the specified resource. 679 /// If the resource does not exist, this will return an empty set of
686 * If the resource does not exist, this will return an empty set of 680 /// permissions, not a NOT_FOUND error.
687 * permissions, not a NOT_FOUND error. 681 ///
688 * 682 /// Note: This operation is designed to be used for building permission-aware
689 * Note: This operation is designed to be used for building permission-aware 683 /// UIs and command-line tools, not for authorization checking. This
690 * UIs and command-line tools, not for authorization checking. This operation 684 /// operation
691 * may "fail open" without warning. 685 /// may "fail open" without warning.
692 * 686 ///
693 * [request] - The metadata request object. 687 /// [request] - The metadata request object.
694 * 688 ///
695 * Request parameters: 689 /// Request parameters:
696 * 690 ///
697 * [resource] - REQUIRED: The resource for which the policy detail is being 691 /// [resource] - REQUIRED: The resource for which the policy detail is being
698 * requested. 692 /// requested.
699 * See the operation documentation for the appropriate value for this field. 693 /// See the operation documentation for the appropriate value for this field.
700 * Value must have pattern "^services/[^/]+$". 694 /// Value must have pattern "^services/[^/]+$".
701 * 695 ///
702 * Completes with a [TestIamPermissionsResponse]. 696 /// Completes with a [TestIamPermissionsResponse].
703 * 697 ///
704 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 698 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
705 * error. 699 /// an error.
706 * 700 ///
707 * If the used [http_1.Client] completes with an error when making a REST 701 /// If the used [http_1.Client] completes with an error when making a REST
708 * call, this method will complete with the same error. 702 /// call, this method will complete with the same error.
709 */ 703 async.Future<TestIamPermissionsResponse> testIamPermissions(
710 async.Future<TestIamPermissionsResponse> testIamPermissions(TestIamPermissions Request request, core.String resource) { 704 TestIamPermissionsRequest request, core.String resource) {
711 var _url = null; 705 var _url = null;
712 var _queryParams = new core.Map(); 706 var _queryParams = new core.Map();
713 var _uploadMedia = null; 707 var _uploadMedia = null;
714 var _uploadOptions = null; 708 var _uploadOptions = null;
715 var _downloadOptions = commons.DownloadOptions.Metadata; 709 var _downloadOptions = commons.DownloadOptions.Metadata;
716 var _body = null; 710 var _body = null;
717 711
718 if (request != null) { 712 if (request != null) {
719 _body = convert.JSON.encode((request).toJson()); 713 _body = convert.JSON.encode((request).toJson());
720 } 714 }
721 if (resource == null) { 715 if (resource == null) {
722 throw new core.ArgumentError("Parameter resource is required."); 716 throw new core.ArgumentError("Parameter resource is required.");
723 } 717 }
724 718
725 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIa mPermissions'; 719 _url = 'v1/' +
720 commons.Escaper.ecapeVariableReserved('$resource') +
721 ':testIamPermissions';
726 722
727 var _response = _requester.request(_url, 723 var _response = _requester.request(_url, "POST",
728 "POST", 724 body: _body,
729 body: _body, 725 queryParams: _queryParams,
730 queryParams: _queryParams, 726 uploadOptions: _uploadOptions,
731 uploadOptions: _uploadOptions, 727 uploadMedia: _uploadMedia,
732 uploadMedia: _uploadMedia, 728 downloadOptions: _downloadOptions);
733 downloadOptions: _downloadOptions); 729 return _response
734 return _response.then((data) => new TestIamPermissionsResponse.fromJson(data )); 730 .then((data) => new TestIamPermissionsResponse.fromJson(data));
735 } 731 }
736 732
737 /** 733 /// Revives a previously deleted managed service. The method restores the
738 * Revives a previously deleted managed service. The method restores the 734 /// service using the configuration at the time the service was deleted.
739 * service using the configuration at the time the service was deleted. 735 /// The target service must exist and must have been deleted within the
740 * The target service must exist and must have been deleted within the 736 /// last 30 days.
741 * last 30 days. 737 ///
742 * 738 /// Operation<response: UndeleteServiceResponse>
743 * Operation<response: UndeleteServiceResponse> 739 ///
744 * 740 /// Request parameters:
745 * Request parameters: 741 ///
746 * 742 /// [serviceName] - The name of the service. See the
747 * [serviceName] - The name of the service. See the 743 /// [overview](/service-management/overview)
748 * [overview](/service-management/overview) 744 /// for naming requirements. For example: `example.googleapis.com`.
749 * for naming requirements. For example: `example.googleapis.com`. 745 ///
750 * 746 /// Completes with a [Operation].
751 * Completes with a [Operation]. 747 ///
752 * 748 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
753 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 749 /// an error.
754 * error. 750 ///
755 * 751 /// If the used [http_1.Client] completes with an error when making a REST
756 * If the used [http_1.Client] completes with an error when making a REST 752 /// call, this method will complete with the same error.
757 * call, this method will complete with the same error.
758 */
759 async.Future<Operation> undelete(core.String serviceName) { 753 async.Future<Operation> undelete(core.String serviceName) {
760 var _url = null; 754 var _url = null;
761 var _queryParams = new core.Map(); 755 var _queryParams = new core.Map();
762 var _uploadMedia = null; 756 var _uploadMedia = null;
763 var _uploadOptions = null; 757 var _uploadOptions = null;
764 var _downloadOptions = commons.DownloadOptions.Metadata; 758 var _downloadOptions = commons.DownloadOptions.Metadata;
765 var _body = null; 759 var _body = null;
766 760
767 if (serviceName == null) { 761 if (serviceName == null) {
768 throw new core.ArgumentError("Parameter serviceName is required."); 762 throw new core.ArgumentError("Parameter serviceName is required.");
769 } 763 }
770 764
771 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + ':un delete'; 765 _url = 'v1/services/' +
766 commons.Escaper.ecapeVariable('$serviceName') +
767 ':undelete';
772 768
773 var _response = _requester.request(_url, 769 var _response = _requester.request(_url, "POST",
774 "POST", 770 body: _body,
775 body: _body, 771 queryParams: _queryParams,
776 queryParams: _queryParams, 772 uploadOptions: _uploadOptions,
777 uploadOptions: _uploadOptions, 773 uploadMedia: _uploadMedia,
778 uploadMedia: _uploadMedia, 774 downloadOptions: _downloadOptions);
779 downloadOptions: _downloadOptions);
780 return _response.then((data) => new Operation.fromJson(data)); 775 return _response.then((data) => new Operation.fromJson(data));
781 } 776 }
782
783 } 777 }
784 778
785
786 class ServicesConfigsResourceApi { 779 class ServicesConfigsResourceApi {
787 final commons.ApiRequester _requester; 780 final commons.ApiRequester _requester;
788 781
789 ServicesConfigsResourceApi(commons.ApiRequester client) : 782 ServicesConfigsResourceApi(commons.ApiRequester client) : _requester = client;
790 _requester = client;
791 783
792 /** 784 /// Creates a new service configuration (version) for a managed service.
793 * Creates a new service configuration (version) for a managed service. 785 /// This method only stores the service configuration. To roll out the
794 * This method only stores the service configuration. To roll out the service 786 /// service
795 * configuration to backend systems please call 787 /// configuration to backend systems please call
796 * CreateServiceRollout. 788 /// CreateServiceRollout.
797 * 789 ///
798 * [request] - The metadata request object. 790 /// [request] - The metadata request object.
799 * 791 ///
800 * Request parameters: 792 /// Request parameters:
801 * 793 ///
802 * [serviceName] - The name of the service. See the 794 /// [serviceName] - The name of the service. See the
803 * [overview](/service-management/overview) 795 /// [overview](/service-management/overview)
804 * for naming requirements. For example: `example.googleapis.com`. 796 /// for naming requirements. For example: `example.googleapis.com`.
805 * 797 ///
806 * Completes with a [Service]. 798 /// Completes with a [Service].
807 * 799 ///
808 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 800 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
809 * error. 801 /// an error.
810 * 802 ///
811 * If the used [http_1.Client] completes with an error when making a REST 803 /// If the used [http_1.Client] completes with an error when making a REST
812 * call, this method will complete with the same error. 804 /// call, this method will complete with the same error.
813 */
814 async.Future<Service> create(Service request, core.String serviceName) { 805 async.Future<Service> create(Service request, core.String serviceName) {
815 var _url = null; 806 var _url = null;
816 var _queryParams = new core.Map(); 807 var _queryParams = new core.Map();
817 var _uploadMedia = null; 808 var _uploadMedia = null;
818 var _uploadOptions = null; 809 var _uploadOptions = null;
819 var _downloadOptions = commons.DownloadOptions.Metadata; 810 var _downloadOptions = commons.DownloadOptions.Metadata;
820 var _body = null; 811 var _body = null;
821 812
822 if (request != null) { 813 if (request != null) {
823 _body = convert.JSON.encode((request).toJson()); 814 _body = convert.JSON.encode((request).toJson());
824 } 815 }
825 if (serviceName == null) { 816 if (serviceName == null) {
826 throw new core.ArgumentError("Parameter serviceName is required."); 817 throw new core.ArgumentError("Parameter serviceName is required.");
827 } 818 }
828 819
829 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/co nfigs'; 820 _url = 'v1/services/' +
821 commons.Escaper.ecapeVariable('$serviceName') +
822 '/configs';
830 823
831 var _response = _requester.request(_url, 824 var _response = _requester.request(_url, "POST",
832 "POST", 825 body: _body,
833 body: _body, 826 queryParams: _queryParams,
834 queryParams: _queryParams, 827 uploadOptions: _uploadOptions,
835 uploadOptions: _uploadOptions, 828 uploadMedia: _uploadMedia,
836 uploadMedia: _uploadMedia, 829 downloadOptions: _downloadOptions);
837 downloadOptions: _downloadOptions);
838 return _response.then((data) => new Service.fromJson(data)); 830 return _response.then((data) => new Service.fromJson(data));
839 } 831 }
840 832
841 /** 833 /// Gets a service configuration (version) for a managed service.
842 * Gets a service configuration (version) for a managed service. 834 ///
843 * 835 /// Request parameters:
844 * Request parameters: 836 ///
845 * 837 /// [serviceName] - The name of the service. See the
846 * [serviceName] - The name of the service. See the 838 /// [overview](/service-management/overview)
847 * [overview](/service-management/overview) 839 /// for naming requirements. For example: `example.googleapis.com`.
848 * for naming requirements. For example: `example.googleapis.com`. 840 ///
849 * 841 /// [configId] - The id of the service configuration resource.
850 * [configId] - The id of the service configuration resource. 842 ///
851 * 843 /// [view] - Specifies which parts of the Service Config should be returned
852 * [view] - Specifies which parts of the Service Config should be returned in 844 /// in the
853 * the 845 /// response.
854 * response. 846 /// Possible string values are:
855 * Possible string values are: 847 /// - "BASIC" : A BASIC.
856 * - "BASIC" : A BASIC. 848 /// - "FULL" : A FULL.
857 * - "FULL" : A FULL. 849 ///
858 * 850 /// Completes with a [Service].
859 * Completes with a [Service]. 851 ///
860 * 852 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
861 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 853 /// an error.
862 * error. 854 ///
863 * 855 /// If the used [http_1.Client] completes with an error when making a REST
864 * If the used [http_1.Client] completes with an error when making a REST 856 /// call, this method will complete with the same error.
865 * call, this method will complete with the same error. 857 async.Future<Service> get(core.String serviceName, core.String configId,
866 */ 858 {core.String view}) {
867 async.Future<Service> get(core.String serviceName, core.String configId, {core .String view}) {
868 var _url = null; 859 var _url = null;
869 var _queryParams = new core.Map(); 860 var _queryParams = new core.Map();
870 var _uploadMedia = null; 861 var _uploadMedia = null;
871 var _uploadOptions = null; 862 var _uploadOptions = null;
872 var _downloadOptions = commons.DownloadOptions.Metadata; 863 var _downloadOptions = commons.DownloadOptions.Metadata;
873 var _body = null; 864 var _body = null;
874 865
875 if (serviceName == null) { 866 if (serviceName == null) {
876 throw new core.ArgumentError("Parameter serviceName is required."); 867 throw new core.ArgumentError("Parameter serviceName is required.");
877 } 868 }
878 if (configId == null) { 869 if (configId == null) {
879 throw new core.ArgumentError("Parameter configId is required."); 870 throw new core.ArgumentError("Parameter configId is required.");
880 } 871 }
881 if (view != null) { 872 if (view != null) {
882 _queryParams["view"] = [view]; 873 _queryParams["view"] = [view];
883 } 874 }
884 875
885 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/co nfigs/' + commons.Escaper.ecapeVariable('$configId'); 876 _url = 'v1/services/' +
877 commons.Escaper.ecapeVariable('$serviceName') +
878 '/configs/' +
879 commons.Escaper.ecapeVariable('$configId');
886 880
887 var _response = _requester.request(_url, 881 var _response = _requester.request(_url, "GET",
888 "GET", 882 body: _body,
889 body: _body, 883 queryParams: _queryParams,
890 queryParams: _queryParams, 884 uploadOptions: _uploadOptions,
891 uploadOptions: _uploadOptions, 885 uploadMedia: _uploadMedia,
892 uploadMedia: _uploadMedia, 886 downloadOptions: _downloadOptions);
893 downloadOptions: _downloadOptions);
894 return _response.then((data) => new Service.fromJson(data)); 887 return _response.then((data) => new Service.fromJson(data));
895 } 888 }
896 889
897 /** 890 /// Lists the history of the service configuration for a managed service,
898 * Lists the history of the service configuration for a managed service, 891 /// from the newest to the oldest.
899 * from the newest to the oldest. 892 ///
900 * 893 /// Request parameters:
901 * Request parameters: 894 ///
902 * 895 /// [serviceName] - The name of the service. See the
903 * [serviceName] - The name of the service. See the 896 /// [overview](/service-management/overview)
904 * [overview](/service-management/overview) 897 /// for naming requirements. For example: `example.googleapis.com`.
905 * for naming requirements. For example: `example.googleapis.com`. 898 ///
906 * 899 /// [pageToken] - The token of the page to retrieve.
907 * [pageToken] - The token of the page to retrieve. 900 ///
908 * 901 /// [pageSize] - The max number of items to include in the response list.
909 * [pageSize] - The max number of items to include in the response list. 902 ///
910 * 903 /// Completes with a [ListServiceConfigsResponse].
911 * Completes with a [ListServiceConfigsResponse]. 904 ///
912 * 905 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
913 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 906 /// an error.
914 * error. 907 ///
915 * 908 /// If the used [http_1.Client] completes with an error when making a REST
916 * If the used [http_1.Client] completes with an error when making a REST 909 /// call, this method will complete with the same error.
917 * call, this method will complete with the same error. 910 async.Future<ListServiceConfigsResponse> list(core.String serviceName,
918 */ 911 {core.String pageToken, core.int pageSize}) {
919 async.Future<ListServiceConfigsResponse> list(core.String serviceName, {core.S tring pageToken, core.int pageSize}) {
920 var _url = null; 912 var _url = null;
921 var _queryParams = new core.Map(); 913 var _queryParams = new core.Map();
922 var _uploadMedia = null; 914 var _uploadMedia = null;
923 var _uploadOptions = null; 915 var _uploadOptions = null;
924 var _downloadOptions = commons.DownloadOptions.Metadata; 916 var _downloadOptions = commons.DownloadOptions.Metadata;
925 var _body = null; 917 var _body = null;
926 918
927 if (serviceName == null) { 919 if (serviceName == null) {
928 throw new core.ArgumentError("Parameter serviceName is required."); 920 throw new core.ArgumentError("Parameter serviceName is required.");
929 } 921 }
930 if (pageToken != null) { 922 if (pageToken != null) {
931 _queryParams["pageToken"] = [pageToken]; 923 _queryParams["pageToken"] = [pageToken];
932 } 924 }
933 if (pageSize != null) { 925 if (pageSize != null) {
934 _queryParams["pageSize"] = ["${pageSize}"]; 926 _queryParams["pageSize"] = ["${pageSize}"];
935 } 927 }
936 928
937 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/co nfigs'; 929 _url = 'v1/services/' +
930 commons.Escaper.ecapeVariable('$serviceName') +
931 '/configs';
938 932
939 var _response = _requester.request(_url, 933 var _response = _requester.request(_url, "GET",
940 "GET", 934 body: _body,
941 body: _body, 935 queryParams: _queryParams,
942 queryParams: _queryParams, 936 uploadOptions: _uploadOptions,
943 uploadOptions: _uploadOptions, 937 uploadMedia: _uploadMedia,
944 uploadMedia: _uploadMedia, 938 downloadOptions: _downloadOptions);
945 downloadOptions: _downloadOptions); 939 return _response
946 return _response.then((data) => new ListServiceConfigsResponse.fromJson(data )); 940 .then((data) => new ListServiceConfigsResponse.fromJson(data));
947 } 941 }
948 942
949 /** 943 /// Creates a new service configuration (version) for a managed service based
950 * Creates a new service configuration (version) for a managed service based 944 /// on
951 * on 945 /// user-supplied configuration source files (for example: OpenAPI
952 * user-supplied configuration source files (for example: OpenAPI 946 /// Specification). This method stores the source configurations as well as
953 * Specification). This method stores the source configurations as well as the 947 /// the
954 * generated service configuration. To rollout the service configuration to 948 /// generated service configuration. To rollout the service configuration to
955 * other services, 949 /// other services,
956 * please call CreateServiceRollout. 950 /// please call CreateServiceRollout.
957 * 951 ///
958 * Operation<response: SubmitConfigSourceResponse> 952 /// Operation<response: SubmitConfigSourceResponse>
959 * 953 ///
960 * [request] - The metadata request object. 954 /// [request] - The metadata request object.
961 * 955 ///
962 * Request parameters: 956 /// Request parameters:
963 * 957 ///
964 * [serviceName] - The name of the service. See the 958 /// [serviceName] - The name of the service. See the
965 * [overview](/service-management/overview) 959 /// [overview](/service-management/overview)
966 * for naming requirements. For example: `example.googleapis.com`. 960 /// for naming requirements. For example: `example.googleapis.com`.
967 * 961 ///
968 * Completes with a [Operation]. 962 /// Completes with a [Operation].
969 * 963 ///
970 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 964 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
971 * error. 965 /// an error.
972 * 966 ///
973 * If the used [http_1.Client] completes with an error when making a REST 967 /// If the used [http_1.Client] completes with an error when making a REST
974 * call, this method will complete with the same error. 968 /// call, this method will complete with the same error.
975 */ 969 async.Future<Operation> submit(
976 async.Future<Operation> submit(SubmitConfigSourceRequest request, core.String serviceName) { 970 SubmitConfigSourceRequest request, core.String serviceName) {
977 var _url = null; 971 var _url = null;
978 var _queryParams = new core.Map(); 972 var _queryParams = new core.Map();
979 var _uploadMedia = null; 973 var _uploadMedia = null;
980 var _uploadOptions = null; 974 var _uploadOptions = null;
981 var _downloadOptions = commons.DownloadOptions.Metadata; 975 var _downloadOptions = commons.DownloadOptions.Metadata;
982 var _body = null; 976 var _body = null;
983 977
984 if (request != null) { 978 if (request != null) {
985 _body = convert.JSON.encode((request).toJson()); 979 _body = convert.JSON.encode((request).toJson());
986 } 980 }
987 if (serviceName == null) { 981 if (serviceName == null) {
988 throw new core.ArgumentError("Parameter serviceName is required."); 982 throw new core.ArgumentError("Parameter serviceName is required.");
989 } 983 }
990 984
991 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/co nfigs:submit'; 985 _url = 'v1/services/' +
986 commons.Escaper.ecapeVariable('$serviceName') +
987 '/configs:submit';
992 988
993 var _response = _requester.request(_url, 989 var _response = _requester.request(_url, "POST",
994 "POST", 990 body: _body,
995 body: _body, 991 queryParams: _queryParams,
996 queryParams: _queryParams, 992 uploadOptions: _uploadOptions,
997 uploadOptions: _uploadOptions, 993 uploadMedia: _uploadMedia,
998 uploadMedia: _uploadMedia, 994 downloadOptions: _downloadOptions);
999 downloadOptions: _downloadOptions);
1000 return _response.then((data) => new Operation.fromJson(data)); 995 return _response.then((data) => new Operation.fromJson(data));
1001 } 996 }
1002
1003 } 997 }
1004 998
1005
1006 class ServicesConsumersResourceApi { 999 class ServicesConsumersResourceApi {
1007 final commons.ApiRequester _requester; 1000 final commons.ApiRequester _requester;
1008 1001
1009 ServicesConsumersResourceApi(commons.ApiRequester client) : 1002 ServicesConsumersResourceApi(commons.ApiRequester client)
1010 _requester = client; 1003 : _requester = client;
1011 1004
1012 /** 1005 /// Gets the access control policy for a resource.
1013 * Gets the access control policy for a resource. 1006 /// Returns an empty policy if the resource exists and does not have a policy
1014 * Returns an empty policy if the resource exists and does not have a policy 1007 /// set.
1015 * set. 1008 ///
1016 * 1009 /// [request] - The metadata request object.
1017 * [request] - The metadata request object. 1010 ///
1018 * 1011 /// Request parameters:
1019 * Request parameters: 1012 ///
1020 * 1013 /// [resource] - REQUIRED: The resource for which the policy is being
1021 * [resource] - REQUIRED: The resource for which the policy is being 1014 /// requested.
1022 * requested. 1015 /// See the operation documentation for the appropriate value for this field.
1023 * See the operation documentation for the appropriate value for this field. 1016 /// Value must have pattern "^services/[^/]+/consumers/[^/]+$".
1024 * Value must have pattern "^services/[^/]+/consumers/[^/]+$". 1017 ///
1025 * 1018 /// Completes with a [Policy].
1026 * Completes with a [Policy]. 1019 ///
1027 * 1020 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1028 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1021 /// an error.
1029 * error. 1022 ///
1030 * 1023 /// If the used [http_1.Client] completes with an error when making a REST
1031 * If the used [http_1.Client] completes with an error when making a REST 1024 /// call, this method will complete with the same error.
1032 * call, this method will complete with the same error. 1025 async.Future<Policy> getIamPolicy(
1033 */ 1026 GetIamPolicyRequest request, core.String resource) {
1034 async.Future<Policy> getIamPolicy(GetIamPolicyRequest request, core.String res ource) {
1035 var _url = null; 1027 var _url = null;
1036 var _queryParams = new core.Map(); 1028 var _queryParams = new core.Map();
1037 var _uploadMedia = null; 1029 var _uploadMedia = null;
1038 var _uploadOptions = null; 1030 var _uploadOptions = null;
1039 var _downloadOptions = commons.DownloadOptions.Metadata; 1031 var _downloadOptions = commons.DownloadOptions.Metadata;
1040 var _body = null; 1032 var _body = null;
1041 1033
1042 if (request != null) { 1034 if (request != null) {
1043 _body = convert.JSON.encode((request).toJson()); 1035 _body = convert.JSON.encode((request).toJson());
1044 } 1036 }
1045 if (resource == null) { 1037 if (resource == null) {
1046 throw new core.ArgumentError("Parameter resource is required."); 1038 throw new core.ArgumentError("Parameter resource is required.");
1047 } 1039 }
1048 1040
1049 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIam Policy'; 1041 _url = 'v1/' +
1042 commons.Escaper.ecapeVariableReserved('$resource') +
1043 ':getIamPolicy';
1050 1044
1051 var _response = _requester.request(_url, 1045 var _response = _requester.request(_url, "POST",
1052 "POST", 1046 body: _body,
1053 body: _body, 1047 queryParams: _queryParams,
1054 queryParams: _queryParams, 1048 uploadOptions: _uploadOptions,
1055 uploadOptions: _uploadOptions, 1049 uploadMedia: _uploadMedia,
1056 uploadMedia: _uploadMedia, 1050 downloadOptions: _downloadOptions);
1057 downloadOptions: _downloadOptions);
1058 return _response.then((data) => new Policy.fromJson(data)); 1051 return _response.then((data) => new Policy.fromJson(data));
1059 } 1052 }
1060 1053
1061 /** 1054 /// Sets the access control policy on the specified resource. Replaces any
1062 * Sets the access control policy on the specified resource. Replaces any 1055 /// existing policy.
1063 * existing policy. 1056 ///
1064 * 1057 /// [request] - The metadata request object.
1065 * [request] - The metadata request object. 1058 ///
1066 * 1059 /// Request parameters:
1067 * Request parameters: 1060 ///
1068 * 1061 /// [resource] - REQUIRED: The resource for which the policy is being
1069 * [resource] - REQUIRED: The resource for which the policy is being 1062 /// specified.
1070 * specified. 1063 /// See the operation documentation for the appropriate value for this field.
1071 * See the operation documentation for the appropriate value for this field. 1064 /// Value must have pattern "^services/[^/]+/consumers/[^/]+$".
1072 * Value must have pattern "^services/[^/]+/consumers/[^/]+$". 1065 ///
1073 * 1066 /// Completes with a [Policy].
1074 * Completes with a [Policy]. 1067 ///
1075 * 1068 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1076 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1069 /// an error.
1077 * error. 1070 ///
1078 * 1071 /// If the used [http_1.Client] completes with an error when making a REST
1079 * If the used [http_1.Client] completes with an error when making a REST 1072 /// call, this method will complete with the same error.
1080 * call, this method will complete with the same error. 1073 async.Future<Policy> setIamPolicy(
1081 */ 1074 SetIamPolicyRequest request, core.String resource) {
1082 async.Future<Policy> setIamPolicy(SetIamPolicyRequest request, core.String res ource) {
1083 var _url = null; 1075 var _url = null;
1084 var _queryParams = new core.Map(); 1076 var _queryParams = new core.Map();
1085 var _uploadMedia = null; 1077 var _uploadMedia = null;
1086 var _uploadOptions = null; 1078 var _uploadOptions = null;
1087 var _downloadOptions = commons.DownloadOptions.Metadata; 1079 var _downloadOptions = commons.DownloadOptions.Metadata;
1088 var _body = null; 1080 var _body = null;
1089 1081
1090 if (request != null) { 1082 if (request != null) {
1091 _body = convert.JSON.encode((request).toJson()); 1083 _body = convert.JSON.encode((request).toJson());
1092 } 1084 }
1093 if (resource == null) { 1085 if (resource == null) {
1094 throw new core.ArgumentError("Parameter resource is required."); 1086 throw new core.ArgumentError("Parameter resource is required.");
1095 } 1087 }
1096 1088
1097 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIam Policy'; 1089 _url = 'v1/' +
1090 commons.Escaper.ecapeVariableReserved('$resource') +
1091 ':setIamPolicy';
1098 1092
1099 var _response = _requester.request(_url, 1093 var _response = _requester.request(_url, "POST",
1100 "POST", 1094 body: _body,
1101 body: _body, 1095 queryParams: _queryParams,
1102 queryParams: _queryParams, 1096 uploadOptions: _uploadOptions,
1103 uploadOptions: _uploadOptions, 1097 uploadMedia: _uploadMedia,
1104 uploadMedia: _uploadMedia, 1098 downloadOptions: _downloadOptions);
1105 downloadOptions: _downloadOptions);
1106 return _response.then((data) => new Policy.fromJson(data)); 1099 return _response.then((data) => new Policy.fromJson(data));
1107 } 1100 }
1108 1101
1109 /** 1102 /// Returns permissions that a caller has on the specified resource.
1110 * Returns permissions that a caller has on the specified resource. 1103 /// If the resource does not exist, this will return an empty set of
1111 * If the resource does not exist, this will return an empty set of 1104 /// permissions, not a NOT_FOUND error.
1112 * permissions, not a NOT_FOUND error. 1105 ///
1113 * 1106 /// Note: This operation is designed to be used for building permission-aware
1114 * Note: This operation is designed to be used for building permission-aware 1107 /// UIs and command-line tools, not for authorization checking. This
1115 * UIs and command-line tools, not for authorization checking. This operation 1108 /// operation
1116 * may "fail open" without warning. 1109 /// may "fail open" without warning.
1117 * 1110 ///
1118 * [request] - The metadata request object. 1111 /// [request] - The metadata request object.
1119 * 1112 ///
1120 * Request parameters: 1113 /// Request parameters:
1121 * 1114 ///
1122 * [resource] - REQUIRED: The resource for which the policy detail is being 1115 /// [resource] - REQUIRED: The resource for which the policy detail is being
1123 * requested. 1116 /// requested.
1124 * See the operation documentation for the appropriate value for this field. 1117 /// See the operation documentation for the appropriate value for this field.
1125 * Value must have pattern "^services/[^/]+/consumers/[^/]+$". 1118 /// Value must have pattern "^services/[^/]+/consumers/[^/]+$".
1126 * 1119 ///
1127 * Completes with a [TestIamPermissionsResponse]. 1120 /// Completes with a [TestIamPermissionsResponse].
1128 * 1121 ///
1129 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1122 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1130 * error. 1123 /// an error.
1131 * 1124 ///
1132 * If the used [http_1.Client] completes with an error when making a REST 1125 /// If the used [http_1.Client] completes with an error when making a REST
1133 * call, this method will complete with the same error. 1126 /// call, this method will complete with the same error.
1134 */ 1127 async.Future<TestIamPermissionsResponse> testIamPermissions(
1135 async.Future<TestIamPermissionsResponse> testIamPermissions(TestIamPermissions Request request, core.String resource) { 1128 TestIamPermissionsRequest request, core.String resource) {
1136 var _url = null; 1129 var _url = null;
1137 var _queryParams = new core.Map(); 1130 var _queryParams = new core.Map();
1138 var _uploadMedia = null; 1131 var _uploadMedia = null;
1139 var _uploadOptions = null; 1132 var _uploadOptions = null;
1140 var _downloadOptions = commons.DownloadOptions.Metadata; 1133 var _downloadOptions = commons.DownloadOptions.Metadata;
1141 var _body = null; 1134 var _body = null;
1142 1135
1143 if (request != null) { 1136 if (request != null) {
1144 _body = convert.JSON.encode((request).toJson()); 1137 _body = convert.JSON.encode((request).toJson());
1145 } 1138 }
1146 if (resource == null) { 1139 if (resource == null) {
1147 throw new core.ArgumentError("Parameter resource is required."); 1140 throw new core.ArgumentError("Parameter resource is required.");
1148 } 1141 }
1149 1142
1150 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIa mPermissions'; 1143 _url = 'v1/' +
1144 commons.Escaper.ecapeVariableReserved('$resource') +
1145 ':testIamPermissions';
1151 1146
1152 var _response = _requester.request(_url, 1147 var _response = _requester.request(_url, "POST",
1153 "POST", 1148 body: _body,
1154 body: _body, 1149 queryParams: _queryParams,
1155 queryParams: _queryParams, 1150 uploadOptions: _uploadOptions,
1156 uploadOptions: _uploadOptions, 1151 uploadMedia: _uploadMedia,
1157 uploadMedia: _uploadMedia, 1152 downloadOptions: _downloadOptions);
1158 downloadOptions: _downloadOptions); 1153 return _response
1159 return _response.then((data) => new TestIamPermissionsResponse.fromJson(data )); 1154 .then((data) => new TestIamPermissionsResponse.fromJson(data));
1160 } 1155 }
1161
1162 } 1156 }
1163 1157
1164
1165 class ServicesRolloutsResourceApi { 1158 class ServicesRolloutsResourceApi {
1166 final commons.ApiRequester _requester; 1159 final commons.ApiRequester _requester;
1167 1160
1168 ServicesRolloutsResourceApi(commons.ApiRequester client) : 1161 ServicesRolloutsResourceApi(commons.ApiRequester client)
1169 _requester = client; 1162 : _requester = client;
1170 1163
1171 /** 1164 /// Creates a new service configuration rollout. Based on rollout, the
1172 * Creates a new service configuration rollout. Based on rollout, the 1165 /// Google Service Management will roll out the service configurations to
1173 * Google Service Management will roll out the service configurations to 1166 /// different backend services. For example, the logging configuration will
1174 * different backend services. For example, the logging configuration will be 1167 /// be
1175 * pushed to Google Cloud Logging. 1168 /// pushed to Google Cloud Logging.
1176 * 1169 ///
1177 * Please note that any previous pending and running Rollouts and associated 1170 /// Please note that any previous pending and running Rollouts and associated
1178 * Operations will be automatically cancelled so that the latest Rollout will 1171 /// Operations will be automatically cancelled so that the latest Rollout
1179 * not be blocked by previous Rollouts. 1172 /// will
1180 * 1173 /// not be blocked by previous Rollouts.
1181 * Operation<response: Rollout> 1174 ///
1182 * 1175 /// Operation<response: Rollout>
1183 * [request] - The metadata request object. 1176 ///
1184 * 1177 /// [request] - The metadata request object.
1185 * Request parameters: 1178 ///
1186 * 1179 /// Request parameters:
1187 * [serviceName] - The name of the service. See the 1180 ///
1188 * [overview](/service-management/overview) 1181 /// [serviceName] - The name of the service. See the
1189 * for naming requirements. For example: `example.googleapis.com`. 1182 /// [overview](/service-management/overview)
1190 * 1183 /// for naming requirements. For example: `example.googleapis.com`.
1191 * Completes with a [Operation]. 1184 ///
1192 * 1185 /// Completes with a [Operation].
1193 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1186 ///
1194 * error. 1187 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1195 * 1188 /// an error.
1196 * If the used [http_1.Client] completes with an error when making a REST 1189 ///
1197 * call, this method will complete with the same error. 1190 /// If the used [http_1.Client] completes with an error when making a REST
1198 */ 1191 /// call, this method will complete with the same error.
1199 async.Future<Operation> create(Rollout request, core.String serviceName) { 1192 async.Future<Operation> create(Rollout request, core.String serviceName) {
1200 var _url = null; 1193 var _url = null;
1201 var _queryParams = new core.Map(); 1194 var _queryParams = new core.Map();
1202 var _uploadMedia = null; 1195 var _uploadMedia = null;
1203 var _uploadOptions = null; 1196 var _uploadOptions = null;
1204 var _downloadOptions = commons.DownloadOptions.Metadata; 1197 var _downloadOptions = commons.DownloadOptions.Metadata;
1205 var _body = null; 1198 var _body = null;
1206 1199
1207 if (request != null) { 1200 if (request != null) {
1208 _body = convert.JSON.encode((request).toJson()); 1201 _body = convert.JSON.encode((request).toJson());
1209 } 1202 }
1210 if (serviceName == null) { 1203 if (serviceName == null) {
1211 throw new core.ArgumentError("Parameter serviceName is required."); 1204 throw new core.ArgumentError("Parameter serviceName is required.");
1212 } 1205 }
1213 1206
1214 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/ro llouts'; 1207 _url = 'v1/services/' +
1208 commons.Escaper.ecapeVariable('$serviceName') +
1209 '/rollouts';
1215 1210
1216 var _response = _requester.request(_url, 1211 var _response = _requester.request(_url, "POST",
1217 "POST", 1212 body: _body,
1218 body: _body, 1213 queryParams: _queryParams,
1219 queryParams: _queryParams, 1214 uploadOptions: _uploadOptions,
1220 uploadOptions: _uploadOptions, 1215 uploadMedia: _uploadMedia,
1221 uploadMedia: _uploadMedia, 1216 downloadOptions: _downloadOptions);
1222 downloadOptions: _downloadOptions);
1223 return _response.then((data) => new Operation.fromJson(data)); 1217 return _response.then((data) => new Operation.fromJson(data));
1224 } 1218 }
1225 1219
1226 /** 1220 /// Gets a service configuration rollout.
1227 * Gets a service configuration rollout. 1221 ///
1228 * 1222 /// Request parameters:
1229 * Request parameters: 1223 ///
1230 * 1224 /// [serviceName] - The name of the service. See the
1231 * [serviceName] - The name of the service. See the 1225 /// [overview](/service-management/overview)
1232 * [overview](/service-management/overview) 1226 /// for naming requirements. For example: `example.googleapis.com`.
1233 * for naming requirements. For example: `example.googleapis.com`. 1227 ///
1234 * 1228 /// [rolloutId] - The id of the rollout resource.
1235 * [rolloutId] - The id of the rollout resource. 1229 ///
1236 * 1230 /// Completes with a [Rollout].
1237 * Completes with a [Rollout]. 1231 ///
1238 * 1232 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1239 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1233 /// an error.
1240 * error. 1234 ///
1241 * 1235 /// If the used [http_1.Client] completes with an error when making a REST
1242 * If the used [http_1.Client] completes with an error when making a REST 1236 /// call, this method will complete with the same error.
1243 * call, this method will complete with the same error.
1244 */
1245 async.Future<Rollout> get(core.String serviceName, core.String rolloutId) { 1237 async.Future<Rollout> get(core.String serviceName, core.String rolloutId) {
1246 var _url = null; 1238 var _url = null;
1247 var _queryParams = new core.Map(); 1239 var _queryParams = new core.Map();
1248 var _uploadMedia = null; 1240 var _uploadMedia = null;
1249 var _uploadOptions = null; 1241 var _uploadOptions = null;
1250 var _downloadOptions = commons.DownloadOptions.Metadata; 1242 var _downloadOptions = commons.DownloadOptions.Metadata;
1251 var _body = null; 1243 var _body = null;
1252 1244
1253 if (serviceName == null) { 1245 if (serviceName == null) {
1254 throw new core.ArgumentError("Parameter serviceName is required."); 1246 throw new core.ArgumentError("Parameter serviceName is required.");
1255 } 1247 }
1256 if (rolloutId == null) { 1248 if (rolloutId == null) {
1257 throw new core.ArgumentError("Parameter rolloutId is required."); 1249 throw new core.ArgumentError("Parameter rolloutId is required.");
1258 } 1250 }
1259 1251
1260 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/ro llouts/' + commons.Escaper.ecapeVariable('$rolloutId'); 1252 _url = 'v1/services/' +
1253 commons.Escaper.ecapeVariable('$serviceName') +
1254 '/rollouts/' +
1255 commons.Escaper.ecapeVariable('$rolloutId');
1261 1256
1262 var _response = _requester.request(_url, 1257 var _response = _requester.request(_url, "GET",
1263 "GET", 1258 body: _body,
1264 body: _body, 1259 queryParams: _queryParams,
1265 queryParams: _queryParams, 1260 uploadOptions: _uploadOptions,
1266 uploadOptions: _uploadOptions, 1261 uploadMedia: _uploadMedia,
1267 uploadMedia: _uploadMedia, 1262 downloadOptions: _downloadOptions);
1268 downloadOptions: _downloadOptions);
1269 return _response.then((data) => new Rollout.fromJson(data)); 1263 return _response.then((data) => new Rollout.fromJson(data));
1270 } 1264 }
1271 1265
1272 /** 1266 /// Lists the history of the service configuration rollouts for a managed
1273 * Lists the history of the service configuration rollouts for a managed 1267 /// service, from the newest to the oldest.
1274 * service, from the newest to the oldest. 1268 ///
1275 * 1269 /// Request parameters:
1276 * Request parameters: 1270 ///
1277 * 1271 /// [serviceName] - The name of the service. See the
1278 * [serviceName] - The name of the service. See the 1272 /// [overview](/service-management/overview)
1279 * [overview](/service-management/overview) 1273 /// for naming requirements. For example: `example.googleapis.com`.
1280 * for naming requirements. For example: `example.googleapis.com`. 1274 ///
1281 * 1275 /// [filter] - Use `filter` to return subset of rollouts.
1282 * [filter] - Use `filter` to return subset of rollouts. 1276 /// The following filters are supported:
1283 * The following filters are supported: 1277 /// -- To limit the results to only those in
1284 * -- To limit the results to only those in 1278 /// [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS',
1285 * [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS', 1279 /// use filter='status=SUCCESS'
1286 * use filter='status=SUCCESS' 1280 /// -- To limit the results to those in
1287 * -- To limit the results to those in 1281 /// [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'
1288 * [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED' 1282 /// or 'FAILED', use filter='status=CANCELLED OR status=FAILED'
1289 * or 'FAILED', use filter='status=CANCELLED OR status=FAILED' 1283 ///
1290 * 1284 /// [pageToken] - The token of the page to retrieve.
1291 * [pageToken] - The token of the page to retrieve. 1285 ///
1292 * 1286 /// [pageSize] - The max number of items to include in the response list.
1293 * [pageSize] - The max number of items to include in the response list. 1287 ///
1294 * 1288 /// Completes with a [ListServiceRolloutsResponse].
1295 * Completes with a [ListServiceRolloutsResponse]. 1289 ///
1296 * 1290 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
1297 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 1291 /// an error.
1298 * error. 1292 ///
1299 * 1293 /// If the used [http_1.Client] completes with an error when making a REST
1300 * If the used [http_1.Client] completes with an error when making a REST 1294 /// call, this method will complete with the same error.
1301 * call, this method will complete with the same error. 1295 async.Future<ListServiceRolloutsResponse> list(core.String serviceName,
1302 */ 1296 {core.String filter, core.String pageToken, core.int pageSize}) {
1303 async.Future<ListServiceRolloutsResponse> list(core.String serviceName, {core. String filter, core.String pageToken, core.int pageSize}) {
1304 var _url = null; 1297 var _url = null;
1305 var _queryParams = new core.Map(); 1298 var _queryParams = new core.Map();
1306 var _uploadMedia = null; 1299 var _uploadMedia = null;
1307 var _uploadOptions = null; 1300 var _uploadOptions = null;
1308 var _downloadOptions = commons.DownloadOptions.Metadata; 1301 var _downloadOptions = commons.DownloadOptions.Metadata;
1309 var _body = null; 1302 var _body = null;
1310 1303
1311 if (serviceName == null) { 1304 if (serviceName == null) {
1312 throw new core.ArgumentError("Parameter serviceName is required."); 1305 throw new core.ArgumentError("Parameter serviceName is required.");
1313 } 1306 }
1314 if (filter != null) { 1307 if (filter != null) {
1315 _queryParams["filter"] = [filter]; 1308 _queryParams["filter"] = [filter];
1316 } 1309 }
1317 if (pageToken != null) { 1310 if (pageToken != null) {
1318 _queryParams["pageToken"] = [pageToken]; 1311 _queryParams["pageToken"] = [pageToken];
1319 } 1312 }
1320 if (pageSize != null) { 1313 if (pageSize != null) {
1321 _queryParams["pageSize"] = ["${pageSize}"]; 1314 _queryParams["pageSize"] = ["${pageSize}"];
1322 } 1315 }
1323 1316
1324 _url = 'v1/services/' + commons.Escaper.ecapeVariable('$serviceName') + '/ro llouts'; 1317 _url = 'v1/services/' +
1318 commons.Escaper.ecapeVariable('$serviceName') +
1319 '/rollouts';
1325 1320
1326 var _response = _requester.request(_url, 1321 var _response = _requester.request(_url, "GET",
1327 "GET", 1322 body: _body,
1328 body: _body, 1323 queryParams: _queryParams,
1329 queryParams: _queryParams, 1324 uploadOptions: _uploadOptions,
1330 uploadOptions: _uploadOptions, 1325 uploadMedia: _uploadMedia,
1331 uploadMedia: _uploadMedia, 1326 downloadOptions: _downloadOptions);
1332 downloadOptions: _downloadOptions); 1327 return _response
1333 return _response.then((data) => new ListServiceRolloutsResponse.fromJson(dat a)); 1328 .then((data) => new ListServiceRolloutsResponse.fromJson(data));
1334 } 1329 }
1335
1336 } 1330 }
1337 1331
1338 1332 /// Generated advice about this change, used for providing more
1339 1333 /// information about how a change will affect the existing service.
1340 /**
1341 * Generated advice about this change, used for providing more
1342 * information about how a change will affect the existing service.
1343 */
1344 class Advice { 1334 class Advice {
1345 /** 1335 /// Useful description for why this advice was applied and what actions
1346 * Useful description for why this advice was applied and what actions should 1336 /// should
1347 * be taken to mitigate any implied risks. 1337 /// be taken to mitigate any implied risks.
1348 */
1349 core.String description; 1338 core.String description;
1350 1339
1351 Advice(); 1340 Advice();
1352 1341
1353 Advice.fromJson(core.Map _json) { 1342 Advice.fromJson(core.Map _json) {
1354 if (_json.containsKey("description")) { 1343 if (_json.containsKey("description")) {
1355 description = _json["description"]; 1344 description = _json["description"];
1356 } 1345 }
1357 } 1346 }
1358 1347
1359 core.Map<core.String, core.Object> toJson() { 1348 core.Map<core.String, core.Object> toJson() {
1360 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1349 final core.Map<core.String, core.Object> _json =
1350 new core.Map<core.String, core.Object>();
1361 if (description != null) { 1351 if (description != null) {
1362 _json["description"] = description; 1352 _json["description"] = description;
1363 } 1353 }
1364 return _json; 1354 return _json;
1365 } 1355 }
1366 } 1356 }
1367 1357
1368 /** 1358 /// Api is a light-weight descriptor for an API Interface.
1369 * Api is a light-weight descriptor for an API Interface. 1359 ///
1370 * 1360 /// Interfaces are also described as "protocol buffer services" in some
1371 * Interfaces are also described as "protocol buffer services" in some contexts, 1361 /// contexts,
1372 * such as by the "service" keyword in a .proto file, but they are different 1362 /// such as by the "service" keyword in a .proto file, but they are different
1373 * from API Services, which represent a concrete implementation of an interface 1363 /// from API Services, which represent a concrete implementation of an
1374 * as opposed to simply a description of methods and bindings. They are also 1364 /// interface
1375 * sometimes simply referred to as "APIs" in other contexts, such as the name of 1365 /// as opposed to simply a description of methods and bindings. They are also
1376 * this message itself. See https://cloud.google.com/apis/design/glossary for 1366 /// sometimes simply referred to as "APIs" in other contexts, such as the name
1377 * detailed terminology. 1367 /// of
1378 */ 1368 /// this message itself. See https://cloud.google.com/apis/design/glossary for
1369 /// detailed terminology.
1379 class Api { 1370 class Api {
1380 /** The methods of this interface, in unspecified order. */ 1371 /// The methods of this interface, in unspecified order.
1381 core.List<Method> methods; 1372 core.List<Method> methods;
1382 /** Included interfaces. See Mixin. */ 1373
1374 /// Included interfaces. See Mixin.
1383 core.List<Mixin> mixins; 1375 core.List<Mixin> mixins;
1384 /** 1376
1385 * The fully qualified name of this interface, including package name 1377 /// The fully qualified name of this interface, including package name
1386 * followed by the interface's simple name. 1378 /// followed by the interface's simple name.
1387 */
1388 core.String name; 1379 core.String name;
1389 /** Any metadata attached to the interface. */ 1380
1381 /// Any metadata attached to the interface.
1390 core.List<Option> options; 1382 core.List<Option> options;
1391 /** 1383
1392 * Source context for the protocol buffer service represented by this 1384 /// Source context for the protocol buffer service represented by this
1393 * message. 1385 /// message.
1394 */
1395 SourceContext sourceContext; 1386 SourceContext sourceContext;
1396 /** 1387
1397 * The source syntax of the service. 1388 /// The source syntax of the service.
1398 * Possible string values are: 1389 /// Possible string values are:
1399 * - "SYNTAX_PROTO2" : Syntax `proto2`. 1390 /// - "SYNTAX_PROTO2" : Syntax `proto2`.
1400 * - "SYNTAX_PROTO3" : Syntax `proto3`. 1391 /// - "SYNTAX_PROTO3" : Syntax `proto3`.
1401 */
1402 core.String syntax; 1392 core.String syntax;
1403 /** 1393
1404 * A version string for this interface. If specified, must have the form 1394 /// A version string for this interface. If specified, must have the form
1405 * `major-version.minor-version`, as in `1.10`. If the minor version is 1395 /// `major-version.minor-version`, as in `1.10`. If the minor version is
1406 * omitted, it defaults to zero. If the entire version field is empty, the 1396 /// omitted, it defaults to zero. If the entire version field is empty, the
1407 * major version is derived from the package name, as outlined below. If the 1397 /// major version is derived from the package name, as outlined below. If the
1408 * field is not empty, the version in the package name will be verified to be 1398 /// field is not empty, the version in the package name will be verified to
1409 * consistent with what is provided here. 1399 /// be
1410 * 1400 /// consistent with what is provided here.
1411 * The versioning schema uses [semantic 1401 ///
1412 * versioning](http://semver.org) where the major version number 1402 /// The versioning schema uses [semantic
1413 * indicates a breaking change and the minor version an additive, 1403 /// versioning](http://semver.org) where the major version number
1414 * non-breaking change. Both version numbers are signals to users 1404 /// indicates a breaking change and the minor version an additive,
1415 * what to expect from different versions, and should be carefully 1405 /// non-breaking change. Both version numbers are signals to users
1416 * chosen based on the product plan. 1406 /// what to expect from different versions, and should be carefully
1417 * 1407 /// chosen based on the product plan.
1418 * The major version is also reflected in the package name of the 1408 ///
1419 * interface, which must end in `v<major-version>`, as in 1409 /// The major version is also reflected in the package name of the
1420 * `google.feature.v1`. For major versions 0 and 1, the suffix can 1410 /// interface, which must end in `v<major-version>`, as in
1421 * be omitted. Zero major versions must only be used for 1411 /// `google.feature.v1`. For major versions 0 and 1, the suffix can
1422 * experimental, non-GA interfaces. 1412 /// be omitted. Zero major versions must only be used for
1423 */ 1413 /// experimental, non-GA interfaces.
1424 core.String version; 1414 core.String version;
1425 1415
1426 Api(); 1416 Api();
1427 1417
1428 Api.fromJson(core.Map _json) { 1418 Api.fromJson(core.Map _json) {
1429 if (_json.containsKey("methods")) { 1419 if (_json.containsKey("methods")) {
1430 methods = _json["methods"].map((value) => new Method.fromJson(value)).toLi st(); 1420 methods =
1421 _json["methods"].map((value) => new Method.fromJson(value)).toList();
1431 } 1422 }
1432 if (_json.containsKey("mixins")) { 1423 if (_json.containsKey("mixins")) {
1433 mixins = _json["mixins"].map((value) => new Mixin.fromJson(value)).toList( ); 1424 mixins =
1425 _json["mixins"].map((value) => new Mixin.fromJson(value)).toList();
1434 } 1426 }
1435 if (_json.containsKey("name")) { 1427 if (_json.containsKey("name")) {
1436 name = _json["name"]; 1428 name = _json["name"];
1437 } 1429 }
1438 if (_json.containsKey("options")) { 1430 if (_json.containsKey("options")) {
1439 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 1431 options =
1432 _json["options"].map((value) => new Option.fromJson(value)).toList();
1440 } 1433 }
1441 if (_json.containsKey("sourceContext")) { 1434 if (_json.containsKey("sourceContext")) {
1442 sourceContext = new SourceContext.fromJson(_json["sourceContext"]); 1435 sourceContext = new SourceContext.fromJson(_json["sourceContext"]);
1443 } 1436 }
1444 if (_json.containsKey("syntax")) { 1437 if (_json.containsKey("syntax")) {
1445 syntax = _json["syntax"]; 1438 syntax = _json["syntax"];
1446 } 1439 }
1447 if (_json.containsKey("version")) { 1440 if (_json.containsKey("version")) {
1448 version = _json["version"]; 1441 version = _json["version"];
1449 } 1442 }
1450 } 1443 }
1451 1444
1452 core.Map<core.String, core.Object> toJson() { 1445 core.Map<core.String, core.Object> toJson() {
1453 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1446 final core.Map<core.String, core.Object> _json =
1447 new core.Map<core.String, core.Object>();
1454 if (methods != null) { 1448 if (methods != null) {
1455 _json["methods"] = methods.map((value) => (value).toJson()).toList(); 1449 _json["methods"] = methods.map((value) => (value).toJson()).toList();
1456 } 1450 }
1457 if (mixins != null) { 1451 if (mixins != null) {
1458 _json["mixins"] = mixins.map((value) => (value).toJson()).toList(); 1452 _json["mixins"] = mixins.map((value) => (value).toJson()).toList();
1459 } 1453 }
1460 if (name != null) { 1454 if (name != null) {
1461 _json["name"] = name; 1455 _json["name"] = name;
1462 } 1456 }
1463 if (options != null) { 1457 if (options != null) {
1464 _json["options"] = options.map((value) => (value).toJson()).toList(); 1458 _json["options"] = options.map((value) => (value).toJson()).toList();
1465 } 1459 }
1466 if (sourceContext != null) { 1460 if (sourceContext != null) {
1467 _json["sourceContext"] = (sourceContext).toJson(); 1461 _json["sourceContext"] = (sourceContext).toJson();
1468 } 1462 }
1469 if (syntax != null) { 1463 if (syntax != null) {
1470 _json["syntax"] = syntax; 1464 _json["syntax"] = syntax;
1471 } 1465 }
1472 if (version != null) { 1466 if (version != null) {
1473 _json["version"] = version; 1467 _json["version"] = version;
1474 } 1468 }
1475 return _json; 1469 return _json;
1476 } 1470 }
1477 } 1471 }
1478 1472
1479 /** 1473 /// Specifies the audit configuration for a service.
1480 * Specifies the audit configuration for a service. 1474 /// The configuration determines which permission types are logged, and what
1481 * The configuration determines which permission types are logged, and what 1475 /// identities, if any, are exempted from logging.
1482 * identities, if any, are exempted from logging. 1476 /// An AuditConfig must have one or more AuditLogConfigs.
1483 * An AuditConfig must have one or more AuditLogConfigs. 1477 ///
1484 * 1478 /// If there are AuditConfigs for both `allServices` and a specific service,
1485 * If there are AuditConfigs for both `allServices` and a specific service, 1479 /// the union of the two AuditConfigs is used for that service: the log_types
1486 * the union of the two AuditConfigs is used for that service: the log_types 1480 /// specified in each AuditConfig are enabled, and the exempted_members in each
1487 * specified in each AuditConfig are enabled, and the exempted_members in each 1481 /// AuditConfig are exempted.
1488 * AuditConfig are exempted. 1482 ///
1489 * 1483 /// Example Policy with multiple AuditConfigs:
1490 * Example Policy with multiple AuditConfigs: 1484 ///
1491 * 1485 /// {
1492 * { 1486 /// "audit_configs": [
1493 * "audit_configs": [ 1487 /// {
1494 * { 1488 /// "service": "allServices"
1495 * "service": "allServices" 1489 /// "audit_log_configs": [
1496 * "audit_log_configs": [ 1490 /// {
1497 * { 1491 /// "log_type": "DATA_READ",
1498 * "log_type": "DATA_READ", 1492 /// "exempted_members": [
1499 * "exempted_members": [ 1493 /// "user:foo@gmail.com"
1500 * "user:foo@gmail.com" 1494 /// ]
1501 * ] 1495 /// },
1502 * }, 1496 /// {
1503 * { 1497 /// "log_type": "DATA_WRITE",
1504 * "log_type": "DATA_WRITE", 1498 /// },
1505 * }, 1499 /// {
1506 * { 1500 /// "log_type": "ADMIN_READ",
1507 * "log_type": "ADMIN_READ", 1501 /// }
1508 * } 1502 /// ]
1509 * ] 1503 /// },
1510 * }, 1504 /// {
1511 * { 1505 /// "service": "fooservice.googleapis.com"
1512 * "service": "fooservice.googleapis.com" 1506 /// "audit_log_configs": [
1513 * "audit_log_configs": [ 1507 /// {
1514 * { 1508 /// "log_type": "DATA_READ",
1515 * "log_type": "DATA_READ", 1509 /// },
1516 * }, 1510 /// {
1517 * { 1511 /// "log_type": "DATA_WRITE",
1518 * "log_type": "DATA_WRITE", 1512 /// "exempted_members": [
1519 * "exempted_members": [ 1513 /// "user:bar@gmail.com"
1520 * "user:bar@gmail.com" 1514 /// ]
1521 * ] 1515 /// }
1522 * } 1516 /// ]
1523 * ] 1517 /// }
1524 * } 1518 /// ]
1525 * ] 1519 /// }
1526 * } 1520 ///
1527 * 1521 /// For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1528 * For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ 1522 /// logging. It also exempts foo@gmail.com from DATA_READ logging, and
1529 * logging. It also exempts foo@gmail.com from DATA_READ logging, and 1523 /// bar@gmail.com from DATA_WRITE logging.
1530 * bar@gmail.com from DATA_WRITE logging.
1531 */
1532 class AuditConfig { 1524 class AuditConfig {
1533 /** 1525 /// The configuration for logging of each type of permission.
1534 * The configuration for logging of each type of permission. 1526 /// Next ID: 4
1535 * Next ID: 4
1536 */
1537 core.List<AuditLogConfig> auditLogConfigs; 1527 core.List<AuditLogConfig> auditLogConfigs;
1538 core.List<core.String> exemptedMembers; 1528 core.List<core.String> exemptedMembers;
1539 /** 1529
1540 * Specifies a service that will be enabled for audit logging. 1530 /// Specifies a service that will be enabled for audit logging.
1541 * For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. 1531 /// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1542 * `allServices` is a special value that covers all services. 1532 /// `allServices` is a special value that covers all services.
1543 */
1544 core.String service; 1533 core.String service;
1545 1534
1546 AuditConfig(); 1535 AuditConfig();
1547 1536
1548 AuditConfig.fromJson(core.Map _json) { 1537 AuditConfig.fromJson(core.Map _json) {
1549 if (_json.containsKey("auditLogConfigs")) { 1538 if (_json.containsKey("auditLogConfigs")) {
1550 auditLogConfigs = _json["auditLogConfigs"].map((value) => new AuditLogConf ig.fromJson(value)).toList(); 1539 auditLogConfigs = _json["auditLogConfigs"]
1540 .map((value) => new AuditLogConfig.fromJson(value))
1541 .toList();
1551 } 1542 }
1552 if (_json.containsKey("exemptedMembers")) { 1543 if (_json.containsKey("exemptedMembers")) {
1553 exemptedMembers = _json["exemptedMembers"]; 1544 exemptedMembers = _json["exemptedMembers"];
1554 } 1545 }
1555 if (_json.containsKey("service")) { 1546 if (_json.containsKey("service")) {
1556 service = _json["service"]; 1547 service = _json["service"];
1557 } 1548 }
1558 } 1549 }
1559 1550
1560 core.Map<core.String, core.Object> toJson() { 1551 core.Map<core.String, core.Object> toJson() {
1561 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1552 final core.Map<core.String, core.Object> _json =
1553 new core.Map<core.String, core.Object>();
1562 if (auditLogConfigs != null) { 1554 if (auditLogConfigs != null) {
1563 _json["auditLogConfigs"] = auditLogConfigs.map((value) => (value).toJson() ).toList(); 1555 _json["auditLogConfigs"] =
1556 auditLogConfigs.map((value) => (value).toJson()).toList();
1564 } 1557 }
1565 if (exemptedMembers != null) { 1558 if (exemptedMembers != null) {
1566 _json["exemptedMembers"] = exemptedMembers; 1559 _json["exemptedMembers"] = exemptedMembers;
1567 } 1560 }
1568 if (service != null) { 1561 if (service != null) {
1569 _json["service"] = service; 1562 _json["service"] = service;
1570 } 1563 }
1571 return _json; 1564 return _json;
1572 } 1565 }
1573 } 1566 }
1574 1567
1575 /** 1568 /// Provides the configuration for logging a type of permissions.
1576 * Provides the configuration for logging a type of permissions. 1569 /// Example:
1577 * Example: 1570 ///
1578 * 1571 /// {
1579 * { 1572 /// "audit_log_configs": [
1580 * "audit_log_configs": [ 1573 /// {
1581 * { 1574 /// "log_type": "DATA_READ",
1582 * "log_type": "DATA_READ", 1575 /// "exempted_members": [
1583 * "exempted_members": [ 1576 /// "user:foo@gmail.com"
1584 * "user:foo@gmail.com" 1577 /// ]
1585 * ] 1578 /// },
1586 * }, 1579 /// {
1587 * { 1580 /// "log_type": "DATA_WRITE",
1588 * "log_type": "DATA_WRITE", 1581 /// }
1589 * } 1582 /// ]
1590 * ] 1583 /// }
1591 * } 1584 ///
1592 * 1585 /// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
1593 * This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting 1586 /// foo@gmail.com from DATA_READ logging.
1594 * foo@gmail.com from DATA_READ logging.
1595 */
1596 class AuditLogConfig { 1587 class AuditLogConfig {
1597 /** 1588 /// Specifies the identities that do not cause logging for this type of
1598 * Specifies the identities that do not cause logging for this type of 1589 /// permission.
1599 * permission. 1590 /// Follows the same format of Binding.members.
1600 * Follows the same format of Binding.members.
1601 */
1602 core.List<core.String> exemptedMembers; 1591 core.List<core.String> exemptedMembers;
1603 /** 1592
1604 * The log type that this config enables. 1593 /// The log type that this config enables.
1605 * Possible string values are: 1594 /// Possible string values are:
1606 * - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this. 1595 /// - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this.
1607 * - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy 1596 /// - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy
1608 * - "DATA_WRITE" : Data writes. Example: CloudSQL Users create 1597 /// - "DATA_WRITE" : Data writes. Example: CloudSQL Users create
1609 * - "DATA_READ" : Data reads. Example: CloudSQL Users list 1598 /// - "DATA_READ" : Data reads. Example: CloudSQL Users list
1610 */
1611 core.String logType; 1599 core.String logType;
1612 1600
1613 AuditLogConfig(); 1601 AuditLogConfig();
1614 1602
1615 AuditLogConfig.fromJson(core.Map _json) { 1603 AuditLogConfig.fromJson(core.Map _json) {
1616 if (_json.containsKey("exemptedMembers")) { 1604 if (_json.containsKey("exemptedMembers")) {
1617 exemptedMembers = _json["exemptedMembers"]; 1605 exemptedMembers = _json["exemptedMembers"];
1618 } 1606 }
1619 if (_json.containsKey("logType")) { 1607 if (_json.containsKey("logType")) {
1620 logType = _json["logType"]; 1608 logType = _json["logType"];
1621 } 1609 }
1622 } 1610 }
1623 1611
1624 core.Map<core.String, core.Object> toJson() { 1612 core.Map<core.String, core.Object> toJson() {
1625 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1613 final core.Map<core.String, core.Object> _json =
1614 new core.Map<core.String, core.Object>();
1626 if (exemptedMembers != null) { 1615 if (exemptedMembers != null) {
1627 _json["exemptedMembers"] = exemptedMembers; 1616 _json["exemptedMembers"] = exemptedMembers;
1628 } 1617 }
1629 if (logType != null) { 1618 if (logType != null) {
1630 _json["logType"] = logType; 1619 _json["logType"] = logType;
1631 } 1620 }
1632 return _json; 1621 return _json;
1633 } 1622 }
1634 } 1623 }
1635 1624
1636 /** 1625 /// Configuration for an anthentication provider, including support for
1637 * Configuration for an anthentication provider, including support for 1626 /// [JSON Web Token
1638 * [JSON Web Token 1627 /// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1639 * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1640 */
1641 class AuthProvider { 1628 class AuthProvider {
1642 /** 1629 /// The list of JWT
1643 * The list of JWT 1630 /// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32 #section-4.1.3).
1644 * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32# section-4.1.3). 1631 /// that are allowed to access. A JWT containing any of these audiences will
1645 * that are allowed to access. A JWT containing any of these audiences will 1632 /// be accepted. When this setting is absent, only JWTs with audience
1646 * be accepted. When this setting is absent, only JWTs with audience 1633 /// "https://Service_name/API_name"
1647 * "https://Service_name/API_name" 1634 /// will be accepted. For example, if no audiences are in the setting,
1648 * will be accepted. For example, if no audiences are in the setting, 1635 /// LibraryService API will only accept JWTs with the following audience
1649 * LibraryService API will only accept JWTs with the following audience 1636 /// "https://library-example.googleapis.com/google.example.library.v1.LibraryS ervice".
1650 * "https://library-example.googleapis.com/google.example.library.v1.LibrarySe rvice". 1637 ///
1651 * 1638 /// Example:
1652 * Example: 1639 ///
1653 * 1640 /// audiences: bookstore_android.apps.googleusercontent.com,
1654 * audiences: bookstore_android.apps.googleusercontent.com, 1641 /// bookstore_web.apps.googleusercontent.com
1655 * bookstore_web.apps.googleusercontent.com
1656 */
1657 core.String audiences; 1642 core.String audiences;
1658 /** 1643
1659 * Redirect URL if JWT token is required but no present or is expired. 1644 /// Redirect URL if JWT token is required but no present or is expired.
1660 * Implement authorizationUrl of securityDefinitions in OpenAPI spec. 1645 /// Implement authorizationUrl of securityDefinitions in OpenAPI spec.
1661 */
1662 core.String authorizationUrl; 1646 core.String authorizationUrl;
1663 /** 1647
1664 * The unique identifier of the auth provider. It will be referred to by 1648 /// The unique identifier of the auth provider. It will be referred to by
1665 * `AuthRequirement.provider_id`. 1649 /// `AuthRequirement.provider_id`.
1666 * 1650 ///
1667 * Example: "bookstore_auth". 1651 /// Example: "bookstore_auth".
1668 */
1669 core.String id; 1652 core.String id;
1670 /** 1653
1671 * Identifies the principal that issued the JWT. See 1654 /// Identifies the principal that issued the JWT. See
1672 * https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1. 1 1655 /// https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1 .1
1673 * Usually a URL or an email address. 1656 /// Usually a URL or an email address.
1674 * 1657 ///
1675 * Example: https://securetoken.google.com 1658 /// Example: https://securetoken.google.com
1676 * Example: 1234567-compute@developer.gserviceaccount.com 1659 /// Example: 1234567-compute@developer.gserviceaccount.com
1677 */
1678 core.String issuer; 1660 core.String issuer;
1679 /** 1661
1680 * URL of the provider's public key set to validate signature of the JWT. See 1662 /// URL of the provider's public key set to validate signature of the JWT.
1681 * [OpenID 1663 /// See
1682 * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#Provi derMetadata). 1664 /// [OpenID
1683 * Optional if the key set document: 1665 /// Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#Prov iderMetadata).
1684 * - can be retrieved from 1666 /// Optional if the key set document:
1685 * [OpenID 1667 /// - can be retrieved from
1686 * Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html 1668 /// [OpenID
1687 * of the issuer. 1669 /// Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
1688 * - can be inferred from the email domain of the issuer (e.g. a Google 1670 /// of the issuer.
1689 * service account). 1671 /// - can be inferred from the email domain of the issuer (e.g. a Google
1690 * 1672 /// service account).
1691 * Example: https://www.googleapis.com/oauth2/v1/certs 1673 ///
1692 */ 1674 /// Example: https://www.googleapis.com/oauth2/v1/certs
1693 core.String jwksUri; 1675 core.String jwksUri;
1694 1676
1695 AuthProvider(); 1677 AuthProvider();
1696 1678
1697 AuthProvider.fromJson(core.Map _json) { 1679 AuthProvider.fromJson(core.Map _json) {
1698 if (_json.containsKey("audiences")) { 1680 if (_json.containsKey("audiences")) {
1699 audiences = _json["audiences"]; 1681 audiences = _json["audiences"];
1700 } 1682 }
1701 if (_json.containsKey("authorizationUrl")) { 1683 if (_json.containsKey("authorizationUrl")) {
1702 authorizationUrl = _json["authorizationUrl"]; 1684 authorizationUrl = _json["authorizationUrl"];
1703 } 1685 }
1704 if (_json.containsKey("id")) { 1686 if (_json.containsKey("id")) {
1705 id = _json["id"]; 1687 id = _json["id"];
1706 } 1688 }
1707 if (_json.containsKey("issuer")) { 1689 if (_json.containsKey("issuer")) {
1708 issuer = _json["issuer"]; 1690 issuer = _json["issuer"];
1709 } 1691 }
1710 if (_json.containsKey("jwksUri")) { 1692 if (_json.containsKey("jwksUri")) {
1711 jwksUri = _json["jwksUri"]; 1693 jwksUri = _json["jwksUri"];
1712 } 1694 }
1713 } 1695 }
1714 1696
1715 core.Map<core.String, core.Object> toJson() { 1697 core.Map<core.String, core.Object> toJson() {
1716 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1698 final core.Map<core.String, core.Object> _json =
1699 new core.Map<core.String, core.Object>();
1717 if (audiences != null) { 1700 if (audiences != null) {
1718 _json["audiences"] = audiences; 1701 _json["audiences"] = audiences;
1719 } 1702 }
1720 if (authorizationUrl != null) { 1703 if (authorizationUrl != null) {
1721 _json["authorizationUrl"] = authorizationUrl; 1704 _json["authorizationUrl"] = authorizationUrl;
1722 } 1705 }
1723 if (id != null) { 1706 if (id != null) {
1724 _json["id"] = id; 1707 _json["id"] = id;
1725 } 1708 }
1726 if (issuer != null) { 1709 if (issuer != null) {
1727 _json["issuer"] = issuer; 1710 _json["issuer"] = issuer;
1728 } 1711 }
1729 if (jwksUri != null) { 1712 if (jwksUri != null) {
1730 _json["jwksUri"] = jwksUri; 1713 _json["jwksUri"] = jwksUri;
1731 } 1714 }
1732 return _json; 1715 return _json;
1733 } 1716 }
1734 } 1717 }
1735 1718
1736 /** 1719 /// User-defined authentication requirements, including support for
1737 * User-defined authentication requirements, including support for 1720 /// [JSON Web Token
1738 * [JSON Web Token 1721 /// (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1739 * (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
1740 */
1741 class AuthRequirement { 1722 class AuthRequirement {
1742 /** 1723 /// NOTE: This will be deprecated soon, once AuthProvider.audiences is
1743 * NOTE: This will be deprecated soon, once AuthProvider.audiences is 1724 /// implemented and accepted in all the runtime components.
1744 * implemented and accepted in all the runtime components. 1725 ///
1745 * 1726 /// The list of JWT
1746 * The list of JWT 1727 /// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32 #section-4.1.3).
1747 * [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32# section-4.1.3). 1728 /// that are allowed to access. A JWT containing any of these audiences will
1748 * that are allowed to access. A JWT containing any of these audiences will 1729 /// be accepted. When this setting is absent, only JWTs with audience
1749 * be accepted. When this setting is absent, only JWTs with audience 1730 /// "https://Service_name/API_name"
1750 * "https://Service_name/API_name" 1731 /// will be accepted. For example, if no audiences are in the setting,
1751 * will be accepted. For example, if no audiences are in the setting, 1732 /// LibraryService API will only accept JWTs with the following audience
1752 * LibraryService API will only accept JWTs with the following audience 1733 /// "https://library-example.googleapis.com/google.example.library.v1.LibraryS ervice".
1753 * "https://library-example.googleapis.com/google.example.library.v1.LibrarySe rvice". 1734 ///
1754 * 1735 /// Example:
1755 * Example: 1736 ///
1756 * 1737 /// audiences: bookstore_android.apps.googleusercontent.com,
1757 * audiences: bookstore_android.apps.googleusercontent.com, 1738 /// bookstore_web.apps.googleusercontent.com
1758 * bookstore_web.apps.googleusercontent.com
1759 */
1760 core.String audiences; 1739 core.String audiences;
1761 /** 1740
1762 * id from authentication provider. 1741 /// id from authentication provider.
1763 * 1742 ///
1764 * Example: 1743 /// Example:
1765 * 1744 ///
1766 * provider_id: bookstore_auth 1745 /// provider_id: bookstore_auth
1767 */
1768 core.String providerId; 1746 core.String providerId;
1769 1747
1770 AuthRequirement(); 1748 AuthRequirement();
1771 1749
1772 AuthRequirement.fromJson(core.Map _json) { 1750 AuthRequirement.fromJson(core.Map _json) {
1773 if (_json.containsKey("audiences")) { 1751 if (_json.containsKey("audiences")) {
1774 audiences = _json["audiences"]; 1752 audiences = _json["audiences"];
1775 } 1753 }
1776 if (_json.containsKey("providerId")) { 1754 if (_json.containsKey("providerId")) {
1777 providerId = _json["providerId"]; 1755 providerId = _json["providerId"];
1778 } 1756 }
1779 } 1757 }
1780 1758
1781 core.Map<core.String, core.Object> toJson() { 1759 core.Map<core.String, core.Object> toJson() {
1782 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1760 final core.Map<core.String, core.Object> _json =
1761 new core.Map<core.String, core.Object>();
1783 if (audiences != null) { 1762 if (audiences != null) {
1784 _json["audiences"] = audiences; 1763 _json["audiences"] = audiences;
1785 } 1764 }
1786 if (providerId != null) { 1765 if (providerId != null) {
1787 _json["providerId"] = providerId; 1766 _json["providerId"] = providerId;
1788 } 1767 }
1789 return _json; 1768 return _json;
1790 } 1769 }
1791 } 1770 }
1792 1771
1793 /** 1772 /// `Authentication` defines the authentication configuration for an API.
1794 * `Authentication` defines the authentication configuration for an API. 1773 ///
1795 * 1774 /// Example for an API targeted for external use:
1796 * Example for an API targeted for external use: 1775 ///
1797 * 1776 /// name: calendar.googleapis.com
1798 * name: calendar.googleapis.com 1777 /// authentication:
1799 * authentication: 1778 /// providers:
1800 * providers: 1779 /// - id: google_calendar_auth
1801 * - id: google_calendar_auth 1780 /// jwks_uri: https://www.googleapis.com/oauth2/v1/certs
1802 * jwks_uri: https://www.googleapis.com/oauth2/v1/certs 1781 /// issuer: https://securetoken.google.com
1803 * issuer: https://securetoken.google.com 1782 /// rules:
1804 * rules: 1783 /// - selector: "*"
1805 * - selector: "*" 1784 /// requirements:
1806 * requirements: 1785 /// provider_id: google_calendar_auth
1807 * provider_id: google_calendar_auth
1808 */
1809 class Authentication { 1786 class Authentication {
1810 /** Defines a set of authentication providers that a service supports. */ 1787 /// Defines a set of authentication providers that a service supports.
1811 core.List<AuthProvider> providers; 1788 core.List<AuthProvider> providers;
1812 /** 1789
1813 * A list of authentication rules that apply to individual API methods. 1790 /// A list of authentication rules that apply to individual API methods.
1814 * 1791 ///
1815 * **NOTE:** All service configuration rules follow "last one wins" order. 1792 /// **NOTE:** All service configuration rules follow "last one wins" order.
1816 */
1817 core.List<AuthenticationRule> rules; 1793 core.List<AuthenticationRule> rules;
1818 1794
1819 Authentication(); 1795 Authentication();
1820 1796
1821 Authentication.fromJson(core.Map _json) { 1797 Authentication.fromJson(core.Map _json) {
1822 if (_json.containsKey("providers")) { 1798 if (_json.containsKey("providers")) {
1823 providers = _json["providers"].map((value) => new AuthProvider.fromJson(va lue)).toList(); 1799 providers = _json["providers"]
1800 .map((value) => new AuthProvider.fromJson(value))
1801 .toList();
1824 } 1802 }
1825 if (_json.containsKey("rules")) { 1803 if (_json.containsKey("rules")) {
1826 rules = _json["rules"].map((value) => new AuthenticationRule.fromJson(valu e)).toList(); 1804 rules = _json["rules"]
1805 .map((value) => new AuthenticationRule.fromJson(value))
1806 .toList();
1827 } 1807 }
1828 } 1808 }
1829 1809
1830 core.Map<core.String, core.Object> toJson() { 1810 core.Map<core.String, core.Object> toJson() {
1831 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1811 final core.Map<core.String, core.Object> _json =
1812 new core.Map<core.String, core.Object>();
1832 if (providers != null) { 1813 if (providers != null) {
1833 _json["providers"] = providers.map((value) => (value).toJson()).toList(); 1814 _json["providers"] = providers.map((value) => (value).toJson()).toList();
1834 } 1815 }
1835 if (rules != null) { 1816 if (rules != null) {
1836 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 1817 _json["rules"] = rules.map((value) => (value).toJson()).toList();
1837 } 1818 }
1838 return _json; 1819 return _json;
1839 } 1820 }
1840 } 1821 }
1841 1822
1842 /** 1823 /// Authentication rules for the service.
1843 * Authentication rules for the service. 1824 ///
1844 * 1825 /// By default, if a method has any authentication requirements, every request
1845 * By default, if a method has any authentication requirements, every request 1826 /// must include a valid credential matching one of the requirements.
1846 * must include a valid credential matching one of the requirements. 1827 /// It's an error to include more than one kind of credential in a single
1847 * It's an error to include more than one kind of credential in a single 1828 /// request.
1848 * request. 1829 ///
1849 * 1830 /// If a method doesn't have any auth requirements, request credentials will be
1850 * If a method doesn't have any auth requirements, request credentials will be 1831 /// ignored.
1851 * ignored.
1852 */
1853 class AuthenticationRule { 1832 class AuthenticationRule {
1854 /** 1833 /// Whether to allow requests without a credential. The credential can be
1855 * Whether to allow requests without a credential. The credential can be 1834 /// an OAuth token, Google cookies (first-party auth) or EndUserCreds.
1856 * an OAuth token, Google cookies (first-party auth) or EndUserCreds. 1835 ///
1857 * 1836 /// For requests without credentials, if the service control environment is
1858 * For requests without credentials, if the service control environment is 1837 /// specified, each incoming request **must** be associated with a service
1859 * specified, each incoming request **must** be associated with a service 1838 /// consumer. This can be done by passing an API key that belongs to a
1860 * consumer. This can be done by passing an API key that belongs to a consumer 1839 /// consumer
1861 * project. 1840 /// project.
1862 */
1863 core.bool allowWithoutCredential; 1841 core.bool allowWithoutCredential;
1864 /** Configuration for custom authentication. */ 1842
1843 /// Configuration for custom authentication.
1865 CustomAuthRequirements customAuth; 1844 CustomAuthRequirements customAuth;
1866 /** The requirements for OAuth credentials. */ 1845
1846 /// The requirements for OAuth credentials.
1867 OAuthRequirements oauth; 1847 OAuthRequirements oauth;
1868 /** Requirements for additional authentication providers. */ 1848
1849 /// Requirements for additional authentication providers.
1869 core.List<AuthRequirement> requirements; 1850 core.List<AuthRequirement> requirements;
1870 /** 1851
1871 * Selects the methods to which this rule applies. 1852 /// Selects the methods to which this rule applies.
1872 * 1853 ///
1873 * Refer to selector for syntax details. 1854 /// Refer to selector for syntax details.
1874 */
1875 core.String selector; 1855 core.String selector;
1876 1856
1877 AuthenticationRule(); 1857 AuthenticationRule();
1878 1858
1879 AuthenticationRule.fromJson(core.Map _json) { 1859 AuthenticationRule.fromJson(core.Map _json) {
1880 if (_json.containsKey("allowWithoutCredential")) { 1860 if (_json.containsKey("allowWithoutCredential")) {
1881 allowWithoutCredential = _json["allowWithoutCredential"]; 1861 allowWithoutCredential = _json["allowWithoutCredential"];
1882 } 1862 }
1883 if (_json.containsKey("customAuth")) { 1863 if (_json.containsKey("customAuth")) {
1884 customAuth = new CustomAuthRequirements.fromJson(_json["customAuth"]); 1864 customAuth = new CustomAuthRequirements.fromJson(_json["customAuth"]);
1885 } 1865 }
1886 if (_json.containsKey("oauth")) { 1866 if (_json.containsKey("oauth")) {
1887 oauth = new OAuthRequirements.fromJson(_json["oauth"]); 1867 oauth = new OAuthRequirements.fromJson(_json["oauth"]);
1888 } 1868 }
1889 if (_json.containsKey("requirements")) { 1869 if (_json.containsKey("requirements")) {
1890 requirements = _json["requirements"].map((value) => new AuthRequirement.fr omJson(value)).toList(); 1870 requirements = _json["requirements"]
1871 .map((value) => new AuthRequirement.fromJson(value))
1872 .toList();
1891 } 1873 }
1892 if (_json.containsKey("selector")) { 1874 if (_json.containsKey("selector")) {
1893 selector = _json["selector"]; 1875 selector = _json["selector"];
1894 } 1876 }
1895 } 1877 }
1896 1878
1897 core.Map<core.String, core.Object> toJson() { 1879 core.Map<core.String, core.Object> toJson() {
1898 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1880 final core.Map<core.String, core.Object> _json =
1881 new core.Map<core.String, core.Object>();
1899 if (allowWithoutCredential != null) { 1882 if (allowWithoutCredential != null) {
1900 _json["allowWithoutCredential"] = allowWithoutCredential; 1883 _json["allowWithoutCredential"] = allowWithoutCredential;
1901 } 1884 }
1902 if (customAuth != null) { 1885 if (customAuth != null) {
1903 _json["customAuth"] = (customAuth).toJson(); 1886 _json["customAuth"] = (customAuth).toJson();
1904 } 1887 }
1905 if (oauth != null) { 1888 if (oauth != null) {
1906 _json["oauth"] = (oauth).toJson(); 1889 _json["oauth"] = (oauth).toJson();
1907 } 1890 }
1908 if (requirements != null) { 1891 if (requirements != null) {
1909 _json["requirements"] = requirements.map((value) => (value).toJson()).toLi st(); 1892 _json["requirements"] =
1893 requirements.map((value) => (value).toJson()).toList();
1910 } 1894 }
1911 if (selector != null) { 1895 if (selector != null) {
1912 _json["selector"] = selector; 1896 _json["selector"] = selector;
1913 } 1897 }
1914 return _json; 1898 return _json;
1915 } 1899 }
1916 } 1900 }
1917 1901
1918 /** 1902 /// Configuration of authorization.
1919 * Configuration of authorization. 1903 ///
1920 * 1904 /// This section determines the authorization provider, if unspecified, then no
1921 * This section determines the authorization provider, if unspecified, then no 1905 /// authorization check will be done.
1922 * authorization check will be done. 1906 ///
1923 * 1907 /// Example:
1924 * Example: 1908 ///
1925 * 1909 /// experimental:
1926 * experimental: 1910 /// authorization:
1927 * authorization: 1911 /// provider: firebaserules.googleapis.com
1928 * provider: firebaserules.googleapis.com
1929 */
1930 class AuthorizationConfig { 1912 class AuthorizationConfig {
1931 /** 1913 /// The name of the authorization provider, such as
1932 * The name of the authorization provider, such as 1914 /// firebaserules.googleapis.com.
1933 * firebaserules.googleapis.com.
1934 */
1935 core.String provider; 1915 core.String provider;
1936 1916
1937 AuthorizationConfig(); 1917 AuthorizationConfig();
1938 1918
1939 AuthorizationConfig.fromJson(core.Map _json) { 1919 AuthorizationConfig.fromJson(core.Map _json) {
1940 if (_json.containsKey("provider")) { 1920 if (_json.containsKey("provider")) {
1941 provider = _json["provider"]; 1921 provider = _json["provider"];
1942 } 1922 }
1943 } 1923 }
1944 1924
1945 core.Map<core.String, core.Object> toJson() { 1925 core.Map<core.String, core.Object> toJson() {
1946 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1926 final core.Map<core.String, core.Object> _json =
1927 new core.Map<core.String, core.Object>();
1947 if (provider != null) { 1928 if (provider != null) {
1948 _json["provider"] = provider; 1929 _json["provider"] = provider;
1949 } 1930 }
1950 return _json; 1931 return _json;
1951 } 1932 }
1952 } 1933 }
1953 1934
1954 /** `Backend` defines the backend configuration for a service. */ 1935 /// `Backend` defines the backend configuration for a service.
1955 class Backend { 1936 class Backend {
1956 /** 1937 /// A list of API backend rules that apply to individual API methods.
1957 * A list of API backend rules that apply to individual API methods. 1938 ///
1958 * 1939 /// **NOTE:** All service configuration rules follow "last one wins" order.
1959 * **NOTE:** All service configuration rules follow "last one wins" order.
1960 */
1961 core.List<BackendRule> rules; 1940 core.List<BackendRule> rules;
1962 1941
1963 Backend(); 1942 Backend();
1964 1943
1965 Backend.fromJson(core.Map _json) { 1944 Backend.fromJson(core.Map _json) {
1966 if (_json.containsKey("rules")) { 1945 if (_json.containsKey("rules")) {
1967 rules = _json["rules"].map((value) => new BackendRule.fromJson(value)).toL ist(); 1946 rules = _json["rules"]
1947 .map((value) => new BackendRule.fromJson(value))
1948 .toList();
1968 } 1949 }
1969 } 1950 }
1970 1951
1971 core.Map<core.String, core.Object> toJson() { 1952 core.Map<core.String, core.Object> toJson() {
1972 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1953 final core.Map<core.String, core.Object> _json =
1954 new core.Map<core.String, core.Object>();
1973 if (rules != null) { 1955 if (rules != null) {
1974 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 1956 _json["rules"] = rules.map((value) => (value).toJson()).toList();
1975 } 1957 }
1976 return _json; 1958 return _json;
1977 } 1959 }
1978 } 1960 }
1979 1961
1980 /** A backend rule provides configuration for an individual API element. */ 1962 /// A backend rule provides configuration for an individual API element.
1981 class BackendRule { 1963 class BackendRule {
1982 /** The address of the API backend. */ 1964 /// The address of the API backend.
1983 core.String address; 1965 core.String address;
1984 /** 1966
1985 * The number of seconds to wait for a response from a request. The 1967 /// The number of seconds to wait for a response from a request. The default
1986 * default depends on the deployment context. 1968 /// deadline for gRPC and HTTP requests is 5 seconds. For Stubby requests,
1987 */ 1969 /// the default is no deadline.
1988 core.double deadline; 1970 core.double deadline;
1989 /** 1971
1990 * Minimum deadline in seconds needed for this method. Calls having deadline 1972 /// Minimum deadline in seconds needed for this method. Calls having deadline
1991 * value lower than this will be rejected. 1973 /// value lower than this will be rejected.
1992 */
1993 core.double minDeadline; 1974 core.double minDeadline;
1994 /** 1975
1995 * Selects the methods to which this rule applies. 1976 /// Selects the methods to which this rule applies.
1996 * 1977 ///
1997 * Refer to selector for syntax details. 1978 /// Refer to selector for syntax details.
1998 */
1999 core.String selector; 1979 core.String selector;
2000 1980
2001 BackendRule(); 1981 BackendRule();
2002 1982
2003 BackendRule.fromJson(core.Map _json) { 1983 BackendRule.fromJson(core.Map _json) {
2004 if (_json.containsKey("address")) { 1984 if (_json.containsKey("address")) {
2005 address = _json["address"]; 1985 address = _json["address"];
2006 } 1986 }
2007 if (_json.containsKey("deadline")) { 1987 if (_json.containsKey("deadline")) {
2008 deadline = _json["deadline"]; 1988 deadline = _json["deadline"];
2009 } 1989 }
2010 if (_json.containsKey("minDeadline")) { 1990 if (_json.containsKey("minDeadline")) {
2011 minDeadline = _json["minDeadline"]; 1991 minDeadline = _json["minDeadline"];
2012 } 1992 }
2013 if (_json.containsKey("selector")) { 1993 if (_json.containsKey("selector")) {
2014 selector = _json["selector"]; 1994 selector = _json["selector"];
2015 } 1995 }
2016 } 1996 }
2017 1997
2018 core.Map<core.String, core.Object> toJson() { 1998 core.Map<core.String, core.Object> toJson() {
2019 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1999 final core.Map<core.String, core.Object> _json =
2000 new core.Map<core.String, core.Object>();
2020 if (address != null) { 2001 if (address != null) {
2021 _json["address"] = address; 2002 _json["address"] = address;
2022 } 2003 }
2023 if (deadline != null) { 2004 if (deadline != null) {
2024 _json["deadline"] = deadline; 2005 _json["deadline"] = deadline;
2025 } 2006 }
2026 if (minDeadline != null) { 2007 if (minDeadline != null) {
2027 _json["minDeadline"] = minDeadline; 2008 _json["minDeadline"] = minDeadline;
2028 } 2009 }
2029 if (selector != null) { 2010 if (selector != null) {
2030 _json["selector"] = selector; 2011 _json["selector"] = selector;
2031 } 2012 }
2032 return _json; 2013 return _json;
2033 } 2014 }
2034 } 2015 }
2035 2016
2036 /** Associates `members` with a `role`. */ 2017 /// Associates `members` with a `role`.
2037 class Binding { 2018 class Binding {
2038 /** 2019 /// The condition that is associated with this binding.
2039 * The condition that is associated with this binding. 2020 /// NOTE: an unsatisfied condition will not allow user access via current
2040 * NOTE: an unsatisfied condition will not allow user access via current 2021 /// binding. Different bindings, including their conditions, are examined
2041 * binding. Different bindings, including their conditions, are examined 2022 /// independently.
2042 * independently. 2023 /// This field is GOOGLE_INTERNAL.
2043 * This field is GOOGLE_INTERNAL.
2044 */
2045 Expr condition; 2024 Expr condition;
2046 /** 2025
2047 * Specifies the identities requesting access for a Cloud Platform resource. 2026 /// Specifies the identities requesting access for a Cloud Platform resource.
2048 * `members` can have the following values: 2027 /// `members` can have the following values:
2049 * 2028 ///
2050 * * `allUsers`: A special identifier that represents anyone who is 2029 /// * `allUsers`: A special identifier that represents anyone who is
2051 * on the internet; with or without a Google account. 2030 /// on the internet; with or without a Google account.
2052 * 2031 ///
2053 * * `allAuthenticatedUsers`: A special identifier that represents anyone 2032 /// * `allAuthenticatedUsers`: A special identifier that represents anyone
2054 * who is authenticated with a Google account or a service account. 2033 /// who is authenticated with a Google account or a service account.
2055 * 2034 ///
2056 * * `user:{emailid}`: An email address that represents a specific Google 2035 /// * `user:{emailid}`: An email address that represents a specific Google
2057 * account. For example, `alice@gmail.com` or `joe@example.com`. 2036 /// account. For example, `alice@gmail.com` or `joe@example.com`.
2058 * 2037 ///
2059 * 2038 ///
2060 * * `serviceAccount:{emailid}`: An email address that represents a service 2039 /// * `serviceAccount:{emailid}`: An email address that represents a service
2061 * account. For example, `my-other-app@appspot.gserviceaccount.com`. 2040 /// account. For example, `my-other-app@appspot.gserviceaccount.com`.
2062 * 2041 ///
2063 * * `group:{emailid}`: An email address that represents a Google group. 2042 /// * `group:{emailid}`: An email address that represents a Google group.
2064 * For example, `admins@example.com`. 2043 /// For example, `admins@example.com`.
2065 * 2044 ///
2066 * 2045 ///
2067 * * `domain:{domain}`: A Google Apps domain name that represents all the 2046 /// * `domain:{domain}`: A Google Apps domain name that represents all the
2068 * users of that domain. For example, `google.com` or `example.com`. 2047 /// users of that domain. For example, `google.com` or `example.com`.
2069 */
2070 core.List<core.String> members; 2048 core.List<core.String> members;
2071 /** 2049
2072 * Role that is assigned to `members`. 2050 /// Role that is assigned to `members`.
2073 * For example, `roles/viewer`, `roles/editor`, or `roles/owner`. 2051 /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
2074 * Required 2052 /// Required
2075 */
2076 core.String role; 2053 core.String role;
2077 2054
2078 Binding(); 2055 Binding();
2079 2056
2080 Binding.fromJson(core.Map _json) { 2057 Binding.fromJson(core.Map _json) {
2081 if (_json.containsKey("condition")) { 2058 if (_json.containsKey("condition")) {
2082 condition = new Expr.fromJson(_json["condition"]); 2059 condition = new Expr.fromJson(_json["condition"]);
2083 } 2060 }
2084 if (_json.containsKey("members")) { 2061 if (_json.containsKey("members")) {
2085 members = _json["members"]; 2062 members = _json["members"];
2086 } 2063 }
2087 if (_json.containsKey("role")) { 2064 if (_json.containsKey("role")) {
2088 role = _json["role"]; 2065 role = _json["role"];
2089 } 2066 }
2090 } 2067 }
2091 2068
2092 core.Map<core.String, core.Object> toJson() { 2069 core.Map<core.String, core.Object> toJson() {
2093 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2070 final core.Map<core.String, core.Object> _json =
2071 new core.Map<core.String, core.Object>();
2094 if (condition != null) { 2072 if (condition != null) {
2095 _json["condition"] = (condition).toJson(); 2073 _json["condition"] = (condition).toJson();
2096 } 2074 }
2097 if (members != null) { 2075 if (members != null) {
2098 _json["members"] = members; 2076 _json["members"] = members;
2099 } 2077 }
2100 if (role != null) { 2078 if (role != null) {
2101 _json["role"] = role; 2079 _json["role"] = role;
2102 } 2080 }
2103 return _json; 2081 return _json;
2104 } 2082 }
2105 } 2083 }
2106 2084
2107 /** 2085 /// Change report associated with a particular service configuration.
2108 * Change report associated with a particular service configuration. 2086 ///
2109 * 2087 /// It contains a list of ConfigChanges based on the comparison between
2110 * It contains a list of ConfigChanges based on the comparison between 2088 /// two service configurations.
2111 * two service configurations.
2112 */
2113 class ChangeReport { 2089 class ChangeReport {
2114 /** 2090 /// List of changes between two service configurations.
2115 * List of changes between two service configurations. 2091 /// The changes will be alphabetically sorted based on the identifier
2116 * The changes will be alphabetically sorted based on the identifier 2092 /// of each change.
2117 * of each change. 2093 /// A ConfigChange identifier is a dot separated path to the configuration.
2118 * A ConfigChange identifier is a dot separated path to the configuration. 2094 /// Example:
2119 * Example: visibility.rules[selector='LibraryService.CreateBook'].restriction 2095 /// visibility.rules[selector='LibraryService.CreateBook'].restriction
2120 */
2121 core.List<ConfigChange> configChanges; 2096 core.List<ConfigChange> configChanges;
2122 2097
2123 ChangeReport(); 2098 ChangeReport();
2124 2099
2125 ChangeReport.fromJson(core.Map _json) { 2100 ChangeReport.fromJson(core.Map _json) {
2126 if (_json.containsKey("configChanges")) { 2101 if (_json.containsKey("configChanges")) {
2127 configChanges = _json["configChanges"].map((value) => new ConfigChange.fro mJson(value)).toList(); 2102 configChanges = _json["configChanges"]
2103 .map((value) => new ConfigChange.fromJson(value))
2104 .toList();
2128 } 2105 }
2129 } 2106 }
2130 2107
2131 core.Map<core.String, core.Object> toJson() { 2108 core.Map<core.String, core.Object> toJson() {
2132 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2109 final core.Map<core.String, core.Object> _json =
2110 new core.Map<core.String, core.Object>();
2133 if (configChanges != null) { 2111 if (configChanges != null) {
2134 _json["configChanges"] = configChanges.map((value) => (value).toJson()).to List(); 2112 _json["configChanges"] =
2113 configChanges.map((value) => (value).toJson()).toList();
2135 } 2114 }
2136 return _json; 2115 return _json;
2137 } 2116 }
2138 } 2117 }
2139 2118
2140 /** Write a Cloud Audit log */ 2119 /// Output generated from semantically comparing two versions of a service
2141 class CloudAuditOptions { 2120 /// configuration.
2142 /** 2121 ///
2143 * The log_name to populate in the Cloud Audit Record. 2122 /// Includes detailed information about a field that have changed with
2144 * Possible string values are: 2123 /// applicable advice about potential consequences for the change, such as
2145 * - "UNSPECIFIED_LOG_NAME" : Default. Should not be used. 2124 /// backwards-incompatibility.
2146 * - "ADMIN_ACTIVITY" : Corresponds to "cloudaudit.googleapis.com/activity" 2125 class ConfigChange {
2147 * - "DATA_ACCESS" : Corresponds to "cloudaudit.googleapis.com/data_access" 2126 /// Collection of advice provided for this change, useful for determining the
2148 */ 2127 /// possible impact of this change.
2149 core.String logName; 2128 core.List<Advice> advices;
2150 2129
2151 CloudAuditOptions(); 2130 /// The type for this change, either ADDED, REMOVED, or MODIFIED.
2131 /// Possible string values are:
2132 /// - "CHANGE_TYPE_UNSPECIFIED" : No value was provided.
2133 /// - "ADDED" : The changed object exists in the 'new' service configuration,
2134 /// but not
2135 /// in the 'old' service configuration.
2136 /// - "REMOVED" : The changed object exists in the 'old' service
2137 /// configuration, but not
2138 /// in the 'new' service configuration.
2139 /// - "MODIFIED" : The changed object exists in both service configurations,
2140 /// but its value
2141 /// is different.
2142 core.String changeType;
2152 2143
2153 CloudAuditOptions.fromJson(core.Map _json) { 2144 /// Object hierarchy path to the change, with levels separated by a '.'
2154 if (_json.containsKey("logName")) { 2145 /// character. For repeated fields, an applicable unique identifier field is
2155 logName = _json["logName"]; 2146 /// used for the index (usually selector, name, or id). For maps, the term
2156 } 2147 /// 'key' is used. If the field has no unique identifier, the numeric index
2157 } 2148 /// is used.
2149 /// Examples:
2150 /// -
2151 /// visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
2152 /// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
2153 /// - logging.producer_destinations[0]
2154 core.String element;
2158 2155
2159 core.Map<core.String, core.Object> toJson() { 2156 /// Value of the changed object in the new Service configuration,
2160 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2157 /// in JSON format. This field will not be populated if ChangeType ==
2161 if (logName != null) { 2158 /// REMOVED.
2162 _json["logName"] = logName; 2159 core.String newValue;
2163 }
2164 return _json;
2165 }
2166 }
2167 2160
2168 /** A condition to be met. */ 2161 /// Value of the changed object in the old Service configuration,
2169 class Condition { 2162 /// in JSON format. This field will not be populated if ChangeType == ADDED.
2170 /**
2171 * Trusted attributes supplied by the IAM system.
2172 * Possible string values are:
2173 * - "NO_ATTR" : Default non-attribute.
2174 * - "AUTHORITY" : Either principal or (if present) authority selector.
2175 * - "ATTRIBUTION" : The principal (even if an authority selector is present),
2176 * which
2177 * must only be used for attribution, not authorization.
2178 * - "APPROVER" : An approver (distinct from the requester) that has
2179 * authorized this
2180 * request.
2181 * When used with IN, the condition indicates that one of the approvers
2182 * associated with the request matches the specified principal, or is a
2183 * member of the specified group. Approvers can only grant additional
2184 * access, and are thus only used in a strictly positive context
2185 * (e.g. ALLOW/IN or DENY/NOT_IN).
2186 * - "JUSTIFICATION_TYPE" : What types of justifications have been supplied
2187 * with this request.
2188 * String values should match enum names from tech.iam.JustificationType,
2189 * e.g. "MANUAL_STRING". It is not permitted to grant access based on
2190 * the *absence* of a justification, so justification conditions can only
2191 * be used in a "positive" context (e.g., ALLOW/IN or DENY/NOT_IN).
2192 *
2193 * Multiple justifications, e.g., a Buganizer ID and a manually-entered
2194 * reason, are normal and supported.
2195 */
2196 core.String iam;
2197 /**
2198 * An operator to apply the subject with.
2199 * Possible string values are:
2200 * - "NO_OP" : Default no-op.
2201 * - "EQUALS" : DEPRECATED. Use IN instead.
2202 * - "NOT_EQUALS" : DEPRECATED. Use NOT_IN instead.
2203 * - "IN" : The condition is true if the subject (or any element of it if it
2204 * is
2205 * a set) matches any of the supplied values.
2206 * - "NOT_IN" : The condition is true if the subject (or every element of it
2207 * if it is
2208 * a set) matches none of the supplied values.
2209 * - "DISCHARGED" : Subject is discharged
2210 */
2211 core.String op;
2212 /** Trusted attributes discharged by the service. */
2213 core.String svc;
2214 /**
2215 * Trusted attributes supplied by any service that owns resources and uses
2216 * the IAM system for access control.
2217 * Possible string values are:
2218 * - "NO_ATTR" : Default non-attribute type
2219 * - "REGION" : Region of the resource
2220 * - "SERVICE" : Service name
2221 * - "NAME" : Resource name
2222 * - "IP" : IP address of the caller
2223 */
2224 core.String sys;
2225 /** DEPRECATED. Use 'values' instead. */
2226 core.String value;
2227 /** The objects of the condition. This is mutually exclusive with 'value'. */
2228 core.List<core.String> values;
2229
2230 Condition();
2231
2232 Condition.fromJson(core.Map _json) {
2233 if (_json.containsKey("iam")) {
2234 iam = _json["iam"];
2235 }
2236 if (_json.containsKey("op")) {
2237 op = _json["op"];
2238 }
2239 if (_json.containsKey("svc")) {
2240 svc = _json["svc"];
2241 }
2242 if (_json.containsKey("sys")) {
2243 sys = _json["sys"];
2244 }
2245 if (_json.containsKey("value")) {
2246 value = _json["value"];
2247 }
2248 if (_json.containsKey("values")) {
2249 values = _json["values"];
2250 }
2251 }
2252
2253 core.Map<core.String, core.Object> toJson() {
2254 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>();
2255 if (iam != null) {
2256 _json["iam"] = iam;
2257 }
2258 if (op != null) {
2259 _json["op"] = op;
2260 }
2261 if (svc != null) {
2262 _json["svc"] = svc;
2263 }
2264 if (sys != null) {
2265 _json["sys"] = sys;
2266 }
2267 if (value != null) {
2268 _json["value"] = value;
2269 }
2270 if (values != null) {
2271 _json["values"] = values;
2272 }
2273 return _json;
2274 }
2275 }
2276
2277 /**
2278 * Output generated from semantically comparing two versions of a service
2279 * configuration.
2280 *
2281 * Includes detailed information about a field that have changed with
2282 * applicable advice about potential consequences for the change, such as
2283 * backwards-incompatibility.
2284 */
2285 class ConfigChange {
2286 /**
2287 * Collection of advice provided for this change, useful for determining the
2288 * possible impact of this change.
2289 */
2290 core.List<Advice> advices;
2291 /**
2292 * The type for this change, either ADDED, REMOVED, or MODIFIED.
2293 * Possible string values are:
2294 * - "CHANGE_TYPE_UNSPECIFIED" : No value was provided.
2295 * - "ADDED" : The changed object exists in the 'new' service configuration,
2296 * but not
2297 * in the 'old' service configuration.
2298 * - "REMOVED" : The changed object exists in the 'old' service configuration,
2299 * but not
2300 * in the 'new' service configuration.
2301 * - "MODIFIED" : The changed object exists in both service configurations,
2302 * but its value
2303 * is different.
2304 */
2305 core.String changeType;
2306 /**
2307 * Object hierarchy path to the change, with levels separated by a '.'
2308 * character. For repeated fields, an applicable unique identifier field is
2309 * used for the index (usually selector, name, or id). For maps, the term
2310 * 'key' is used. If the field has no unique identifier, the numeric index
2311 * is used.
2312 * Examples:
2313 * -
2314 * visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
2315 * - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
2316 * - logging.producer_destinations[0]
2317 */
2318 core.String element;
2319 /**
2320 * Value of the changed object in the new Service configuration,
2321 * in JSON format. This field will not be populated if ChangeType == REMOVED.
2322 */
2323 core.String newValue;
2324 /**
2325 * Value of the changed object in the old Service configuration,
2326 * in JSON format. This field will not be populated if ChangeType == ADDED.
2327 */
2328 core.String oldValue; 2163 core.String oldValue;
2329 2164
2330 ConfigChange(); 2165 ConfigChange();
2331 2166
2332 ConfigChange.fromJson(core.Map _json) { 2167 ConfigChange.fromJson(core.Map _json) {
2333 if (_json.containsKey("advices")) { 2168 if (_json.containsKey("advices")) {
2334 advices = _json["advices"].map((value) => new Advice.fromJson(value)).toLi st(); 2169 advices =
2170 _json["advices"].map((value) => new Advice.fromJson(value)).toList();
2335 } 2171 }
2336 if (_json.containsKey("changeType")) { 2172 if (_json.containsKey("changeType")) {
2337 changeType = _json["changeType"]; 2173 changeType = _json["changeType"];
2338 } 2174 }
2339 if (_json.containsKey("element")) { 2175 if (_json.containsKey("element")) {
2340 element = _json["element"]; 2176 element = _json["element"];
2341 } 2177 }
2342 if (_json.containsKey("newValue")) { 2178 if (_json.containsKey("newValue")) {
2343 newValue = _json["newValue"]; 2179 newValue = _json["newValue"];
2344 } 2180 }
2345 if (_json.containsKey("oldValue")) { 2181 if (_json.containsKey("oldValue")) {
2346 oldValue = _json["oldValue"]; 2182 oldValue = _json["oldValue"];
2347 } 2183 }
2348 } 2184 }
2349 2185
2350 core.Map<core.String, core.Object> toJson() { 2186 core.Map<core.String, core.Object> toJson() {
2351 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2187 final core.Map<core.String, core.Object> _json =
2188 new core.Map<core.String, core.Object>();
2352 if (advices != null) { 2189 if (advices != null) {
2353 _json["advices"] = advices.map((value) => (value).toJson()).toList(); 2190 _json["advices"] = advices.map((value) => (value).toJson()).toList();
2354 } 2191 }
2355 if (changeType != null) { 2192 if (changeType != null) {
2356 _json["changeType"] = changeType; 2193 _json["changeType"] = changeType;
2357 } 2194 }
2358 if (element != null) { 2195 if (element != null) {
2359 _json["element"] = element; 2196 _json["element"] = element;
2360 } 2197 }
2361 if (newValue != null) { 2198 if (newValue != null) {
2362 _json["newValue"] = newValue; 2199 _json["newValue"] = newValue;
2363 } 2200 }
2364 if (oldValue != null) { 2201 if (oldValue != null) {
2365 _json["oldValue"] = oldValue; 2202 _json["oldValue"] = oldValue;
2366 } 2203 }
2367 return _json; 2204 return _json;
2368 } 2205 }
2369 } 2206 }
2370 2207
2371 /** Generic specification of a source configuration file */ 2208 /// Generic specification of a source configuration file
2372 class ConfigFile { 2209 class ConfigFile {
2373 /** The bytes that constitute the file. */ 2210 /// The bytes that constitute the file.
2374 core.String fileContents; 2211 core.String fileContents;
2375 core.List<core.int> get fileContentsAsBytes { 2212 core.List<core.int> get fileContentsAsBytes {
2376 return convert.BASE64.decode(fileContents); 2213 return convert.BASE64.decode(fileContents);
2377 } 2214 }
2378 2215
2379 void set fileContentsAsBytes(core.List<core.int> _bytes) { 2216 void set fileContentsAsBytes(core.List<core.int> _bytes) {
2380 fileContents = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll ("+", "-"); 2217 fileContents =
2218 convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
2381 } 2219 }
2382 /** The file name of the configuration file (full or relative path). */ 2220
2221 /// The file name of the configuration file (full or relative path).
2383 core.String filePath; 2222 core.String filePath;
2384 /** 2223
2385 * The type of configuration file this represents. 2224 /// The type of configuration file this represents.
2386 * Possible string values are: 2225 /// Possible string values are:
2387 * - "FILE_TYPE_UNSPECIFIED" : Unknown file type. 2226 /// - "FILE_TYPE_UNSPECIFIED" : Unknown file type.
2388 * - "SERVICE_CONFIG_YAML" : YAML-specification of service. 2227 /// - "SERVICE_CONFIG_YAML" : YAML-specification of service.
2389 * - "OPEN_API_JSON" : OpenAPI specification, serialized in JSON. 2228 /// - "OPEN_API_JSON" : OpenAPI specification, serialized in JSON.
2390 * - "OPEN_API_YAML" : OpenAPI specification, serialized in YAML. 2229 /// - "OPEN_API_YAML" : OpenAPI specification, serialized in YAML.
2391 * - "FILE_DESCRIPTOR_SET_PROTO" : FileDescriptorSet, generated by protoc. 2230 /// - "FILE_DESCRIPTOR_SET_PROTO" : FileDescriptorSet, generated by protoc.
2392 * 2231 ///
2393 * To generate, use protoc with imports and source info included. 2232 /// To generate, use protoc with imports and source info included.
2394 * For an example test.proto file, the following command would put the value 2233 /// For an example test.proto file, the following command would put the value
2395 * in a new file named out.pb. 2234 /// in a new file named out.pb.
2396 * 2235 ///
2397 * $protoc --include_imports --include_source_info test.proto -o out.pb 2236 /// $protoc --include_imports --include_source_info test.proto -o out.pb
2398 */
2399 core.String fileType; 2237 core.String fileType;
2400 2238
2401 ConfigFile(); 2239 ConfigFile();
2402 2240
2403 ConfigFile.fromJson(core.Map _json) { 2241 ConfigFile.fromJson(core.Map _json) {
2404 if (_json.containsKey("fileContents")) { 2242 if (_json.containsKey("fileContents")) {
2405 fileContents = _json["fileContents"]; 2243 fileContents = _json["fileContents"];
2406 } 2244 }
2407 if (_json.containsKey("filePath")) { 2245 if (_json.containsKey("filePath")) {
2408 filePath = _json["filePath"]; 2246 filePath = _json["filePath"];
2409 } 2247 }
2410 if (_json.containsKey("fileType")) { 2248 if (_json.containsKey("fileType")) {
2411 fileType = _json["fileType"]; 2249 fileType = _json["fileType"];
2412 } 2250 }
2413 } 2251 }
2414 2252
2415 core.Map<core.String, core.Object> toJson() { 2253 core.Map<core.String, core.Object> toJson() {
2416 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2254 final core.Map<core.String, core.Object> _json =
2255 new core.Map<core.String, core.Object>();
2417 if (fileContents != null) { 2256 if (fileContents != null) {
2418 _json["fileContents"] = fileContents; 2257 _json["fileContents"] = fileContents;
2419 } 2258 }
2420 if (filePath != null) { 2259 if (filePath != null) {
2421 _json["filePath"] = filePath; 2260 _json["filePath"] = filePath;
2422 } 2261 }
2423 if (fileType != null) { 2262 if (fileType != null) {
2424 _json["fileType"] = fileType; 2263 _json["fileType"] = fileType;
2425 } 2264 }
2426 return _json; 2265 return _json;
2427 } 2266 }
2428 } 2267 }
2429 2268
2430 /** Represents a service configuration with its name and id. */ 2269 /// Represents a service configuration with its name and id.
2431 class ConfigRef { 2270 class ConfigRef {
2432 /** 2271 /// Resource name of a service config. It must have the following
2433 * Resource name of a service config. It must have the following 2272 /// format: "services/{service name}/configs/{config id}".
2434 * format: "services/{service name}/configs/{config id}".
2435 */
2436 core.String name; 2273 core.String name;
2437 2274
2438 ConfigRef(); 2275 ConfigRef();
2439 2276
2440 ConfigRef.fromJson(core.Map _json) { 2277 ConfigRef.fromJson(core.Map _json) {
2441 if (_json.containsKey("name")) { 2278 if (_json.containsKey("name")) {
2442 name = _json["name"]; 2279 name = _json["name"];
2443 } 2280 }
2444 } 2281 }
2445 2282
2446 core.Map<core.String, core.Object> toJson() { 2283 core.Map<core.String, core.Object> toJson() {
2447 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2284 final core.Map<core.String, core.Object> _json =
2285 new core.Map<core.String, core.Object>();
2448 if (name != null) { 2286 if (name != null) {
2449 _json["name"] = name; 2287 _json["name"] = name;
2450 } 2288 }
2451 return _json; 2289 return _json;
2452 } 2290 }
2453 } 2291 }
2454 2292
2455 /** 2293 /// Represents a source file which is used to generate the service
2456 * Represents a source file which is used to generate the service configuration 2294 /// configuration
2457 * defined by `google.api.Service`. 2295 /// defined by `google.api.Service`.
2458 */
2459 class ConfigSource { 2296 class ConfigSource {
2460 /** 2297 /// Set of source configuration files that are used to generate a service
2461 * Set of source configuration files that are used to generate a service 2298 /// configuration (`google.api.Service`).
2462 * configuration (`google.api.Service`).
2463 */
2464 core.List<ConfigFile> files; 2299 core.List<ConfigFile> files;
2465 /** 2300
2466 * A unique ID for a specific instance of this message, typically assigned 2301 /// A unique ID for a specific instance of this message, typically assigned
2467 * by the client for tracking purpose. If empty, the server may choose to 2302 /// by the client for tracking purpose. If empty, the server may choose to
2468 * generate one instead. 2303 /// generate one instead.
2469 */
2470 core.String id; 2304 core.String id;
2471 2305
2472 ConfigSource(); 2306 ConfigSource();
2473 2307
2474 ConfigSource.fromJson(core.Map _json) { 2308 ConfigSource.fromJson(core.Map _json) {
2475 if (_json.containsKey("files")) { 2309 if (_json.containsKey("files")) {
2476 files = _json["files"].map((value) => new ConfigFile.fromJson(value)).toLi st(); 2310 files = _json["files"]
2311 .map((value) => new ConfigFile.fromJson(value))
2312 .toList();
2477 } 2313 }
2478 if (_json.containsKey("id")) { 2314 if (_json.containsKey("id")) {
2479 id = _json["id"]; 2315 id = _json["id"];
2480 } 2316 }
2481 } 2317 }
2482 2318
2483 core.Map<core.String, core.Object> toJson() { 2319 core.Map<core.String, core.Object> toJson() {
2484 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2320 final core.Map<core.String, core.Object> _json =
2321 new core.Map<core.String, core.Object>();
2485 if (files != null) { 2322 if (files != null) {
2486 _json["files"] = files.map((value) => (value).toJson()).toList(); 2323 _json["files"] = files.map((value) => (value).toJson()).toList();
2487 } 2324 }
2488 if (id != null) { 2325 if (id != null) {
2489 _json["id"] = id; 2326 _json["id"] = id;
2490 } 2327 }
2491 return _json; 2328 return _json;
2492 } 2329 }
2493 } 2330 }
2494 2331
2495 /** 2332 /// `Context` defines which contexts an API requests.
2496 * `Context` defines which contexts an API requests. 2333 ///
2497 * 2334 /// Example:
2498 * Example: 2335 ///
2499 * 2336 /// context:
2500 * context: 2337 /// rules:
2501 * rules: 2338 /// - selector: "*"
2502 * - selector: "*" 2339 /// requested:
2503 * requested: 2340 /// - google.rpc.context.ProjectContext
2504 * - google.rpc.context.ProjectContext 2341 /// - google.rpc.context.OriginContext
2505 * - google.rpc.context.OriginContext 2342 ///
2506 * 2343 /// The above specifies that all methods in the API request
2507 * The above specifies that all methods in the API request 2344 /// `google.rpc.context.ProjectContext` and
2508 * `google.rpc.context.ProjectContext` and 2345 /// `google.rpc.context.OriginContext`.
2509 * `google.rpc.context.OriginContext`. 2346 ///
2510 * 2347 /// Available context types are defined in package
2511 * Available context types are defined in package 2348 /// `google.rpc.context`.
2512 * `google.rpc.context`.
2513 */
2514 class Context { 2349 class Context {
2515 /** 2350 /// A list of RPC context rules that apply to individual API methods.
2516 * A list of RPC context rules that apply to individual API methods. 2351 ///
2517 * 2352 /// **NOTE:** All service configuration rules follow "last one wins" order.
2518 * **NOTE:** All service configuration rules follow "last one wins" order.
2519 */
2520 core.List<ContextRule> rules; 2353 core.List<ContextRule> rules;
2521 2354
2522 Context(); 2355 Context();
2523 2356
2524 Context.fromJson(core.Map _json) { 2357 Context.fromJson(core.Map _json) {
2525 if (_json.containsKey("rules")) { 2358 if (_json.containsKey("rules")) {
2526 rules = _json["rules"].map((value) => new ContextRule.fromJson(value)).toL ist(); 2359 rules = _json["rules"]
2360 .map((value) => new ContextRule.fromJson(value))
2361 .toList();
2527 } 2362 }
2528 } 2363 }
2529 2364
2530 core.Map<core.String, core.Object> toJson() { 2365 core.Map<core.String, core.Object> toJson() {
2531 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2366 final core.Map<core.String, core.Object> _json =
2367 new core.Map<core.String, core.Object>();
2532 if (rules != null) { 2368 if (rules != null) {
2533 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 2369 _json["rules"] = rules.map((value) => (value).toJson()).toList();
2534 } 2370 }
2535 return _json; 2371 return _json;
2536 } 2372 }
2537 } 2373 }
2538 2374
2539 /** 2375 /// A context rule provides information about the context for an individual API
2540 * A context rule provides information about the context for an individual API 2376 /// element.
2541 * element.
2542 */
2543 class ContextRule { 2377 class ContextRule {
2544 /** A list of full type names of provided contexts. */ 2378 /// A list of full type names of provided contexts.
2545 core.List<core.String> provided; 2379 core.List<core.String> provided;
2546 /** A list of full type names of requested contexts. */ 2380
2381 /// A list of full type names of requested contexts.
2547 core.List<core.String> requested; 2382 core.List<core.String> requested;
2548 /** 2383
2549 * Selects the methods to which this rule applies. 2384 /// Selects the methods to which this rule applies.
2550 * 2385 ///
2551 * Refer to selector for syntax details. 2386 /// Refer to selector for syntax details.
2552 */
2553 core.String selector; 2387 core.String selector;
2554 2388
2555 ContextRule(); 2389 ContextRule();
2556 2390
2557 ContextRule.fromJson(core.Map _json) { 2391 ContextRule.fromJson(core.Map _json) {
2558 if (_json.containsKey("provided")) { 2392 if (_json.containsKey("provided")) {
2559 provided = _json["provided"]; 2393 provided = _json["provided"];
2560 } 2394 }
2561 if (_json.containsKey("requested")) { 2395 if (_json.containsKey("requested")) {
2562 requested = _json["requested"]; 2396 requested = _json["requested"];
2563 } 2397 }
2564 if (_json.containsKey("selector")) { 2398 if (_json.containsKey("selector")) {
2565 selector = _json["selector"]; 2399 selector = _json["selector"];
2566 } 2400 }
2567 } 2401 }
2568 2402
2569 core.Map<core.String, core.Object> toJson() { 2403 core.Map<core.String, core.Object> toJson() {
2570 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2404 final core.Map<core.String, core.Object> _json =
2405 new core.Map<core.String, core.Object>();
2571 if (provided != null) { 2406 if (provided != null) {
2572 _json["provided"] = provided; 2407 _json["provided"] = provided;
2573 } 2408 }
2574 if (requested != null) { 2409 if (requested != null) {
2575 _json["requested"] = requested; 2410 _json["requested"] = requested;
2576 } 2411 }
2577 if (selector != null) { 2412 if (selector != null) {
2578 _json["selector"] = selector; 2413 _json["selector"] = selector;
2579 } 2414 }
2580 return _json; 2415 return _json;
2581 } 2416 }
2582 } 2417 }
2583 2418
2584 /** 2419 /// Selects and configures the service controller used by the service. The
2585 * Selects and configures the service controller used by the service. The 2420 /// service controller handles features like abuse, quota, billing, logging,
2586 * service controller handles features like abuse, quota, billing, logging, 2421 /// monitoring, etc.
2587 * monitoring, etc.
2588 */
2589 class Control { 2422 class Control {
2590 /** 2423 /// The service control environment to use. If empty, no control plane
2591 * The service control environment to use. If empty, no control plane 2424 /// feature (like quota and billing) will be enabled.
2592 * feature (like quota and billing) will be enabled.
2593 */
2594 core.String environment; 2425 core.String environment;
2595 2426
2596 Control(); 2427 Control();
2597 2428
2598 Control.fromJson(core.Map _json) { 2429 Control.fromJson(core.Map _json) {
2599 if (_json.containsKey("environment")) { 2430 if (_json.containsKey("environment")) {
2600 environment = _json["environment"]; 2431 environment = _json["environment"];
2601 } 2432 }
2602 } 2433 }
2603 2434
2604 core.Map<core.String, core.Object> toJson() { 2435 core.Map<core.String, core.Object> toJson() {
2605 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2436 final core.Map<core.String, core.Object> _json =
2437 new core.Map<core.String, core.Object>();
2606 if (environment != null) { 2438 if (environment != null) {
2607 _json["environment"] = environment; 2439 _json["environment"] = environment;
2608 } 2440 }
2609 return _json; 2441 return _json;
2610 } 2442 }
2611 } 2443 }
2612 2444
2613 /** 2445 /// Configuration for a custom authentication provider.
2614 * Increment a streamz counter with the specified metric and field names.
2615 *
2616 * Metric names should start with a '/', generally be lowercase-only,
2617 * and end in "_count". Field names should not contain an initial slash.
2618 * The actual exported metric names will have "/iam/policy" prepended.
2619 *
2620 * Field names correspond to IAM request parameters and field values are
2621 * their respective values.
2622 *
2623 * At present the only supported field names are
2624 * - "iam_principal", corresponding to IAMContext.principal;
2625 * - "" (empty string), resulting in one aggretated counter with no field.
2626 *
2627 * Examples:
2628 * counter { metric: "/debug_access_count" field: "iam_principal" }
2629 * ==> increment counter /iam/policy/backend_debug_access_count
2630 * {iam_principal=[value of IAMContext.principal]}
2631 *
2632 * At this time we do not support:
2633 * * multiple field names (though this may be supported in the future)
2634 * * decrementing the counter
2635 * * incrementing it by anything other than 1
2636 */
2637 class CounterOptions {
2638 /** The field value to attribute. */
2639 core.String field;
2640 /** The metric to update. */
2641 core.String metric;
2642
2643 CounterOptions();
2644
2645 CounterOptions.fromJson(core.Map _json) {
2646 if (_json.containsKey("field")) {
2647 field = _json["field"];
2648 }
2649 if (_json.containsKey("metric")) {
2650 metric = _json["metric"];
2651 }
2652 }
2653
2654 core.Map<core.String, core.Object> toJson() {
2655 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>();
2656 if (field != null) {
2657 _json["field"] = field;
2658 }
2659 if (metric != null) {
2660 _json["metric"] = metric;
2661 }
2662 return _json;
2663 }
2664 }
2665
2666 /** Configuration for a custom authentication provider. */
2667 class CustomAuthRequirements { 2446 class CustomAuthRequirements {
2668 /** 2447 /// A configuration string containing connection information for the
2669 * A configuration string containing connection information for the 2448 /// authentication provider, typically formatted as a SmartService string
2670 * authentication provider, typically formatted as a SmartService string 2449 /// (go/smartservice).
2671 * (go/smartservice).
2672 */
2673 core.String provider; 2450 core.String provider;
2674 2451
2675 CustomAuthRequirements(); 2452 CustomAuthRequirements();
2676 2453
2677 CustomAuthRequirements.fromJson(core.Map _json) { 2454 CustomAuthRequirements.fromJson(core.Map _json) {
2678 if (_json.containsKey("provider")) { 2455 if (_json.containsKey("provider")) {
2679 provider = _json["provider"]; 2456 provider = _json["provider"];
2680 } 2457 }
2681 } 2458 }
2682 2459
2683 core.Map<core.String, core.Object> toJson() { 2460 core.Map<core.String, core.Object> toJson() {
2684 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2461 final core.Map<core.String, core.Object> _json =
2462 new core.Map<core.String, core.Object>();
2685 if (provider != null) { 2463 if (provider != null) {
2686 _json["provider"] = provider; 2464 _json["provider"] = provider;
2687 } 2465 }
2688 return _json; 2466 return _json;
2689 } 2467 }
2690 } 2468 }
2691 2469
2692 /** 2470 /// Customize service error responses. For example, list any service
2693 * Customize service error responses. For example, list any service 2471 /// specific protobuf types that can appear in error detail lists of
2694 * specific protobuf types that can appear in error detail lists of 2472 /// error responses.
2695 * error responses. 2473 ///
2696 * 2474 /// Example:
2697 * Example: 2475 ///
2698 * 2476 /// custom_error:
2699 * custom_error: 2477 /// types:
2700 * types: 2478 /// - google.foo.v1.CustomError
2701 * - google.foo.v1.CustomError 2479 /// - google.foo.v1.AnotherError
2702 * - google.foo.v1.AnotherError
2703 */
2704 class CustomError { 2480 class CustomError {
2705 /** 2481 /// The list of custom error rules that apply to individual API messages.
2706 * The list of custom error rules that apply to individual API messages. 2482 ///
2707 * 2483 /// **NOTE:** All service configuration rules follow "last one wins" order.
2708 * **NOTE:** All service configuration rules follow "last one wins" order.
2709 */
2710 core.List<CustomErrorRule> rules; 2484 core.List<CustomErrorRule> rules;
2711 /** 2485
2712 * The list of custom error detail types, e.g. 'google.foo.v1.CustomError'. 2486 /// The list of custom error detail types, e.g. 'google.foo.v1.CustomError'.
2713 */
2714 core.List<core.String> types; 2487 core.List<core.String> types;
2715 2488
2716 CustomError(); 2489 CustomError();
2717 2490
2718 CustomError.fromJson(core.Map _json) { 2491 CustomError.fromJson(core.Map _json) {
2719 if (_json.containsKey("rules")) { 2492 if (_json.containsKey("rules")) {
2720 rules = _json["rules"].map((value) => new CustomErrorRule.fromJson(value)) .toList(); 2493 rules = _json["rules"]
2494 .map((value) => new CustomErrorRule.fromJson(value))
2495 .toList();
2721 } 2496 }
2722 if (_json.containsKey("types")) { 2497 if (_json.containsKey("types")) {
2723 types = _json["types"]; 2498 types = _json["types"];
2724 } 2499 }
2725 } 2500 }
2726 2501
2727 core.Map<core.String, core.Object> toJson() { 2502 core.Map<core.String, core.Object> toJson() {
2728 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2503 final core.Map<core.String, core.Object> _json =
2504 new core.Map<core.String, core.Object>();
2729 if (rules != null) { 2505 if (rules != null) {
2730 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 2506 _json["rules"] = rules.map((value) => (value).toJson()).toList();
2731 } 2507 }
2732 if (types != null) { 2508 if (types != null) {
2733 _json["types"] = types; 2509 _json["types"] = types;
2734 } 2510 }
2735 return _json; 2511 return _json;
2736 } 2512 }
2737 } 2513 }
2738 2514
2739 /** A custom error rule. */ 2515 /// A custom error rule.
2740 class CustomErrorRule { 2516 class CustomErrorRule {
2741 /** 2517 /// Mark this message as possible payload in error response. Otherwise,
2742 * Mark this message as possible payload in error response. Otherwise, 2518 /// objects of this type will be filtered when they appear in error payload.
2743 * objects of this type will be filtered when they appear in error payload.
2744 */
2745 core.bool isErrorType; 2519 core.bool isErrorType;
2746 /** 2520
2747 * Selects messages to which this rule applies. 2521 /// Selects messages to which this rule applies.
2748 * 2522 ///
2749 * Refer to selector for syntax details. 2523 /// Refer to selector for syntax details.
2750 */
2751 core.String selector; 2524 core.String selector;
2752 2525
2753 CustomErrorRule(); 2526 CustomErrorRule();
2754 2527
2755 CustomErrorRule.fromJson(core.Map _json) { 2528 CustomErrorRule.fromJson(core.Map _json) {
2756 if (_json.containsKey("isErrorType")) { 2529 if (_json.containsKey("isErrorType")) {
2757 isErrorType = _json["isErrorType"]; 2530 isErrorType = _json["isErrorType"];
2758 } 2531 }
2759 if (_json.containsKey("selector")) { 2532 if (_json.containsKey("selector")) {
2760 selector = _json["selector"]; 2533 selector = _json["selector"];
2761 } 2534 }
2762 } 2535 }
2763 2536
2764 core.Map<core.String, core.Object> toJson() { 2537 core.Map<core.String, core.Object> toJson() {
2765 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2538 final core.Map<core.String, core.Object> _json =
2539 new core.Map<core.String, core.Object>();
2766 if (isErrorType != null) { 2540 if (isErrorType != null) {
2767 _json["isErrorType"] = isErrorType; 2541 _json["isErrorType"] = isErrorType;
2768 } 2542 }
2769 if (selector != null) { 2543 if (selector != null) {
2770 _json["selector"] = selector; 2544 _json["selector"] = selector;
2771 } 2545 }
2772 return _json; 2546 return _json;
2773 } 2547 }
2774 } 2548 }
2775 2549
2776 /** A custom pattern is used for defining custom HTTP verb. */ 2550 /// A custom pattern is used for defining custom HTTP verb.
2777 class CustomHttpPattern { 2551 class CustomHttpPattern {
2778 /** The name of this custom HTTP verb. */ 2552 /// The name of this custom HTTP verb.
2779 core.String kind; 2553 core.String kind;
2780 /** The path matched by this custom verb. */ 2554
2555 /// The path matched by this custom verb.
2781 core.String path; 2556 core.String path;
2782 2557
2783 CustomHttpPattern(); 2558 CustomHttpPattern();
2784 2559
2785 CustomHttpPattern.fromJson(core.Map _json) { 2560 CustomHttpPattern.fromJson(core.Map _json) {
2786 if (_json.containsKey("kind")) { 2561 if (_json.containsKey("kind")) {
2787 kind = _json["kind"]; 2562 kind = _json["kind"];
2788 } 2563 }
2789 if (_json.containsKey("path")) { 2564 if (_json.containsKey("path")) {
2790 path = _json["path"]; 2565 path = _json["path"];
2791 } 2566 }
2792 } 2567 }
2793 2568
2794 core.Map<core.String, core.Object> toJson() { 2569 core.Map<core.String, core.Object> toJson() {
2795 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2570 final core.Map<core.String, core.Object> _json =
2571 new core.Map<core.String, core.Object>();
2796 if (kind != null) { 2572 if (kind != null) {
2797 _json["kind"] = kind; 2573 _json["kind"] = kind;
2798 } 2574 }
2799 if (path != null) { 2575 if (path != null) {
2800 _json["path"] = path; 2576 _json["path"] = path;
2801 } 2577 }
2802 return _json; 2578 return _json;
2803 } 2579 }
2804 } 2580 }
2805 2581
2806 /** Write a Data Access (Gin) log */ 2582 /// Strategy used to delete a service. This strategy is a placeholder only
2807 class DataAccessOptions { 2583 /// used by the system generated rollout to delete a service.
2808 /** 2584 class DeleteServiceStrategy {
2809 * Whether Gin logging should happen in a fail-closed manner at the caller. 2585 DeleteServiceStrategy();
2810 * This is relevant only in the LocalIAM implementation, for now.
2811 * Possible string values are:
2812 * - "LOG_MODE_UNSPECIFIED" : Client is not required to write a partial Gin
2813 * log immediately after
2814 * the authorization check. If client chooses to write one and it fails,
2815 * client may either fail open (allow the operation to continue) or
2816 * fail closed (handle as a DENY outcome).
2817 * - "LOG_FAIL_CLOSED" : The application's operation in the context of which
2818 * this authorization
2819 * check is being made may only be performed if it is successfully logged
2820 * to Gin. For instance, the authorization library may satisfy this
2821 * obligation by emitting a partial log entry at authorization check time
2822 * and only returning ALLOW to the application if it succeeds.
2823 *
2824 * If a matching Rule has this directive, but the client has not indicated
2825 * that it will honor such requirements, then the IAM check will result in
2826 * authorization failure by setting CheckPolicyResponse.success=false.
2827 */
2828 core.String logMode;
2829 2586
2830 DataAccessOptions(); 2587 DeleteServiceStrategy.fromJson(core.Map _json) {}
2831
2832 DataAccessOptions.fromJson(core.Map _json) {
2833 if (_json.containsKey("logMode")) {
2834 logMode = _json["logMode"];
2835 }
2836 }
2837 2588
2838 core.Map<core.String, core.Object> toJson() { 2589 core.Map<core.String, core.Object> toJson() {
2839 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2590 final core.Map<core.String, core.Object> _json =
2840 if (logMode != null) { 2591 new core.Map<core.String, core.Object>();
2841 _json["logMode"] = logMode;
2842 }
2843 return _json; 2592 return _json;
2844 } 2593 }
2845 } 2594 }
2846 2595
2847 /** 2596 /// Represents a diagnostic message (error or warning)
2848 * Strategy used to delete a service. This strategy is a placeholder only 2597 class Diagnostic {
2849 * used by the system generated rollout to delete a service. 2598 /// The kind of diagnostic information provided.
2850 */ 2599 /// Possible string values are:
2851 class DeleteServiceStrategy { 2600 /// - "WARNING" : Warnings and errors
2601 /// - "ERROR" : Only errors
2602 core.String kind;
2852 2603
2853 DeleteServiceStrategy(); 2604 /// File name and line number of the error or warning.
2605 core.String location;
2854 2606
2855 DeleteServiceStrategy.fromJson(core.Map _json) { 2607 /// Message describing the error or warning.
2856 }
2857
2858 core.Map<core.String, core.Object> toJson() {
2859 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>();
2860 return _json;
2861 }
2862 }
2863
2864 /** Represents a diagnostic message (error or warning) */
2865 class Diagnostic {
2866 /**
2867 * The kind of diagnostic information provided.
2868 * Possible string values are:
2869 * - "WARNING" : Warnings and errors
2870 * - "ERROR" : Only errors
2871 */
2872 core.String kind;
2873 /** File name and line number of the error or warning. */
2874 core.String location;
2875 /** Message describing the error or warning. */
2876 core.String message; 2608 core.String message;
2877 2609
2878 Diagnostic(); 2610 Diagnostic();
2879 2611
2880 Diagnostic.fromJson(core.Map _json) { 2612 Diagnostic.fromJson(core.Map _json) {
2881 if (_json.containsKey("kind")) { 2613 if (_json.containsKey("kind")) {
2882 kind = _json["kind"]; 2614 kind = _json["kind"];
2883 } 2615 }
2884 if (_json.containsKey("location")) { 2616 if (_json.containsKey("location")) {
2885 location = _json["location"]; 2617 location = _json["location"];
2886 } 2618 }
2887 if (_json.containsKey("message")) { 2619 if (_json.containsKey("message")) {
2888 message = _json["message"]; 2620 message = _json["message"];
2889 } 2621 }
2890 } 2622 }
2891 2623
2892 core.Map<core.String, core.Object> toJson() { 2624 core.Map<core.String, core.Object> toJson() {
2893 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2625 final core.Map<core.String, core.Object> _json =
2626 new core.Map<core.String, core.Object>();
2894 if (kind != null) { 2627 if (kind != null) {
2895 _json["kind"] = kind; 2628 _json["kind"] = kind;
2896 } 2629 }
2897 if (location != null) { 2630 if (location != null) {
2898 _json["location"] = location; 2631 _json["location"] = location;
2899 } 2632 }
2900 if (message != null) { 2633 if (message != null) {
2901 _json["message"] = message; 2634 _json["message"] = message;
2902 } 2635 }
2903 return _json; 2636 return _json;
2904 } 2637 }
2905 } 2638 }
2906 2639
2907 /** Request message for DisableService method. */ 2640 /// Request message for DisableService method.
2908 class DisableServiceRequest { 2641 class DisableServiceRequest {
2909 /** 2642 /// The identity of consumer resource which service disablement will be
2910 * The identity of consumer resource which service disablement will be 2643 /// applied to.
2911 * applied to. 2644 ///
2912 * 2645 /// The Google Service Management implementation accepts the following
2913 * The Google Service Management implementation accepts the following 2646 /// forms:
2914 * forms: 2647 /// - "project:<project_id>"
2915 * - "project:<project_id>" 2648 ///
2916 * 2649 /// Note: this is made compatible with
2917 * Note: this is made compatible with 2650 /// google.api.servicecontrol.v1.Operation.consumer_id.
2918 * google.api.servicecontrol.v1.Operation.consumer_id.
2919 */
2920 core.String consumerId; 2651 core.String consumerId;
2921 2652
2922 DisableServiceRequest(); 2653 DisableServiceRequest();
2923 2654
2924 DisableServiceRequest.fromJson(core.Map _json) { 2655 DisableServiceRequest.fromJson(core.Map _json) {
2925 if (_json.containsKey("consumerId")) { 2656 if (_json.containsKey("consumerId")) {
2926 consumerId = _json["consumerId"]; 2657 consumerId = _json["consumerId"];
2927 } 2658 }
2928 } 2659 }
2929 2660
2930 core.Map<core.String, core.Object> toJson() { 2661 core.Map<core.String, core.Object> toJson() {
2931 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2662 final core.Map<core.String, core.Object> _json =
2663 new core.Map<core.String, core.Object>();
2932 if (consumerId != null) { 2664 if (consumerId != null) {
2933 _json["consumerId"] = consumerId; 2665 _json["consumerId"] = consumerId;
2934 } 2666 }
2935 return _json; 2667 return _json;
2936 } 2668 }
2937 } 2669 }
2938 2670
2939 /** 2671 /// `Documentation` provides the information for describing a service.
2940 * `Documentation` provides the information for describing a service. 2672 ///
2941 * 2673 /// Example:
2942 * Example: 2674 /// <pre><code>documentation:
2943 * <pre><code>documentation: 2675 /// summary: >
2944 * summary: > 2676 /// The Google Calendar API gives access
2945 * The Google Calendar API gives access 2677 /// to most calendar features.
2946 * to most calendar features. 2678 /// pages:
2947 * pages: 2679 /// - name: Overview
2948 * - name: Overview 2680 /// content: &#40;== include google/foo/overview.md ==&#41;
2949 * content: &#40;== include google/foo/overview.md ==&#41; 2681 /// - name: Tutorial
2950 * - name: Tutorial 2682 /// content: &#40;== include google/foo/tutorial.md ==&#41;
2951 * content: &#40;== include google/foo/tutorial.md ==&#41; 2683 /// subpages;
2952 * subpages; 2684 /// - name: Java
2953 * - name: Java 2685 /// content: &#40;== include google/foo/tutorial_java.md ==&#41;
2954 * content: &#40;== include google/foo/tutorial_java.md ==&#41; 2686 /// rules:
2955 * rules: 2687 /// - selector: google.calendar.Calendar.Get
2956 * - selector: google.calendar.Calendar.Get 2688 /// description: >
2957 * description: > 2689 /// ...
2958 * ... 2690 /// - selector: google.calendar.Calendar.Put
2959 * - selector: google.calendar.Calendar.Put 2691 /// description: >
2960 * description: > 2692 /// ...
2961 * ... 2693 /// </code></pre>
2962 * </code></pre> 2694 /// Documentation is provided in markdown syntax. In addition to
2963 * Documentation is provided in markdown syntax. In addition to 2695 /// standard markdown features, definition lists, tables and fenced
2964 * standard markdown features, definition lists, tables and fenced 2696 /// code blocks are supported. Section headers can be provided and are
2965 * code blocks are supported. Section headers can be provided and are 2697 /// interpreted relative to the section nesting of the context where
2966 * interpreted relative to the section nesting of the context where 2698 /// a documentation fragment is embedded.
2967 * a documentation fragment is embedded. 2699 ///
2968 * 2700 /// Documentation from the IDL is merged with documentation defined
2969 * Documentation from the IDL is merged with documentation defined 2701 /// via the config at normalization time, where documentation provided
2970 * via the config at normalization time, where documentation provided 2702 /// by config rules overrides IDL provided.
2971 * by config rules overrides IDL provided. 2703 ///
2972 * 2704 /// A number of constructs specific to the API platform are supported
2973 * A number of constructs specific to the API platform are supported 2705 /// in documentation text.
2974 * in documentation text. 2706 ///
2975 * 2707 /// In order to reference a proto element, the following
2976 * In order to reference a proto element, the following 2708 /// notation can be used:
2977 * notation can be used: 2709 /// <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>
2978 * <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre> 2710 /// To override the display text used for the link, this can be used:
2979 * To override the display text used for the link, this can be used: 2711 /// <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
2980 * <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre> 2712 /// Text can be excluded from doc using the following notation:
2981 * Text can be excluded from doc using the following notation: 2713 /// <pre><code>&#40;-- internal comment --&#41;</code></pre>
2982 * <pre><code>&#40;-- internal comment --&#41;</code></pre> 2714 /// Comments can be made conditional using a visibility label. The below
2983 * Comments can be made conditional using a visibility label. The below 2715 /// text will be only rendered if the `BETA` label is available:
2984 * text will be only rendered if the `BETA` label is available: 2716 /// <pre><code>&#40;--BETA: comment for BETA users --&#41;</code></pre>
2985 * <pre><code>&#40;--BETA: comment for BETA users --&#41;</code></pre> 2717 /// A few directives are available in documentation. Note that
2986 * A few directives are available in documentation. Note that 2718 /// directives must appear on a single line to be properly
2987 * directives must appear on a single line to be properly 2719 /// identified. The `include` directive includes a markdown file from
2988 * identified. The `include` directive includes a markdown file from 2720 /// an external source:
2989 * an external source: 2721 /// <pre><code>&#40;== include path/to/file ==&#41;</code></pre>
2990 * <pre><code>&#40;== include path/to/file ==&#41;</code></pre> 2722 /// The `resource_for` directive marks a message to be the resource of
2991 * The `resource_for` directive marks a message to be the resource of 2723 /// a collection in REST view. If it is not specified, tools attempt
2992 * a collection in REST view. If it is not specified, tools attempt 2724 /// to infer the resource from the operations in a collection:
2993 * to infer the resource from the operations in a collection: 2725 /// <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre>
2994 * <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre> 2726 /// The directive `suppress_warning` does not directly affect documentation
2995 * The directive `suppress_warning` does not directly affect documentation 2727 /// and is documented together with service config validation.
2996 * and is documented together with service config validation.
2997 */
2998 class Documentation { 2728 class Documentation {
2999 /** The URL to the root of documentation. */ 2729 /// The URL to the root of documentation.
3000 core.String documentationRootUrl; 2730 core.String documentationRootUrl;
3001 /** 2731
3002 * Declares a single overview page. For example: 2732 /// Declares a single overview page. For example:
3003 * <pre><code>documentation: 2733 /// <pre><code>documentation:
3004 * summary: ... 2734 /// summary: ...
3005 * overview: &#40;== include overview.md ==&#41; 2735 /// overview: &#40;== include overview.md ==&#41;
3006 * </code></pre> 2736 /// </code></pre>
3007 * This is a shortcut for the following declaration (using pages style): 2737 /// This is a shortcut for the following declaration (using pages style):
3008 * <pre><code>documentation: 2738 /// <pre><code>documentation:
3009 * summary: ... 2739 /// summary: ...
3010 * pages: 2740 /// pages:
3011 * - name: Overview 2741 /// - name: Overview
3012 * content: &#40;== include overview.md ==&#41; 2742 /// content: &#40;== include overview.md ==&#41;
3013 * </code></pre> 2743 /// </code></pre>
3014 * Note: you cannot specify both `overview` field and `pages` field. 2744 /// Note: you cannot specify both `overview` field and `pages` field.
3015 */
3016 core.String overview; 2745 core.String overview;
3017 /** The top level pages for the documentation set. */ 2746
2747 /// The top level pages for the documentation set.
3018 core.List<Page> pages; 2748 core.List<Page> pages;
3019 /** 2749
3020 * A list of documentation rules that apply to individual API elements. 2750 /// A list of documentation rules that apply to individual API elements.
3021 * 2751 ///
3022 * **NOTE:** All service configuration rules follow "last one wins" order. 2752 /// **NOTE:** All service configuration rules follow "last one wins" order.
3023 */
3024 core.List<DocumentationRule> rules; 2753 core.List<DocumentationRule> rules;
3025 /** 2754
3026 * A short summary of what the service does. Can only be provided by 2755 /// A short summary of what the service does. Can only be provided by
3027 * plain text. 2756 /// plain text.
3028 */
3029 core.String summary; 2757 core.String summary;
3030 2758
3031 Documentation(); 2759 Documentation();
3032 2760
3033 Documentation.fromJson(core.Map _json) { 2761 Documentation.fromJson(core.Map _json) {
3034 if (_json.containsKey("documentationRootUrl")) { 2762 if (_json.containsKey("documentationRootUrl")) {
3035 documentationRootUrl = _json["documentationRootUrl"]; 2763 documentationRootUrl = _json["documentationRootUrl"];
3036 } 2764 }
3037 if (_json.containsKey("overview")) { 2765 if (_json.containsKey("overview")) {
3038 overview = _json["overview"]; 2766 overview = _json["overview"];
3039 } 2767 }
3040 if (_json.containsKey("pages")) { 2768 if (_json.containsKey("pages")) {
3041 pages = _json["pages"].map((value) => new Page.fromJson(value)).toList(); 2769 pages = _json["pages"].map((value) => new Page.fromJson(value)).toList();
3042 } 2770 }
3043 if (_json.containsKey("rules")) { 2771 if (_json.containsKey("rules")) {
3044 rules = _json["rules"].map((value) => new DocumentationRule.fromJson(value )).toList(); 2772 rules = _json["rules"]
2773 .map((value) => new DocumentationRule.fromJson(value))
2774 .toList();
3045 } 2775 }
3046 if (_json.containsKey("summary")) { 2776 if (_json.containsKey("summary")) {
3047 summary = _json["summary"]; 2777 summary = _json["summary"];
3048 } 2778 }
3049 } 2779 }
3050 2780
3051 core.Map<core.String, core.Object> toJson() { 2781 core.Map<core.String, core.Object> toJson() {
3052 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2782 final core.Map<core.String, core.Object> _json =
2783 new core.Map<core.String, core.Object>();
3053 if (documentationRootUrl != null) { 2784 if (documentationRootUrl != null) {
3054 _json["documentationRootUrl"] = documentationRootUrl; 2785 _json["documentationRootUrl"] = documentationRootUrl;
3055 } 2786 }
3056 if (overview != null) { 2787 if (overview != null) {
3057 _json["overview"] = overview; 2788 _json["overview"] = overview;
3058 } 2789 }
3059 if (pages != null) { 2790 if (pages != null) {
3060 _json["pages"] = pages.map((value) => (value).toJson()).toList(); 2791 _json["pages"] = pages.map((value) => (value).toJson()).toList();
3061 } 2792 }
3062 if (rules != null) { 2793 if (rules != null) {
3063 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 2794 _json["rules"] = rules.map((value) => (value).toJson()).toList();
3064 } 2795 }
3065 if (summary != null) { 2796 if (summary != null) {
3066 _json["summary"] = summary; 2797 _json["summary"] = summary;
3067 } 2798 }
3068 return _json; 2799 return _json;
3069 } 2800 }
3070 } 2801 }
3071 2802
3072 /** A documentation rule provides information about individual API elements. */ 2803 /// A documentation rule provides information about individual API elements.
3073 class DocumentationRule { 2804 class DocumentationRule {
3074 /** 2805 /// Deprecation description of the selected element(s). It can be provided if
3075 * Deprecation description of the selected element(s). It can be provided if 2806 /// an
3076 * an 2807 /// element is marked as `deprecated`.
3077 * element is marked as `deprecated`.
3078 */
3079 core.String deprecationDescription; 2808 core.String deprecationDescription;
3080 /** Description of the selected API(s). */ 2809
2810 /// Description of the selected API(s).
3081 core.String description; 2811 core.String description;
3082 /** 2812
3083 * The selector is a comma-separated list of patterns. Each pattern is a 2813 /// The selector is a comma-separated list of patterns. Each pattern is a
3084 * qualified name of the element which may end in "*", indicating a wildcard. 2814 /// qualified name of the element which may end in "*", indicating a
3085 * Wildcards are only allowed at the end and for a whole component of the 2815 /// wildcard.
3086 * qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To 2816 /// Wildcards are only allowed at the end and for a whole component of the
3087 * specify a default for all applicable elements, the whole pattern "*" 2817 /// qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To
3088 * is used. 2818 /// specify a default for all applicable elements, the whole pattern "*"
3089 */ 2819 /// is used.
3090 core.String selector; 2820 core.String selector;
3091 2821
3092 DocumentationRule(); 2822 DocumentationRule();
3093 2823
3094 DocumentationRule.fromJson(core.Map _json) { 2824 DocumentationRule.fromJson(core.Map _json) {
3095 if (_json.containsKey("deprecationDescription")) { 2825 if (_json.containsKey("deprecationDescription")) {
3096 deprecationDescription = _json["deprecationDescription"]; 2826 deprecationDescription = _json["deprecationDescription"];
3097 } 2827 }
3098 if (_json.containsKey("description")) { 2828 if (_json.containsKey("description")) {
3099 description = _json["description"]; 2829 description = _json["description"];
3100 } 2830 }
3101 if (_json.containsKey("selector")) { 2831 if (_json.containsKey("selector")) {
3102 selector = _json["selector"]; 2832 selector = _json["selector"];
3103 } 2833 }
3104 } 2834 }
3105 2835
3106 core.Map<core.String, core.Object> toJson() { 2836 core.Map<core.String, core.Object> toJson() {
3107 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2837 final core.Map<core.String, core.Object> _json =
2838 new core.Map<core.String, core.Object>();
3108 if (deprecationDescription != null) { 2839 if (deprecationDescription != null) {
3109 _json["deprecationDescription"] = deprecationDescription; 2840 _json["deprecationDescription"] = deprecationDescription;
3110 } 2841 }
3111 if (description != null) { 2842 if (description != null) {
3112 _json["description"] = description; 2843 _json["description"] = description;
3113 } 2844 }
3114 if (selector != null) { 2845 if (selector != null) {
3115 _json["selector"] = selector; 2846 _json["selector"] = selector;
3116 } 2847 }
3117 return _json; 2848 return _json;
3118 } 2849 }
3119 } 2850 }
3120 2851
3121 /** Request message for EnableService method. */ 2852 /// Request message for EnableService method.
3122 class EnableServiceRequest { 2853 class EnableServiceRequest {
3123 /** 2854 /// The identity of consumer resource which service enablement will be
3124 * The identity of consumer resource which service enablement will be 2855 /// applied to.
3125 * applied to. 2856 ///
3126 * 2857 /// The Google Service Management implementation accepts the following
3127 * The Google Service Management implementation accepts the following 2858 /// forms:
3128 * forms: 2859 /// - "project:<project_id>"
3129 * - "project:<project_id>" 2860 ///
3130 * 2861 /// Note: this is made compatible with
3131 * Note: this is made compatible with 2862 /// google.api.servicecontrol.v1.Operation.consumer_id.
3132 * google.api.servicecontrol.v1.Operation.consumer_id.
3133 */
3134 core.String consumerId; 2863 core.String consumerId;
3135 2864
3136 EnableServiceRequest(); 2865 EnableServiceRequest();
3137 2866
3138 EnableServiceRequest.fromJson(core.Map _json) { 2867 EnableServiceRequest.fromJson(core.Map _json) {
3139 if (_json.containsKey("consumerId")) { 2868 if (_json.containsKey("consumerId")) {
3140 consumerId = _json["consumerId"]; 2869 consumerId = _json["consumerId"];
3141 } 2870 }
3142 } 2871 }
3143 2872
3144 core.Map<core.String, core.Object> toJson() { 2873 core.Map<core.String, core.Object> toJson() {
3145 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2874 final core.Map<core.String, core.Object> _json =
2875 new core.Map<core.String, core.Object>();
3146 if (consumerId != null) { 2876 if (consumerId != null) {
3147 _json["consumerId"] = consumerId; 2877 _json["consumerId"] = consumerId;
3148 } 2878 }
3149 return _json; 2879 return _json;
3150 } 2880 }
3151 } 2881 }
3152 2882
3153 /** 2883 /// `Endpoint` describes a network endpoint that serves a set of APIs.
3154 * `Endpoint` describes a network endpoint that serves a set of APIs. 2884 /// A service may expose any number of endpoints, and all endpoints share the
3155 * A service may expose any number of endpoints, and all endpoints share the 2885 /// same service configuration, such as quota configuration and monitoring
3156 * same service configuration, such as quota configuration and monitoring 2886 /// configuration.
3157 * configuration. 2887 ///
3158 * 2888 /// Example service configuration:
3159 * Example service configuration: 2889 ///
3160 * 2890 /// name: library-example.googleapis.com
3161 * name: library-example.googleapis.com 2891 /// endpoints:
3162 * endpoints: 2892 /// # Below entry makes 'google.example.library.v1.Library'
3163 * # Below entry makes 'google.example.library.v1.Library' 2893 /// # API be served from endpoint address library-example.googleapis.com.
3164 * # API be served from endpoint address library-example.googleapis.com. 2894 /// # It also allows HTTP OPTIONS calls to be passed to the backend, for
3165 * # It also allows HTTP OPTIONS calls to be passed to the backend, for 2895 /// # it to decide whether the subsequent cross-origin request is
3166 * # it to decide whether the subsequent cross-origin request is 2896 /// # allowed to proceed.
3167 * # allowed to proceed. 2897 /// - name: library-example.googleapis.com
3168 * - name: library-example.googleapis.com 2898 /// allow_cors: true
3169 * allow_cors: true
3170 */
3171 class Endpoint { 2899 class Endpoint {
3172 /** 2900 /// DEPRECATED: This field is no longer supported. Instead of using aliases,
3173 * DEPRECATED: This field is no longer supported. Instead of using aliases, 2901 /// please specify multiple google.api.Endpoint for each of the intented
3174 * please specify multiple google.api.Endpoint for each of the intented 2902 /// alias.
3175 * alias. 2903 ///
3176 * 2904 /// Additional names that this endpoint will be hosted on.
3177 * Additional names that this endpoint will be hosted on.
3178 */
3179 core.List<core.String> aliases; 2905 core.List<core.String> aliases;
3180 /** 2906
3181 * Allowing 2907 /// Allowing
3182 * [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka 2908 /// [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
3183 * cross-domain traffic, would allow the backends served from this endpoint to 2909 /// cross-domain traffic, would allow the backends served from this endpoint
3184 * receive and respond to HTTP OPTIONS requests. The response will be used by 2910 /// to
3185 * the browser to determine whether the subsequent cross-origin request is 2911 /// receive and respond to HTTP OPTIONS requests. The response will be used
3186 * allowed to proceed. 2912 /// by
3187 */ 2913 /// the browser to determine whether the subsequent cross-origin request is
2914 /// allowed to proceed.
3188 core.bool allowCors; 2915 core.bool allowCors;
3189 /** 2916
3190 * The list of APIs served by this endpoint. 2917 /// The list of APIs served by this endpoint.
3191 * 2918 ///
3192 * If no APIs are specified this translates to "all APIs" exported by the 2919 /// If no APIs are specified this translates to "all APIs" exported by the
3193 * service, as defined in the top-level service configuration. 2920 /// service, as defined in the top-level service configuration.
3194 */
3195 core.List<core.String> apis; 2921 core.List<core.String> apis;
3196 /** The list of features enabled on this endpoint. */ 2922
2923 /// The list of features enabled on this endpoint.
3197 core.List<core.String> features; 2924 core.List<core.String> features;
3198 /** The canonical name of this endpoint. */ 2925
2926 /// The canonical name of this endpoint.
3199 core.String name; 2927 core.String name;
3200 /** 2928
3201 * The specification of an Internet routable address of API frontend that will 2929 /// The specification of an Internet routable address of API frontend that
3202 * handle requests to this [API 2930 /// will
3203 * Endpoint](https://cloud.google.com/apis/design/glossary). 2931 /// handle requests to this [API
3204 * It should be either a valid IPv4 address or a fully-qualified domain name. 2932 /// Endpoint](https://cloud.google.com/apis/design/glossary).
3205 * For example, "8.8.8.8" or "myservice.appspot.com". 2933 /// It should be either a valid IPv4 address or a fully-qualified domain
3206 */ 2934 /// name.
2935 /// For example, "8.8.8.8" or "myservice.appspot.com".
3207 core.String target; 2936 core.String target;
3208 2937
3209 Endpoint(); 2938 Endpoint();
3210 2939
3211 Endpoint.fromJson(core.Map _json) { 2940 Endpoint.fromJson(core.Map _json) {
3212 if (_json.containsKey("aliases")) { 2941 if (_json.containsKey("aliases")) {
3213 aliases = _json["aliases"]; 2942 aliases = _json["aliases"];
3214 } 2943 }
3215 if (_json.containsKey("allowCors")) { 2944 if (_json.containsKey("allowCors")) {
3216 allowCors = _json["allowCors"]; 2945 allowCors = _json["allowCors"];
3217 } 2946 }
3218 if (_json.containsKey("apis")) { 2947 if (_json.containsKey("apis")) {
3219 apis = _json["apis"]; 2948 apis = _json["apis"];
3220 } 2949 }
3221 if (_json.containsKey("features")) { 2950 if (_json.containsKey("features")) {
3222 features = _json["features"]; 2951 features = _json["features"];
3223 } 2952 }
3224 if (_json.containsKey("name")) { 2953 if (_json.containsKey("name")) {
3225 name = _json["name"]; 2954 name = _json["name"];
3226 } 2955 }
3227 if (_json.containsKey("target")) { 2956 if (_json.containsKey("target")) {
3228 target = _json["target"]; 2957 target = _json["target"];
3229 } 2958 }
3230 } 2959 }
3231 2960
3232 core.Map<core.String, core.Object> toJson() { 2961 core.Map<core.String, core.Object> toJson() {
3233 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 2962 final core.Map<core.String, core.Object> _json =
2963 new core.Map<core.String, core.Object>();
3234 if (aliases != null) { 2964 if (aliases != null) {
3235 _json["aliases"] = aliases; 2965 _json["aliases"] = aliases;
3236 } 2966 }
3237 if (allowCors != null) { 2967 if (allowCors != null) {
3238 _json["allowCors"] = allowCors; 2968 _json["allowCors"] = allowCors;
3239 } 2969 }
3240 if (apis != null) { 2970 if (apis != null) {
3241 _json["apis"] = apis; 2971 _json["apis"] = apis;
3242 } 2972 }
3243 if (features != null) { 2973 if (features != null) {
3244 _json["features"] = features; 2974 _json["features"] = features;
3245 } 2975 }
3246 if (name != null) { 2976 if (name != null) {
3247 _json["name"] = name; 2977 _json["name"] = name;
3248 } 2978 }
3249 if (target != null) { 2979 if (target != null) {
3250 _json["target"] = target; 2980 _json["target"] = target;
3251 } 2981 }
3252 return _json; 2982 return _json;
3253 } 2983 }
3254 } 2984 }
3255 2985
3256 /** Enum type definition. */ 2986 /// Enum type definition.
3257 class Enum { 2987 class Enum {
3258 /** Enum value definitions. */ 2988 /// Enum value definitions.
3259 core.List<EnumValue> enumvalue; 2989 core.List<EnumValue> enumvalue;
3260 /** Enum type name. */ 2990
2991 /// Enum type name.
3261 core.String name; 2992 core.String name;
3262 /** Protocol buffer options. */ 2993
2994 /// Protocol buffer options.
3263 core.List<Option> options; 2995 core.List<Option> options;
3264 /** The source context. */ 2996
2997 /// The source context.
3265 SourceContext sourceContext; 2998 SourceContext sourceContext;
3266 /** 2999
3267 * The source syntax. 3000 /// The source syntax.
3268 * Possible string values are: 3001 /// Possible string values are:
3269 * - "SYNTAX_PROTO2" : Syntax `proto2`. 3002 /// - "SYNTAX_PROTO2" : Syntax `proto2`.
3270 * - "SYNTAX_PROTO3" : Syntax `proto3`. 3003 /// - "SYNTAX_PROTO3" : Syntax `proto3`.
3271 */
3272 core.String syntax; 3004 core.String syntax;
3273 3005
3274 Enum(); 3006 Enum();
3275 3007
3276 Enum.fromJson(core.Map _json) { 3008 Enum.fromJson(core.Map _json) {
3277 if (_json.containsKey("enumvalue")) { 3009 if (_json.containsKey("enumvalue")) {
3278 enumvalue = _json["enumvalue"].map((value) => new EnumValue.fromJson(value )).toList(); 3010 enumvalue = _json["enumvalue"]
3011 .map((value) => new EnumValue.fromJson(value))
3012 .toList();
3279 } 3013 }
3280 if (_json.containsKey("name")) { 3014 if (_json.containsKey("name")) {
3281 name = _json["name"]; 3015 name = _json["name"];
3282 } 3016 }
3283 if (_json.containsKey("options")) { 3017 if (_json.containsKey("options")) {
3284 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 3018 options =
3019 _json["options"].map((value) => new Option.fromJson(value)).toList();
3285 } 3020 }
3286 if (_json.containsKey("sourceContext")) { 3021 if (_json.containsKey("sourceContext")) {
3287 sourceContext = new SourceContext.fromJson(_json["sourceContext"]); 3022 sourceContext = new SourceContext.fromJson(_json["sourceContext"]);
3288 } 3023 }
3289 if (_json.containsKey("syntax")) { 3024 if (_json.containsKey("syntax")) {
3290 syntax = _json["syntax"]; 3025 syntax = _json["syntax"];
3291 } 3026 }
3292 } 3027 }
3293 3028
3294 core.Map<core.String, core.Object> toJson() { 3029 core.Map<core.String, core.Object> toJson() {
3295 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3030 final core.Map<core.String, core.Object> _json =
3031 new core.Map<core.String, core.Object>();
3296 if (enumvalue != null) { 3032 if (enumvalue != null) {
3297 _json["enumvalue"] = enumvalue.map((value) => (value).toJson()).toList(); 3033 _json["enumvalue"] = enumvalue.map((value) => (value).toJson()).toList();
3298 } 3034 }
3299 if (name != null) { 3035 if (name != null) {
3300 _json["name"] = name; 3036 _json["name"] = name;
3301 } 3037 }
3302 if (options != null) { 3038 if (options != null) {
3303 _json["options"] = options.map((value) => (value).toJson()).toList(); 3039 _json["options"] = options.map((value) => (value).toJson()).toList();
3304 } 3040 }
3305 if (sourceContext != null) { 3041 if (sourceContext != null) {
3306 _json["sourceContext"] = (sourceContext).toJson(); 3042 _json["sourceContext"] = (sourceContext).toJson();
3307 } 3043 }
3308 if (syntax != null) { 3044 if (syntax != null) {
3309 _json["syntax"] = syntax; 3045 _json["syntax"] = syntax;
3310 } 3046 }
3311 return _json; 3047 return _json;
3312 } 3048 }
3313 } 3049 }
3314 3050
3315 /** Enum value definition. */ 3051 /// Enum value definition.
3316 class EnumValue { 3052 class EnumValue {
3317 /** Enum value name. */ 3053 /// Enum value name.
3318 core.String name; 3054 core.String name;
3319 /** Enum value number. */ 3055
3056 /// Enum value number.
3320 core.int number; 3057 core.int number;
3321 /** Protocol buffer options. */ 3058
3059 /// Protocol buffer options.
3322 core.List<Option> options; 3060 core.List<Option> options;
3323 3061
3324 EnumValue(); 3062 EnumValue();
3325 3063
3326 EnumValue.fromJson(core.Map _json) { 3064 EnumValue.fromJson(core.Map _json) {
3327 if (_json.containsKey("name")) { 3065 if (_json.containsKey("name")) {
3328 name = _json["name"]; 3066 name = _json["name"];
3329 } 3067 }
3330 if (_json.containsKey("number")) { 3068 if (_json.containsKey("number")) {
3331 number = _json["number"]; 3069 number = _json["number"];
3332 } 3070 }
3333 if (_json.containsKey("options")) { 3071 if (_json.containsKey("options")) {
3334 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 3072 options =
3073 _json["options"].map((value) => new Option.fromJson(value)).toList();
3335 } 3074 }
3336 } 3075 }
3337 3076
3338 core.Map<core.String, core.Object> toJson() { 3077 core.Map<core.String, core.Object> toJson() {
3339 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3078 final core.Map<core.String, core.Object> _json =
3079 new core.Map<core.String, core.Object>();
3340 if (name != null) { 3080 if (name != null) {
3341 _json["name"] = name; 3081 _json["name"] = name;
3342 } 3082 }
3343 if (number != null) { 3083 if (number != null) {
3344 _json["number"] = number; 3084 _json["number"] = number;
3345 } 3085 }
3346 if (options != null) { 3086 if (options != null) {
3347 _json["options"] = options.map((value) => (value).toJson()).toList(); 3087 _json["options"] = options.map((value) => (value).toJson()).toList();
3348 } 3088 }
3349 return _json; 3089 return _json;
3350 } 3090 }
3351 } 3091 }
3352 3092
3353 /** 3093 /// Experimental service configuration. These configuration options can
3354 * Experimental service configuration. These configuration options can 3094 /// only be used by whitelisted users.
3355 * only be used by whitelisted users.
3356 */
3357 class Experimental { 3095 class Experimental {
3358 /** Authorization configuration. */ 3096 /// Authorization configuration.
3359 AuthorizationConfig authorization; 3097 AuthorizationConfig authorization;
3360 3098
3361 Experimental(); 3099 Experimental();
3362 3100
3363 Experimental.fromJson(core.Map _json) { 3101 Experimental.fromJson(core.Map _json) {
3364 if (_json.containsKey("authorization")) { 3102 if (_json.containsKey("authorization")) {
3365 authorization = new AuthorizationConfig.fromJson(_json["authorization"]); 3103 authorization = new AuthorizationConfig.fromJson(_json["authorization"]);
3366 } 3104 }
3367 } 3105 }
3368 3106
3369 core.Map<core.String, core.Object> toJson() { 3107 core.Map<core.String, core.Object> toJson() {
3370 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3108 final core.Map<core.String, core.Object> _json =
3109 new core.Map<core.String, core.Object>();
3371 if (authorization != null) { 3110 if (authorization != null) {
3372 _json["authorization"] = (authorization).toJson(); 3111 _json["authorization"] = (authorization).toJson();
3373 } 3112 }
3374 return _json; 3113 return _json;
3375 } 3114 }
3376 } 3115 }
3377 3116
3378 /** 3117 /// Represents an expression text. Example:
3379 * Represents an expression text. Example: 3118 ///
3380 * 3119 /// title: "User account presence"
3381 * title: "User account presence" 3120 /// description: "Determines whether the request has a user account"
3382 * description: "Determines whether the request has a user account" 3121 /// expression: "size(request.user) > 0"
3383 * expression: "size(request.user) > 0"
3384 */
3385 class Expr { 3122 class Expr {
3386 /** 3123 /// An optional description of the expression. This is a longer text which
3387 * An optional description of the expression. This is a longer text which 3124 /// describes the expression, e.g. when hovered over it in a UI.
3388 * describes the expression, e.g. when hovered over it in a UI.
3389 */
3390 core.String description; 3125 core.String description;
3391 /** 3126
3392 * Textual representation of an expression in 3127 /// Textual representation of an expression in
3393 * Common Expression Language syntax. 3128 /// Common Expression Language syntax.
3394 * 3129 ///
3395 * The application context of the containing message determines which 3130 /// The application context of the containing message determines which
3396 * well-known feature set of CEL is supported. 3131 /// well-known feature set of CEL is supported.
3397 */
3398 core.String expression; 3132 core.String expression;
3399 /** 3133
3400 * An optional string indicating the location of the expression for error 3134 /// An optional string indicating the location of the expression for error
3401 * reporting, e.g. a file name and a position in the file. 3135 /// reporting, e.g. a file name and a position in the file.
3402 */
3403 core.String location; 3136 core.String location;
3404 /** 3137
3405 * An optional title for the expression, i.e. a short string describing 3138 /// An optional title for the expression, i.e. a short string describing
3406 * its purpose. This can be used e.g. in UIs which allow to enter the 3139 /// its purpose. This can be used e.g. in UIs which allow to enter the
3407 * expression. 3140 /// expression.
3408 */
3409 core.String title; 3141 core.String title;
3410 3142
3411 Expr(); 3143 Expr();
3412 3144
3413 Expr.fromJson(core.Map _json) { 3145 Expr.fromJson(core.Map _json) {
3414 if (_json.containsKey("description")) { 3146 if (_json.containsKey("description")) {
3415 description = _json["description"]; 3147 description = _json["description"];
3416 } 3148 }
3417 if (_json.containsKey("expression")) { 3149 if (_json.containsKey("expression")) {
3418 expression = _json["expression"]; 3150 expression = _json["expression"];
3419 } 3151 }
3420 if (_json.containsKey("location")) { 3152 if (_json.containsKey("location")) {
3421 location = _json["location"]; 3153 location = _json["location"];
3422 } 3154 }
3423 if (_json.containsKey("title")) { 3155 if (_json.containsKey("title")) {
3424 title = _json["title"]; 3156 title = _json["title"];
3425 } 3157 }
3426 } 3158 }
3427 3159
3428 core.Map<core.String, core.Object> toJson() { 3160 core.Map<core.String, core.Object> toJson() {
3429 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3161 final core.Map<core.String, core.Object> _json =
3162 new core.Map<core.String, core.Object>();
3430 if (description != null) { 3163 if (description != null) {
3431 _json["description"] = description; 3164 _json["description"] = description;
3432 } 3165 }
3433 if (expression != null) { 3166 if (expression != null) {
3434 _json["expression"] = expression; 3167 _json["expression"] = expression;
3435 } 3168 }
3436 if (location != null) { 3169 if (location != null) {
3437 _json["location"] = location; 3170 _json["location"] = location;
3438 } 3171 }
3439 if (title != null) { 3172 if (title != null) {
3440 _json["title"] = title; 3173 _json["title"] = title;
3441 } 3174 }
3442 return _json; 3175 return _json;
3443 } 3176 }
3444 } 3177 }
3445 3178
3446 /** A single field of a message type. */ 3179 /// A single field of a message type.
3447 class Field { 3180 class Field {
3448 /** 3181 /// The field cardinality.
3449 * The field cardinality. 3182 /// Possible string values are:
3450 * Possible string values are: 3183 /// - "CARDINALITY_UNKNOWN" : For fields with unknown cardinality.
3451 * - "CARDINALITY_UNKNOWN" : For fields with unknown cardinality. 3184 /// - "CARDINALITY_OPTIONAL" : For optional fields.
3452 * - "CARDINALITY_OPTIONAL" : For optional fields. 3185 /// - "CARDINALITY_REQUIRED" : For required fields. Proto2 syntax only.
3453 * - "CARDINALITY_REQUIRED" : For required fields. Proto2 syntax only. 3186 /// - "CARDINALITY_REPEATED" : For repeated fields.
3454 * - "CARDINALITY_REPEATED" : For repeated fields.
3455 */
3456 core.String cardinality; 3187 core.String cardinality;
3457 /** 3188
3458 * The string value of the default value of this field. Proto2 syntax only. 3189 /// The string value of the default value of this field. Proto2 syntax only.
3459 */
3460 core.String defaultValue; 3190 core.String defaultValue;
3461 /** The field JSON name. */ 3191
3192 /// The field JSON name.
3462 core.String jsonName; 3193 core.String jsonName;
3463 /** 3194
3464 * The field type. 3195 /// The field type.
3465 * Possible string values are: 3196 /// Possible string values are:
3466 * - "TYPE_UNKNOWN" : Field type unknown. 3197 /// - "TYPE_UNKNOWN" : Field type unknown.
3467 * - "TYPE_DOUBLE" : Field type double. 3198 /// - "TYPE_DOUBLE" : Field type double.
3468 * - "TYPE_FLOAT" : Field type float. 3199 /// - "TYPE_FLOAT" : Field type float.
3469 * - "TYPE_INT64" : Field type int64. 3200 /// - "TYPE_INT64" : Field type int64.
3470 * - "TYPE_UINT64" : Field type uint64. 3201 /// - "TYPE_UINT64" : Field type uint64.
3471 * - "TYPE_INT32" : Field type int32. 3202 /// - "TYPE_INT32" : Field type int32.
3472 * - "TYPE_FIXED64" : Field type fixed64. 3203 /// - "TYPE_FIXED64" : Field type fixed64.
3473 * - "TYPE_FIXED32" : Field type fixed32. 3204 /// - "TYPE_FIXED32" : Field type fixed32.
3474 * - "TYPE_BOOL" : Field type bool. 3205 /// - "TYPE_BOOL" : Field type bool.
3475 * - "TYPE_STRING" : Field type string. 3206 /// - "TYPE_STRING" : Field type string.
3476 * - "TYPE_GROUP" : Field type group. Proto2 syntax only, and deprecated. 3207 /// - "TYPE_GROUP" : Field type group. Proto2 syntax only, and deprecated.
3477 * - "TYPE_MESSAGE" : Field type message. 3208 /// - "TYPE_MESSAGE" : Field type message.
3478 * - "TYPE_BYTES" : Field type bytes. 3209 /// - "TYPE_BYTES" : Field type bytes.
3479 * - "TYPE_UINT32" : Field type uint32. 3210 /// - "TYPE_UINT32" : Field type uint32.
3480 * - "TYPE_ENUM" : Field type enum. 3211 /// - "TYPE_ENUM" : Field type enum.
3481 * - "TYPE_SFIXED32" : Field type sfixed32. 3212 /// - "TYPE_SFIXED32" : Field type sfixed32.
3482 * - "TYPE_SFIXED64" : Field type sfixed64. 3213 /// - "TYPE_SFIXED64" : Field type sfixed64.
3483 * - "TYPE_SINT32" : Field type sint32. 3214 /// - "TYPE_SINT32" : Field type sint32.
3484 * - "TYPE_SINT64" : Field type sint64. 3215 /// - "TYPE_SINT64" : Field type sint64.
3485 */
3486 core.String kind; 3216 core.String kind;
3487 /** The field name. */ 3217
3218 /// The field name.
3488 core.String name; 3219 core.String name;
3489 /** The field number. */ 3220
3221 /// The field number.
3490 core.int number; 3222 core.int number;
3491 /** 3223
3492 * The index of the field type in `Type.oneofs`, for message or enumeration 3224 /// The index of the field type in `Type.oneofs`, for message or enumeration
3493 * types. The first type has index 1; zero means the type is not in the list. 3225 /// types. The first type has index 1; zero means the type is not in the
3494 */ 3226 /// list.
3495 core.int oneofIndex; 3227 core.int oneofIndex;
3496 /** The protocol buffer options. */ 3228
3229 /// The protocol buffer options.
3497 core.List<Option> options; 3230 core.List<Option> options;
3498 /** Whether to use alternative packed wire representation. */ 3231
3232 /// Whether to use alternative packed wire representation.
3499 core.bool packed; 3233 core.bool packed;
3500 /** 3234
3501 * The field type URL, without the scheme, for message or enumeration 3235 /// The field type URL, without the scheme, for message or enumeration
3502 * types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`. 3236 /// types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
3503 */
3504 core.String typeUrl; 3237 core.String typeUrl;
3505 3238
3506 Field(); 3239 Field();
3507 3240
3508 Field.fromJson(core.Map _json) { 3241 Field.fromJson(core.Map _json) {
3509 if (_json.containsKey("cardinality")) { 3242 if (_json.containsKey("cardinality")) {
3510 cardinality = _json["cardinality"]; 3243 cardinality = _json["cardinality"];
3511 } 3244 }
3512 if (_json.containsKey("defaultValue")) { 3245 if (_json.containsKey("defaultValue")) {
3513 defaultValue = _json["defaultValue"]; 3246 defaultValue = _json["defaultValue"];
3514 } 3247 }
3515 if (_json.containsKey("jsonName")) { 3248 if (_json.containsKey("jsonName")) {
3516 jsonName = _json["jsonName"]; 3249 jsonName = _json["jsonName"];
3517 } 3250 }
3518 if (_json.containsKey("kind")) { 3251 if (_json.containsKey("kind")) {
3519 kind = _json["kind"]; 3252 kind = _json["kind"];
3520 } 3253 }
3521 if (_json.containsKey("name")) { 3254 if (_json.containsKey("name")) {
3522 name = _json["name"]; 3255 name = _json["name"];
3523 } 3256 }
3524 if (_json.containsKey("number")) { 3257 if (_json.containsKey("number")) {
3525 number = _json["number"]; 3258 number = _json["number"];
3526 } 3259 }
3527 if (_json.containsKey("oneofIndex")) { 3260 if (_json.containsKey("oneofIndex")) {
3528 oneofIndex = _json["oneofIndex"]; 3261 oneofIndex = _json["oneofIndex"];
3529 } 3262 }
3530 if (_json.containsKey("options")) { 3263 if (_json.containsKey("options")) {
3531 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 3264 options =
3265 _json["options"].map((value) => new Option.fromJson(value)).toList();
3532 } 3266 }
3533 if (_json.containsKey("packed")) { 3267 if (_json.containsKey("packed")) {
3534 packed = _json["packed"]; 3268 packed = _json["packed"];
3535 } 3269 }
3536 if (_json.containsKey("typeUrl")) { 3270 if (_json.containsKey("typeUrl")) {
3537 typeUrl = _json["typeUrl"]; 3271 typeUrl = _json["typeUrl"];
3538 } 3272 }
3539 } 3273 }
3540 3274
3541 core.Map<core.String, core.Object> toJson() { 3275 core.Map<core.String, core.Object> toJson() {
3542 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3276 final core.Map<core.String, core.Object> _json =
3277 new core.Map<core.String, core.Object>();
3543 if (cardinality != null) { 3278 if (cardinality != null) {
3544 _json["cardinality"] = cardinality; 3279 _json["cardinality"] = cardinality;
3545 } 3280 }
3546 if (defaultValue != null) { 3281 if (defaultValue != null) {
3547 _json["defaultValue"] = defaultValue; 3282 _json["defaultValue"] = defaultValue;
3548 } 3283 }
3549 if (jsonName != null) { 3284 if (jsonName != null) {
3550 _json["jsonName"] = jsonName; 3285 _json["jsonName"] = jsonName;
3551 } 3286 }
3552 if (kind != null) { 3287 if (kind != null) {
(...skipping 14 matching lines...) Expand all
3567 if (packed != null) { 3302 if (packed != null) {
3568 _json["packed"] = packed; 3303 _json["packed"] = packed;
3569 } 3304 }
3570 if (typeUrl != null) { 3305 if (typeUrl != null) {
3571 _json["typeUrl"] = typeUrl; 3306 _json["typeUrl"] = typeUrl;
3572 } 3307 }
3573 return _json; 3308 return _json;
3574 } 3309 }
3575 } 3310 }
3576 3311
3577 /** The metadata associated with a long running operation resource. */ 3312 /// The metadata associated with a long running operation resource.
3578 class FlowOperationMetadata { 3313 class FlowOperationMetadata {
3579 /** 3314 /// The state of the operation with respect to cancellation.
3580 * The state of the operation with respect to cancellation. 3315 /// Possible string values are:
3581 * Possible string values are: 3316 /// - "RUNNING" : Default state, cancellable but not cancelled.
3582 * - "RUNNING" : Default state, cancellable but not cancelled. 3317 /// - "UNCANCELLABLE" : The operation has proceeded past the point of no
3583 * - "UNCANCELLABLE" : The operation has proceeded past the point of no return 3318 /// return and cannot
3584 * and cannot 3319 /// be cancelled.
3585 * be cancelled. 3320 /// - "CANCELLED" : The operation has been cancelled, work should cease
3586 * - "CANCELLED" : The operation has been cancelled, work should cease 3321 /// and any needed rollback steps executed.
3587 * and any needed rollback steps executed.
3588 */
3589 core.String cancelState; 3322 core.String cancelState;
3590 /** 3323
3591 * Deadline for the flow to complete, to prevent orphaned Operations. 3324 /// Deadline for the flow to complete, to prevent orphaned Operations.
3592 * 3325 ///
3593 * If the flow has not completed by this time, it may be terminated by 3326 /// If the flow has not completed by this time, it may be terminated by
3594 * the engine, or force-failed by Operation lookup. 3327 /// the engine, or force-failed by Operation lookup.
3595 * 3328 ///
3596 * Note that this is not a hard deadline after which the Flow will 3329 /// Note that this is not a hard deadline after which the Flow will
3597 * definitely be failed, rather it is a deadline after which it is reasonable 3330 /// definitely be failed, rather it is a deadline after which it is
3598 * to suspect a problem and other parts of the system may kill operation 3331 /// reasonable
3599 * to ensure we don't have orphans. 3332 /// to suspect a problem and other parts of the system may kill operation
3600 * see also: go/prevent-orphaned-operations 3333 /// to ensure we don't have orphans.
3601 */ 3334 /// see also: go/prevent-orphaned-operations
3602 core.String deadline; 3335 core.String deadline;
3603 /** 3336
3604 * The name of the top-level flow corresponding to this operation. 3337 /// The name of the top-level flow corresponding to this operation.
3605 * Must be equal to the "name" field for a FlowName enum. 3338 /// Must be equal to the "name" field for a FlowName enum.
3606 */
3607 core.String flowName; 3339 core.String flowName;
3608 /** 3340
3609 * The full name of the resources that this flow is directly associated with. 3341 /// The full name of the resources that this flow is directly associated
3610 */ 3342 /// with.
3611 core.List<core.String> resourceNames; 3343 core.List<core.String> resourceNames;
3612 /** The start time of the operation. */ 3344
3345 /// The start time of the operation.
3613 core.String startTime; 3346 core.String startTime;
3614 3347
3615 FlowOperationMetadata(); 3348 FlowOperationMetadata();
3616 3349
3617 FlowOperationMetadata.fromJson(core.Map _json) { 3350 FlowOperationMetadata.fromJson(core.Map _json) {
3618 if (_json.containsKey("cancelState")) { 3351 if (_json.containsKey("cancelState")) {
3619 cancelState = _json["cancelState"]; 3352 cancelState = _json["cancelState"];
3620 } 3353 }
3621 if (_json.containsKey("deadline")) { 3354 if (_json.containsKey("deadline")) {
3622 deadline = _json["deadline"]; 3355 deadline = _json["deadline"];
3623 } 3356 }
3624 if (_json.containsKey("flowName")) { 3357 if (_json.containsKey("flowName")) {
3625 flowName = _json["flowName"]; 3358 flowName = _json["flowName"];
3626 } 3359 }
3627 if (_json.containsKey("resourceNames")) { 3360 if (_json.containsKey("resourceNames")) {
3628 resourceNames = _json["resourceNames"]; 3361 resourceNames = _json["resourceNames"];
3629 } 3362 }
3630 if (_json.containsKey("startTime")) { 3363 if (_json.containsKey("startTime")) {
3631 startTime = _json["startTime"]; 3364 startTime = _json["startTime"];
3632 } 3365 }
3633 } 3366 }
3634 3367
3635 core.Map<core.String, core.Object> toJson() { 3368 core.Map<core.String, core.Object> toJson() {
3636 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3369 final core.Map<core.String, core.Object> _json =
3370 new core.Map<core.String, core.Object>();
3637 if (cancelState != null) { 3371 if (cancelState != null) {
3638 _json["cancelState"] = cancelState; 3372 _json["cancelState"] = cancelState;
3639 } 3373 }
3640 if (deadline != null) { 3374 if (deadline != null) {
3641 _json["deadline"] = deadline; 3375 _json["deadline"] = deadline;
3642 } 3376 }
3643 if (flowName != null) { 3377 if (flowName != null) {
3644 _json["flowName"] = flowName; 3378 _json["flowName"] = flowName;
3645 } 3379 }
3646 if (resourceNames != null) { 3380 if (resourceNames != null) {
3647 _json["resourceNames"] = resourceNames; 3381 _json["resourceNames"] = resourceNames;
3648 } 3382 }
3649 if (startTime != null) { 3383 if (startTime != null) {
3650 _json["startTime"] = startTime; 3384 _json["startTime"] = startTime;
3651 } 3385 }
3652 return _json; 3386 return _json;
3653 } 3387 }
3654 } 3388 }
3655 3389
3656 /** Request message for GenerateConfigReport method. */ 3390 /// Request message for GenerateConfigReport method.
3657 class GenerateConfigReportRequest { 3391 class GenerateConfigReportRequest {
3658 /** 3392 /// Service configuration for which we want to generate the report.
3659 * Service configuration for which we want to generate the report. 3393 /// For this version of API, the supported types are
3660 * For this version of API, the supported types are 3394 /// google.api.servicemanagement.v1.ConfigRef,
3661 * google.api.servicemanagement.v1.ConfigRef, 3395 /// google.api.servicemanagement.v1.ConfigSource,
3662 * google.api.servicemanagement.v1.ConfigSource, 3396 /// and google.api.Service
3663 * and google.api.Service 3397 ///
3664 * 3398 /// The values for Object must be JSON objects. It can consist of `num`,
3665 * The values for Object must be JSON objects. It can consist of `num`, 3399 /// `String`, `bool` and `null` as well as `Map` and `List` values.
3666 * `String`, `bool` and `null` as well as `Map` and `List` values.
3667 */
3668 core.Map<core.String, core.Object> newConfig; 3400 core.Map<core.String, core.Object> newConfig;
3669 /** 3401
3670 * Service configuration against which the comparison will be done. 3402 /// Service configuration against which the comparison will be done.
3671 * For this version of API, the supported types are 3403 /// For this version of API, the supported types are
3672 * google.api.servicemanagement.v1.ConfigRef, 3404 /// google.api.servicemanagement.v1.ConfigRef,
3673 * google.api.servicemanagement.v1.ConfigSource, 3405 /// google.api.servicemanagement.v1.ConfigSource,
3674 * and google.api.Service 3406 /// and google.api.Service
3675 * 3407 ///
3676 * The values for Object must be JSON objects. It can consist of `num`, 3408 /// The values for Object must be JSON objects. It can consist of `num`,
3677 * `String`, `bool` and `null` as well as `Map` and `List` values. 3409 /// `String`, `bool` and `null` as well as `Map` and `List` values.
3678 */
3679 core.Map<core.String, core.Object> oldConfig; 3410 core.Map<core.String, core.Object> oldConfig;
3680 3411
3681 GenerateConfigReportRequest(); 3412 GenerateConfigReportRequest();
3682 3413
3683 GenerateConfigReportRequest.fromJson(core.Map _json) { 3414 GenerateConfigReportRequest.fromJson(core.Map _json) {
3684 if (_json.containsKey("newConfig")) { 3415 if (_json.containsKey("newConfig")) {
3685 newConfig = _json["newConfig"]; 3416 newConfig = _json["newConfig"];
3686 } 3417 }
3687 if (_json.containsKey("oldConfig")) { 3418 if (_json.containsKey("oldConfig")) {
3688 oldConfig = _json["oldConfig"]; 3419 oldConfig = _json["oldConfig"];
3689 } 3420 }
3690 } 3421 }
3691 3422
3692 core.Map<core.String, core.Object> toJson() { 3423 core.Map<core.String, core.Object> toJson() {
3693 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3424 final core.Map<core.String, core.Object> _json =
3425 new core.Map<core.String, core.Object>();
3694 if (newConfig != null) { 3426 if (newConfig != null) {
3695 _json["newConfig"] = newConfig; 3427 _json["newConfig"] = newConfig;
3696 } 3428 }
3697 if (oldConfig != null) { 3429 if (oldConfig != null) {
3698 _json["oldConfig"] = oldConfig; 3430 _json["oldConfig"] = oldConfig;
3699 } 3431 }
3700 return _json; 3432 return _json;
3701 } 3433 }
3702 } 3434 }
3703 3435
3704 /** Response message for GenerateConfigReport method. */ 3436 /// Response message for GenerateConfigReport method.
3705 class GenerateConfigReportResponse { 3437 class GenerateConfigReportResponse {
3706 /** 3438 /// list of ChangeReport, each corresponding to comparison between two
3707 * list of ChangeReport, each corresponding to comparison between two 3439 /// service configurations.
3708 * service configurations.
3709 */
3710 core.List<ChangeReport> changeReports; 3440 core.List<ChangeReport> changeReports;
3711 /** 3441
3712 * Errors / Linter warnings associated with the service definition this 3442 /// Errors / Linter warnings associated with the service definition this
3713 * report 3443 /// report
3714 * belongs to. 3444 /// belongs to.
3715 */
3716 core.List<Diagnostic> diagnostics; 3445 core.List<Diagnostic> diagnostics;
3717 /** ID of the service configuration this report belongs to. */ 3446
3447 /// ID of the service configuration this report belongs to.
3718 core.String id; 3448 core.String id;
3719 /** Name of the service this report belongs to. */ 3449
3450 /// Name of the service this report belongs to.
3720 core.String serviceName; 3451 core.String serviceName;
3721 3452
3722 GenerateConfigReportResponse(); 3453 GenerateConfigReportResponse();
3723 3454
3724 GenerateConfigReportResponse.fromJson(core.Map _json) { 3455 GenerateConfigReportResponse.fromJson(core.Map _json) {
3725 if (_json.containsKey("changeReports")) { 3456 if (_json.containsKey("changeReports")) {
3726 changeReports = _json["changeReports"].map((value) => new ChangeReport.fro mJson(value)).toList(); 3457 changeReports = _json["changeReports"]
3458 .map((value) => new ChangeReport.fromJson(value))
3459 .toList();
3727 } 3460 }
3728 if (_json.containsKey("diagnostics")) { 3461 if (_json.containsKey("diagnostics")) {
3729 diagnostics = _json["diagnostics"].map((value) => new Diagnostic.fromJson( value)).toList(); 3462 diagnostics = _json["diagnostics"]
3463 .map((value) => new Diagnostic.fromJson(value))
3464 .toList();
3730 } 3465 }
3731 if (_json.containsKey("id")) { 3466 if (_json.containsKey("id")) {
3732 id = _json["id"]; 3467 id = _json["id"];
3733 } 3468 }
3734 if (_json.containsKey("serviceName")) { 3469 if (_json.containsKey("serviceName")) {
3735 serviceName = _json["serviceName"]; 3470 serviceName = _json["serviceName"];
3736 } 3471 }
3737 } 3472 }
3738 3473
3739 core.Map<core.String, core.Object> toJson() { 3474 core.Map<core.String, core.Object> toJson() {
3740 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3475 final core.Map<core.String, core.Object> _json =
3476 new core.Map<core.String, core.Object>();
3741 if (changeReports != null) { 3477 if (changeReports != null) {
3742 _json["changeReports"] = changeReports.map((value) => (value).toJson()).to List(); 3478 _json["changeReports"] =
3479 changeReports.map((value) => (value).toJson()).toList();
3743 } 3480 }
3744 if (diagnostics != null) { 3481 if (diagnostics != null) {
3745 _json["diagnostics"] = diagnostics.map((value) => (value).toJson()).toList (); 3482 _json["diagnostics"] =
3483 diagnostics.map((value) => (value).toJson()).toList();
3746 } 3484 }
3747 if (id != null) { 3485 if (id != null) {
3748 _json["id"] = id; 3486 _json["id"] = id;
3749 } 3487 }
3750 if (serviceName != null) { 3488 if (serviceName != null) {
3751 _json["serviceName"] = serviceName; 3489 _json["serviceName"] = serviceName;
3752 } 3490 }
3753 return _json; 3491 return _json;
3754 } 3492 }
3755 } 3493 }
3756 3494
3757 /** Request message for `GetIamPolicy` method. */ 3495 /// Request message for `GetIamPolicy` method.
3758 class GetIamPolicyRequest { 3496 class GetIamPolicyRequest {
3759
3760 GetIamPolicyRequest(); 3497 GetIamPolicyRequest();
3761 3498
3762 GetIamPolicyRequest.fromJson(core.Map _json) { 3499 GetIamPolicyRequest.fromJson(core.Map _json) {}
3763 }
3764 3500
3765 core.Map<core.String, core.Object> toJson() { 3501 core.Map<core.String, core.Object> toJson() {
3766 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3502 final core.Map<core.String, core.Object> _json =
3503 new core.Map<core.String, core.Object>();
3767 return _json; 3504 return _json;
3768 } 3505 }
3769 } 3506 }
3770 3507
3771 /** 3508 /// Defines the HTTP configuration for an API service. It contains a list of
3772 * Defines the HTTP configuration for an API service. It contains a list of 3509 /// HttpRule, each specifying the mapping of an RPC method
3773 * HttpRule, each specifying the mapping of an RPC method 3510 /// to one or more HTTP REST API methods.
3774 * to one or more HTTP REST API methods.
3775 */
3776 class Http { 3511 class Http {
3777 /** 3512 /// When set to true, URL path parmeters will be fully URI-decoded except in
3778 * When set to true, URL path parmeters will be fully URI-decoded except in 3513 /// cases of single segment matches in reserved expansion, where "%2F" will
3779 * cases of single segment matches in reserved expansion, where "%2F" will be 3514 /// be
3780 * left encoded. 3515 /// left encoded.
3781 * 3516 ///
3782 * The default behavior is to not decode RFC 6570 reserved characters in multi 3517 /// The default behavior is to not decode RFC 6570 reserved characters in
3783 * segment matches. 3518 /// multi
3784 */ 3519 /// segment matches.
3785 core.bool fullyDecodeReservedExpansion; 3520 core.bool fullyDecodeReservedExpansion;
3786 /** 3521
3787 * A list of HTTP configuration rules that apply to individual API methods. 3522 /// A list of HTTP configuration rules that apply to individual API methods.
3788 * 3523 ///
3789 * **NOTE:** All service configuration rules follow "last one wins" order. 3524 /// **NOTE:** All service configuration rules follow "last one wins" order.
3790 */
3791 core.List<HttpRule> rules; 3525 core.List<HttpRule> rules;
3792 3526
3793 Http(); 3527 Http();
3794 3528
3795 Http.fromJson(core.Map _json) { 3529 Http.fromJson(core.Map _json) {
3796 if (_json.containsKey("fullyDecodeReservedExpansion")) { 3530 if (_json.containsKey("fullyDecodeReservedExpansion")) {
3797 fullyDecodeReservedExpansion = _json["fullyDecodeReservedExpansion"]; 3531 fullyDecodeReservedExpansion = _json["fullyDecodeReservedExpansion"];
3798 } 3532 }
3799 if (_json.containsKey("rules")) { 3533 if (_json.containsKey("rules")) {
3800 rules = _json["rules"].map((value) => new HttpRule.fromJson(value)).toList (); 3534 rules =
3535 _json["rules"].map((value) => new HttpRule.fromJson(value)).toList();
3801 } 3536 }
3802 } 3537 }
3803 3538
3804 core.Map<core.String, core.Object> toJson() { 3539 core.Map<core.String, core.Object> toJson() {
3805 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3540 final core.Map<core.String, core.Object> _json =
3541 new core.Map<core.String, core.Object>();
3806 if (fullyDecodeReservedExpansion != null) { 3542 if (fullyDecodeReservedExpansion != null) {
3807 _json["fullyDecodeReservedExpansion"] = fullyDecodeReservedExpansion; 3543 _json["fullyDecodeReservedExpansion"] = fullyDecodeReservedExpansion;
3808 } 3544 }
3809 if (rules != null) { 3545 if (rules != null) {
3810 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 3546 _json["rules"] = rules.map((value) => (value).toJson()).toList();
3811 } 3547 }
3812 return _json; 3548 return _json;
3813 } 3549 }
3814 } 3550 }
3815 3551
3816 /** 3552 /// `HttpRule` defines the mapping of an RPC method to one or more HTTP
3817 * `HttpRule` defines the mapping of an RPC method to one or more HTTP 3553 /// REST API methods. The mapping specifies how different portions of the RPC
3818 * REST API methods. The mapping specifies how different portions of the RPC 3554 /// request message are mapped to URL path, URL query parameters, and
3819 * request message are mapped to URL path, URL query parameters, and 3555 /// HTTP request body. The mapping is typically specified as an
3820 * HTTP request body. The mapping is typically specified as an 3556 /// `google.api.http` annotation on the RPC method,
3821 * `google.api.http` annotation on the RPC method, 3557 /// see "google/api/annotations.proto" for details.
3822 * see "google/api/annotations.proto" for details. 3558 ///
3823 * 3559 /// The mapping consists of a field specifying the path template and
3824 * The mapping consists of a field specifying the path template and 3560 /// method kind. The path template can refer to fields in the request
3825 * method kind. The path template can refer to fields in the request 3561 /// message, as in the example below which describes a REST GET
3826 * message, as in the example below which describes a REST GET 3562 /// operation on a resource collection of messages:
3827 * operation on a resource collection of messages: 3563 ///
3828 * 3564 ///
3829 * 3565 /// service Messaging {
3830 * service Messaging { 3566 /// rpc GetMessage(GetMessageRequest) returns (Message) {
3831 * rpc GetMessage(GetMessageRequest) returns (Message) { 3567 /// option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
3832 * option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; 3568 /// }
3833 * } 3569 /// }
3834 * } 3570 /// message GetMessageRequest {
3835 * message GetMessageRequest { 3571 /// message SubMessage {
3836 * message SubMessage { 3572 /// string subfield = 1;
3837 * string subfield = 1; 3573 /// }
3838 * } 3574 /// string message_id = 1; // mapped to the URL
3839 * string message_id = 1; // mapped to the URL 3575 /// SubMessage sub = 2; // `sub.subfield` is url-mapped
3840 * SubMessage sub = 2; // `sub.subfield` is url-mapped 3576 /// }
3841 * } 3577 /// message Message {
3842 * message Message { 3578 /// string text = 1; // content of the resource
3843 * string text = 1; // content of the resource 3579 /// }
3844 * } 3580 ///
3845 * 3581 /// The same http annotation can alternatively be expressed inside the
3846 * The same http annotation can alternatively be expressed inside the 3582 /// `GRPC API Configuration` YAML file.
3847 * `GRPC API Configuration` YAML file. 3583 ///
3848 * 3584 /// http:
3849 * http: 3585 /// rules:
3850 * rules: 3586 /// - selector: <proto_package_name>.Messaging.GetMessage
3851 * - selector: <proto_package_name>.Messaging.GetMessage 3587 /// get: /v1/messages/{message_id}/{sub.subfield}
3852 * get: /v1/messages/{message_id}/{sub.subfield} 3588 ///
3853 * 3589 /// This definition enables an automatic, bidrectional mapping of HTTP
3854 * This definition enables an automatic, bidrectional mapping of HTTP 3590 /// JSON to RPC. Example:
3855 * JSON to RPC. Example: 3591 ///
3856 * 3592 /// HTTP | RPC
3857 * HTTP | RPC 3593 /// -----|-----
3858 * -----|----- 3594 /// `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub:
3859 * `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: 3595 /// SubMessage(subfield: "foo"))`
3860 * SubMessage(subfield: "foo"))` 3596 ///
3861 * 3597 /// In general, not only fields but also field paths can be referenced
3862 * In general, not only fields but also field paths can be referenced 3598 /// from a path pattern. Fields mapped to the path pattern cannot be
3863 * from a path pattern. Fields mapped to the path pattern cannot be 3599 /// repeated and must have a primitive (non-message) type.
3864 * repeated and must have a primitive (non-message) type. 3600 ///
3865 * 3601 /// Any fields in the request message which are not bound by the path
3866 * Any fields in the request message which are not bound by the path 3602 /// pattern automatically become (optional) HTTP query
3867 * pattern automatically become (optional) HTTP query 3603 /// parameters. Assume the following definition of the request message:
3868 * parameters. Assume the following definition of the request message: 3604 ///
3869 * 3605 ///
3870 * 3606 /// service Messaging {
3871 * service Messaging { 3607 /// rpc GetMessage(GetMessageRequest) returns (Message) {
3872 * rpc GetMessage(GetMessageRequest) returns (Message) { 3608 /// option (google.api.http).get = "/v1/messages/{message_id}";
3873 * option (google.api.http).get = "/v1/messages/{message_id}"; 3609 /// }
3874 * } 3610 /// }
3875 * } 3611 /// message GetMessageRequest {
3876 * message GetMessageRequest { 3612 /// message SubMessage {
3877 * message SubMessage { 3613 /// string subfield = 1;
3878 * string subfield = 1; 3614 /// }
3879 * } 3615 /// string message_id = 1; // mapped to the URL
3880 * string message_id = 1; // mapped to the URL 3616 /// int64 revision = 2; // becomes a parameter
3881 * int64 revision = 2; // becomes a parameter 3617 /// SubMessage sub = 3; // `sub.subfield` becomes a parameter
3882 * SubMessage sub = 3; // `sub.subfield` becomes a parameter 3618 /// }
3883 * } 3619 ///
3884 * 3620 ///
3885 * 3621 /// This enables a HTTP JSON to RPC mapping as below:
3886 * This enables a HTTP JSON to RPC mapping as below: 3622 ///
3887 * 3623 /// HTTP | RPC
3888 * HTTP | RPC 3624 /// -----|-----
3889 * -----|----- 3625 /// `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
3890 * `GET /v1/messages/123456?revision=2&sub.subfield=foo` | 3626 /// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield:
3891 * `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: 3627 /// "foo"))`
3892 * "foo"))` 3628 ///
3893 * 3629 /// Note that fields which are mapped to HTTP parameters must have a
3894 * Note that fields which are mapped to HTTP parameters must have a 3630 /// primitive type or a repeated primitive type. Message types are not
3895 * primitive type or a repeated primitive type. Message types are not 3631 /// allowed. In the case of a repeated type, the parameter can be
3896 * allowed. In the case of a repeated type, the parameter can be 3632 /// repeated in the URL, as in `...?param=A&param=B`.
3897 * repeated in the URL, as in `...?param=A&param=B`. 3633 ///
3898 * 3634 /// For HTTP method kinds which allow a request body, the `body` field
3899 * For HTTP method kinds which allow a request body, the `body` field 3635 /// specifies the mapping. Consider a REST update method on the
3900 * specifies the mapping. Consider a REST update method on the 3636 /// message resource collection:
3901 * message resource collection: 3637 ///
3902 * 3638 ///
3903 * 3639 /// service Messaging {
3904 * service Messaging { 3640 /// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
3905 * rpc UpdateMessage(UpdateMessageRequest) returns (Message) { 3641 /// option (google.api.http) = {
3906 * option (google.api.http) = { 3642 /// put: "/v1/messages/{message_id}"
3907 * put: "/v1/messages/{message_id}" 3643 /// body: "message"
3908 * body: "message" 3644 /// };
3909 * }; 3645 /// }
3910 * } 3646 /// }
3911 * } 3647 /// message UpdateMessageRequest {
3912 * message UpdateMessageRequest { 3648 /// string message_id = 1; // mapped to the URL
3913 * string message_id = 1; // mapped to the URL 3649 /// Message message = 2; // mapped to the body
3914 * Message message = 2; // mapped to the body 3650 /// }
3915 * } 3651 ///
3916 * 3652 ///
3917 * 3653 /// The following HTTP JSON to RPC mapping is enabled, where the
3918 * The following HTTP JSON to RPC mapping is enabled, where the 3654 /// representation of the JSON in the request body is determined by
3919 * representation of the JSON in the request body is determined by 3655 /// protos JSON encoding:
3920 * protos JSON encoding: 3656 ///
3921 * 3657 /// HTTP | RPC
3922 * HTTP | RPC 3658 /// -----|-----
3923 * -----|----- 3659 /// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
3924 * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: 3660 /// "123456" message { text: "Hi!" })`
3925 * "123456" message { text: "Hi!" })` 3661 ///
3926 * 3662 /// The special name `*` can be used in the body mapping to define that
3927 * The special name `*` can be used in the body mapping to define that 3663 /// every field not bound by the path template should be mapped to the
3928 * every field not bound by the path template should be mapped to the 3664 /// request body. This enables the following alternative definition of
3929 * request body. This enables the following alternative definition of 3665 /// the update method:
3930 * the update method: 3666 ///
3931 * 3667 /// service Messaging {
3932 * service Messaging { 3668 /// rpc UpdateMessage(Message) returns (Message) {
3933 * rpc UpdateMessage(Message) returns (Message) { 3669 /// option (google.api.http) = {
3934 * option (google.api.http) = { 3670 /// put: "/v1/messages/{message_id}"
3935 * put: "/v1/messages/{message_id}" 3671 /// body: "*"
3936 * body: "*" 3672 /// };
3937 * }; 3673 /// }
3938 * } 3674 /// }
3939 * } 3675 /// message Message {
3940 * message Message { 3676 /// string message_id = 1;
3941 * string message_id = 1; 3677 /// string text = 2;
3942 * string text = 2; 3678 /// }
3943 * } 3679 ///
3944 * 3680 ///
3945 * 3681 /// The following HTTP JSON to RPC mapping is enabled:
3946 * The following HTTP JSON to RPC mapping is enabled: 3682 ///
3947 * 3683 /// HTTP | RPC
3948 * HTTP | RPC 3684 /// -----|-----
3949 * -----|----- 3685 /// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id:
3950 * `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: 3686 /// "123456" text: "Hi!")`
3951 * "123456" text: "Hi!")` 3687 ///
3952 * 3688 /// Note that when using `*` in the body mapping, it is not possible to
3953 * Note that when using `*` in the body mapping, it is not possible to 3689 /// have HTTP parameters, as all fields not bound by the path end in
3954 * have HTTP parameters, as all fields not bound by the path end in 3690 /// the body. This makes this option more rarely used in practice of
3955 * the body. This makes this option more rarely used in practice of 3691 /// defining REST APIs. The common usage of `*` is in custom methods
3956 * defining REST APIs. The common usage of `*` is in custom methods 3692 /// which don't use the URL at all for transferring data.
3957 * which don't use the URL at all for transferring data. 3693 ///
3958 * 3694 /// It is possible to define multiple HTTP methods for one RPC by using
3959 * It is possible to define multiple HTTP methods for one RPC by using 3695 /// the `additional_bindings` option. Example:
3960 * the `additional_bindings` option. Example: 3696 ///
3961 * 3697 /// service Messaging {
3962 * service Messaging { 3698 /// rpc GetMessage(GetMessageRequest) returns (Message) {
3963 * rpc GetMessage(GetMessageRequest) returns (Message) { 3699 /// option (google.api.http) = {
3964 * option (google.api.http) = { 3700 /// get: "/v1/messages/{message_id}"
3965 * get: "/v1/messages/{message_id}" 3701 /// additional_bindings {
3966 * additional_bindings { 3702 /// get: "/v1/users/{user_id}/messages/{message_id}"
3967 * get: "/v1/users/{user_id}/messages/{message_id}" 3703 /// }
3968 * } 3704 /// };
3969 * }; 3705 /// }
3970 * } 3706 /// }
3971 * } 3707 /// message GetMessageRequest {
3972 * message GetMessageRequest { 3708 /// string message_id = 1;
3973 * string message_id = 1; 3709 /// string user_id = 2;
3974 * string user_id = 2; 3710 /// }
3975 * } 3711 ///
3976 * 3712 ///
3977 * 3713 /// This enables the following two alternative HTTP JSON to RPC
3978 * This enables the following two alternative HTTP JSON to RPC 3714 /// mappings:
3979 * mappings: 3715 ///
3980 * 3716 /// HTTP | RPC
3981 * HTTP | RPC 3717 /// -----|-----
3982 * -----|----- 3718 /// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
3983 * `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` 3719 /// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id:
3984 * `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: 3720 /// "123456")`
3985 * "123456")` 3721 ///
3986 * 3722 /// # Rules for HTTP mapping
3987 * # Rules for HTTP mapping 3723 ///
3988 * 3724 /// The rules for mapping HTTP path, query parameters, and body fields
3989 * The rules for mapping HTTP path, query parameters, and body fields 3725 /// to the request message are as follows:
3990 * to the request message are as follows: 3726 ///
3991 * 3727 /// 1. The `body` field specifies either `*` or a field path, or is
3992 * 1. The `body` field specifies either `*` or a field path, or is 3728 /// omitted. If omitted, it indicates there is no HTTP request body.
3993 * omitted. If omitted, it indicates there is no HTTP request body. 3729 /// 2. Leaf fields (recursive expansion of nested messages in the
3994 * 2. Leaf fields (recursive expansion of nested messages in the 3730 /// request) can be classified into three types:
3995 * request) can be classified into three types: 3731 /// (a) Matched in the URL template.
3996 * (a) Matched in the URL template. 3732 /// (b) Covered by body (if body is `*`, everything except (a) fields;
3997 * (b) Covered by body (if body is `*`, everything except (a) fields; 3733 /// else everything under the body field)
3998 * else everything under the body field) 3734 /// (c) All other fields.
3999 * (c) All other fields. 3735 /// 3. URL query parameters found in the HTTP request are mapped to (c) fields.
4000 * 3. URL query parameters found in the HTTP request are mapped to (c) fields. 3736 /// 4. Any body sent with an HTTP request can contain only (b) fields.
4001 * 4. Any body sent with an HTTP request can contain only (b) fields. 3737 ///
4002 * 3738 /// The syntax of the path template is as follows:
4003 * The syntax of the path template is as follows: 3739 ///
4004 * 3740 /// Template = "/" Segments [ Verb ] ;
4005 * Template = "/" Segments [ Verb ] ; 3741 /// Segments = Segment { "/" Segment } ;
4006 * Segments = Segment { "/" Segment } ; 3742 /// Segment = "*" | "**" | LITERAL | Variable ;
4007 * Segment = "*" | "**" | LITERAL | Variable ; 3743 /// Variable = "{" FieldPath [ "=" Segments ] "}" ;
4008 * Variable = "{" FieldPath [ "=" Segments ] "}" ; 3744 /// FieldPath = IDENT { "." IDENT } ;
4009 * FieldPath = IDENT { "." IDENT } ; 3745 /// Verb = ":" LITERAL ;
4010 * Verb = ":" LITERAL ; 3746 ///
4011 * 3747 /// The syntax `*` matches a single path segment. The syntax `**` matches zero
4012 * The syntax `*` matches a single path segment. The syntax `**` matches zero 3748 /// or more path segments, which must be the last part of the path except the
4013 * or more path segments, which must be the last part of the path except the 3749 /// `Verb`. The syntax `LITERAL` matches literal text in the path.
4014 * `Verb`. The syntax `LITERAL` matches literal text in the path. 3750 ///
4015 * 3751 /// The syntax `Variable` matches part of the URL path as specified by its
4016 * The syntax `Variable` matches part of the URL path as specified by its 3752 /// template. A variable template must not contain other variables. If a
4017 * template. A variable template must not contain other variables. If a variable 3753 /// variable
4018 * matches a single path segment, its template may be omitted, e.g. `{var}` 3754 /// matches a single path segment, its template may be omitted, e.g. `{var}`
4019 * is equivalent to `{var=*}`. 3755 /// is equivalent to `{var=*}`.
4020 * 3756 ///
4021 * If a variable contains exactly one path segment, such as `"{var}"` or 3757 /// If a variable contains exactly one path segment, such as `"{var}"` or
4022 * `"{var=*}"`, when such a variable is expanded into a URL path, all characters 3758 /// `"{var=*}"`, when such a variable is expanded into a URL path, all
4023 * except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the 3759 /// characters
4024 * Discovery Document as `{var}`. 3760 /// except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the
4025 * 3761 /// Discovery Document as `{var}`.
4026 * If a variable contains one or more path segments, such as `"{var=foo / * }"` 3762 ///
4027 * or `"{var=**}"`, when such a variable is expanded into a URL path, all 3763 /// If a variable contains one or more path segments, such as `"{var=foo / *
4028 * characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables 3764 /// }"`
4029 * show up in the Discovery Document as `{+var}`. 3765 /// or `"{var=**}"`, when such a variable is expanded into a URL path, all
4030 * 3766 /// characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables
4031 * NOTE: While the single segment variable matches the semantics of 3767 /// show up in the Discovery Document as `{+var}`.
4032 * [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 3768 ///
4033 * Simple String Expansion, the multi segment variable **does not** match 3769 /// NOTE: While the single segment variable matches the semantics of
4034 * RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion 3770 /// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
4035 * does not expand special characters like `?` and `#`, which would lead 3771 /// Simple String Expansion, the multi segment variable **does not** match
4036 * to invalid URLs. 3772 /// RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion
4037 * 3773 /// does not expand special characters like `?` and `#`, which would lead
4038 * NOTE: the field paths in variables and in the `body` must not refer to 3774 /// to invalid URLs.
4039 * repeated fields or map fields. 3775 ///
4040 */ 3776 /// NOTE: the field paths in variables and in the `body` must not refer to
3777 /// repeated fields or map fields.
4041 class HttpRule { 3778 class HttpRule {
4042 /** 3779 /// Additional HTTP bindings for the selector. Nested bindings must
4043 * Additional HTTP bindings for the selector. Nested bindings must 3780 /// not contain an `additional_bindings` field themselves (that is,
4044 * not contain an `additional_bindings` field themselves (that is, 3781 /// the nesting may only be one level deep).
4045 * the nesting may only be one level deep).
4046 */
4047 core.List<HttpRule> additionalBindings; 3782 core.List<HttpRule> additionalBindings;
4048 /** 3783
4049 * The name of the request field whose value is mapped to the HTTP body, or 3784 /// The name of the request field whose value is mapped to the HTTP body, or
4050 * `*` for mapping all fields not captured by the path pattern to the HTTP 3785 /// `*` for mapping all fields not captured by the path pattern to the HTTP
4051 * body. NOTE: the referred field must not be a repeated field and must be 3786 /// body. NOTE: the referred field must not be a repeated field and must be
4052 * present at the top-level of request message type. 3787 /// present at the top-level of request message type.
4053 */
4054 core.String body; 3788 core.String body;
4055 /** 3789
4056 * The custom pattern is used for specifying an HTTP method that is not 3790 /// The custom pattern is used for specifying an HTTP method that is not
4057 * included in the `pattern` field, such as HEAD, or "*" to leave the 3791 /// included in the `pattern` field, such as HEAD, or "*" to leave the
4058 * HTTP method unspecified for this rule. The wild-card rule is useful 3792 /// HTTP method unspecified for this rule. The wild-card rule is useful
4059 * for services that provide content to Web (HTML) clients. 3793 /// for services that provide content to Web (HTML) clients.
4060 */
4061 CustomHttpPattern custom; 3794 CustomHttpPattern custom;
4062 /** Used for deleting a resource. */ 3795
3796 /// Used for deleting a resource.
4063 core.String delete; 3797 core.String delete;
4064 /** Used for listing and getting information about resources. */ 3798
3799 /// Used for listing and getting information about resources.
4065 core.String get; 3800 core.String get;
4066 /** 3801
4067 * Use this only for Scotty Requests. Do not use this for bytestream methods. 3802 /// Use this only for Scotty Requests. Do not use this for bytestream
4068 * For media support, add instead [][google.bytestream.RestByteStream] as an 3803 /// methods.
4069 * API to your configuration. 3804 /// For media support, add instead [][google.bytestream.RestByteStream] as an
4070 */ 3805 /// API to your configuration.
4071 MediaDownload mediaDownload; 3806 MediaDownload mediaDownload;
4072 /** 3807
4073 * Use this only for Scotty Requests. Do not use this for media support using 3808 /// Use this only for Scotty Requests. Do not use this for media support
4074 * Bytestream, add instead 3809 /// using
4075 * [][google.bytestream.RestByteStream] as an API to your 3810 /// Bytestream, add instead
4076 * configuration for Bytestream methods. 3811 /// [][google.bytestream.RestByteStream] as an API to your
4077 */ 3812 /// configuration for Bytestream methods.
4078 MediaUpload mediaUpload; 3813 MediaUpload mediaUpload;
4079 /** Used for updating a resource. */ 3814
3815 /// Used for updating a resource.
4080 core.String patch; 3816 core.String patch;
4081 /** Used for creating a resource. */ 3817
3818 /// Used for creating a resource.
4082 core.String post; 3819 core.String post;
4083 /** Used for updating a resource. */ 3820
3821 /// Used for updating a resource.
4084 core.String put; 3822 core.String put;
4085 /** 3823
4086 * The name of the response field whose value is mapped to the HTTP body of 3824 /// The name of the response field whose value is mapped to the HTTP body of
4087 * response. Other response fields are ignored. This field is optional. When 3825 /// response. Other response fields are ignored. This field is optional. When
4088 * not set, the response message will be used as HTTP body of response. 3826 /// not set, the response message will be used as HTTP body of response.
4089 * NOTE: the referred field must be not a repeated field and must be present 3827 /// NOTE: the referred field must be not a repeated field and must be present
4090 * at the top-level of response message type. 3828 /// at the top-level of response message type.
4091 */
4092 core.String responseBody; 3829 core.String responseBody;
4093 /** 3830
4094 * Selects methods to which this rule applies. 3831 /// Selects methods to which this rule applies.
4095 * 3832 ///
4096 * Refer to selector for syntax details. 3833 /// Refer to selector for syntax details.
4097 */
4098 core.String selector; 3834 core.String selector;
4099 3835
4100 HttpRule(); 3836 HttpRule();
4101 3837
4102 HttpRule.fromJson(core.Map _json) { 3838 HttpRule.fromJson(core.Map _json) {
4103 if (_json.containsKey("additionalBindings")) { 3839 if (_json.containsKey("additionalBindings")) {
4104 additionalBindings = _json["additionalBindings"].map((value) => new HttpRu le.fromJson(value)).toList(); 3840 additionalBindings = _json["additionalBindings"]
3841 .map((value) => new HttpRule.fromJson(value))
3842 .toList();
4105 } 3843 }
4106 if (_json.containsKey("body")) { 3844 if (_json.containsKey("body")) {
4107 body = _json["body"]; 3845 body = _json["body"];
4108 } 3846 }
4109 if (_json.containsKey("custom")) { 3847 if (_json.containsKey("custom")) {
4110 custom = new CustomHttpPattern.fromJson(_json["custom"]); 3848 custom = new CustomHttpPattern.fromJson(_json["custom"]);
4111 } 3849 }
4112 if (_json.containsKey("delete")) { 3850 if (_json.containsKey("delete")) {
4113 delete = _json["delete"]; 3851 delete = _json["delete"];
4114 } 3852 }
(...skipping 17 matching lines...) Expand all
4132 } 3870 }
4133 if (_json.containsKey("responseBody")) { 3871 if (_json.containsKey("responseBody")) {
4134 responseBody = _json["responseBody"]; 3872 responseBody = _json["responseBody"];
4135 } 3873 }
4136 if (_json.containsKey("selector")) { 3874 if (_json.containsKey("selector")) {
4137 selector = _json["selector"]; 3875 selector = _json["selector"];
4138 } 3876 }
4139 } 3877 }
4140 3878
4141 core.Map<core.String, core.Object> toJson() { 3879 core.Map<core.String, core.Object> toJson() {
4142 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3880 final core.Map<core.String, core.Object> _json =
3881 new core.Map<core.String, core.Object>();
4143 if (additionalBindings != null) { 3882 if (additionalBindings != null) {
4144 _json["additionalBindings"] = additionalBindings.map((value) => (value).to Json()).toList(); 3883 _json["additionalBindings"] =
3884 additionalBindings.map((value) => (value).toJson()).toList();
4145 } 3885 }
4146 if (body != null) { 3886 if (body != null) {
4147 _json["body"] = body; 3887 _json["body"] = body;
4148 } 3888 }
4149 if (custom != null) { 3889 if (custom != null) {
4150 _json["custom"] = (custom).toJson(); 3890 _json["custom"] = (custom).toJson();
4151 } 3891 }
4152 if (delete != null) { 3892 if (delete != null) {
4153 _json["delete"] = delete; 3893 _json["delete"] = delete;
4154 } 3894 }
(...skipping 18 matching lines...) Expand all
4173 if (responseBody != null) { 3913 if (responseBody != null) {
4174 _json["responseBody"] = responseBody; 3914 _json["responseBody"] = responseBody;
4175 } 3915 }
4176 if (selector != null) { 3916 if (selector != null) {
4177 _json["selector"] = selector; 3917 _json["selector"] = selector;
4178 } 3918 }
4179 return _json; 3919 return _json;
4180 } 3920 }
4181 } 3921 }
4182 3922
4183 /** A description of a label. */ 3923 /// A description of a label.
4184 class LabelDescriptor { 3924 class LabelDescriptor {
4185 /** A human-readable description for the label. */ 3925 /// A human-readable description for the label.
4186 core.String description; 3926 core.String description;
4187 /** The label key. */ 3927
3928 /// The label key.
4188 core.String key; 3929 core.String key;
4189 /** 3930
4190 * The type of data that can be assigned to the label. 3931 /// The type of data that can be assigned to the label.
4191 * Possible string values are: 3932 /// Possible string values are:
4192 * - "STRING" : A variable-length string. This is the default. 3933 /// - "STRING" : A variable-length string. This is the default.
4193 * - "BOOL" : Boolean; true or false. 3934 /// - "BOOL" : Boolean; true or false.
4194 * - "INT64" : A 64-bit signed integer. 3935 /// - "INT64" : A 64-bit signed integer.
4195 */
4196 core.String valueType; 3936 core.String valueType;
4197 3937
4198 LabelDescriptor(); 3938 LabelDescriptor();
4199 3939
4200 LabelDescriptor.fromJson(core.Map _json) { 3940 LabelDescriptor.fromJson(core.Map _json) {
4201 if (_json.containsKey("description")) { 3941 if (_json.containsKey("description")) {
4202 description = _json["description"]; 3942 description = _json["description"];
4203 } 3943 }
4204 if (_json.containsKey("key")) { 3944 if (_json.containsKey("key")) {
4205 key = _json["key"]; 3945 key = _json["key"];
4206 } 3946 }
4207 if (_json.containsKey("valueType")) { 3947 if (_json.containsKey("valueType")) {
4208 valueType = _json["valueType"]; 3948 valueType = _json["valueType"];
4209 } 3949 }
4210 } 3950 }
4211 3951
4212 core.Map<core.String, core.Object> toJson() { 3952 core.Map<core.String, core.Object> toJson() {
4213 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3953 final core.Map<core.String, core.Object> _json =
3954 new core.Map<core.String, core.Object>();
4214 if (description != null) { 3955 if (description != null) {
4215 _json["description"] = description; 3956 _json["description"] = description;
4216 } 3957 }
4217 if (key != null) { 3958 if (key != null) {
4218 _json["key"] = key; 3959 _json["key"] = key;
4219 } 3960 }
4220 if (valueType != null) { 3961 if (valueType != null) {
4221 _json["valueType"] = valueType; 3962 _json["valueType"] = valueType;
4222 } 3963 }
4223 return _json; 3964 return _json;
4224 } 3965 }
4225 } 3966 }
4226 3967
4227 /** The response message for Operations.ListOperations. */ 3968 /// The response message for Operations.ListOperations.
4228 class ListOperationsResponse { 3969 class ListOperationsResponse {
4229 /** The standard List next-page token. */ 3970 /// The standard List next-page token.
4230 core.String nextPageToken; 3971 core.String nextPageToken;
4231 /** A list of operations that matches the specified filter in the request. */ 3972
3973 /// A list of operations that matches the specified filter in the request.
4232 core.List<Operation> operations; 3974 core.List<Operation> operations;
4233 3975
4234 ListOperationsResponse(); 3976 ListOperationsResponse();
4235 3977
4236 ListOperationsResponse.fromJson(core.Map _json) { 3978 ListOperationsResponse.fromJson(core.Map _json) {
4237 if (_json.containsKey("nextPageToken")) { 3979 if (_json.containsKey("nextPageToken")) {
4238 nextPageToken = _json["nextPageToken"]; 3980 nextPageToken = _json["nextPageToken"];
4239 } 3981 }
4240 if (_json.containsKey("operations")) { 3982 if (_json.containsKey("operations")) {
4241 operations = _json["operations"].map((value) => new Operation.fromJson(val ue)).toList(); 3983 operations = _json["operations"]
3984 .map((value) => new Operation.fromJson(value))
3985 .toList();
4242 } 3986 }
4243 } 3987 }
4244 3988
4245 core.Map<core.String, core.Object> toJson() { 3989 core.Map<core.String, core.Object> toJson() {
4246 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 3990 final core.Map<core.String, core.Object> _json =
3991 new core.Map<core.String, core.Object>();
4247 if (nextPageToken != null) { 3992 if (nextPageToken != null) {
4248 _json["nextPageToken"] = nextPageToken; 3993 _json["nextPageToken"] = nextPageToken;
4249 } 3994 }
4250 if (operations != null) { 3995 if (operations != null) {
4251 _json["operations"] = operations.map((value) => (value).toJson()).toList() ; 3996 _json["operations"] =
3997 operations.map((value) => (value).toJson()).toList();
4252 } 3998 }
4253 return _json; 3999 return _json;
4254 } 4000 }
4255 } 4001 }
4256 4002
4257 /** Response message for ListServiceConfigs method. */ 4003 /// Response message for ListServiceConfigs method.
4258 class ListServiceConfigsResponse { 4004 class ListServiceConfigsResponse {
4259 /** The token of the next page of results. */ 4005 /// The token of the next page of results.
4260 core.String nextPageToken; 4006 core.String nextPageToken;
4261 /** The list of service configuration resources. */ 4007
4008 /// The list of service configuration resources.
4262 core.List<Service> serviceConfigs; 4009 core.List<Service> serviceConfigs;
4263 4010
4264 ListServiceConfigsResponse(); 4011 ListServiceConfigsResponse();
4265 4012
4266 ListServiceConfigsResponse.fromJson(core.Map _json) { 4013 ListServiceConfigsResponse.fromJson(core.Map _json) {
4267 if (_json.containsKey("nextPageToken")) { 4014 if (_json.containsKey("nextPageToken")) {
4268 nextPageToken = _json["nextPageToken"]; 4015 nextPageToken = _json["nextPageToken"];
4269 } 4016 }
4270 if (_json.containsKey("serviceConfigs")) { 4017 if (_json.containsKey("serviceConfigs")) {
4271 serviceConfigs = _json["serviceConfigs"].map((value) => new Service.fromJs on(value)).toList(); 4018 serviceConfigs = _json["serviceConfigs"]
4019 .map((value) => new Service.fromJson(value))
4020 .toList();
4272 } 4021 }
4273 } 4022 }
4274 4023
4275 core.Map<core.String, core.Object> toJson() { 4024 core.Map<core.String, core.Object> toJson() {
4276 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4025 final core.Map<core.String, core.Object> _json =
4026 new core.Map<core.String, core.Object>();
4277 if (nextPageToken != null) { 4027 if (nextPageToken != null) {
4278 _json["nextPageToken"] = nextPageToken; 4028 _json["nextPageToken"] = nextPageToken;
4279 } 4029 }
4280 if (serviceConfigs != null) { 4030 if (serviceConfigs != null) {
4281 _json["serviceConfigs"] = serviceConfigs.map((value) => (value).toJson()). toList(); 4031 _json["serviceConfigs"] =
4032 serviceConfigs.map((value) => (value).toJson()).toList();
4282 } 4033 }
4283 return _json; 4034 return _json;
4284 } 4035 }
4285 } 4036 }
4286 4037
4287 /** Response message for ListServiceRollouts method. */ 4038 /// Response message for ListServiceRollouts method.
4288 class ListServiceRolloutsResponse { 4039 class ListServiceRolloutsResponse {
4289 /** The token of the next page of results. */ 4040 /// The token of the next page of results.
4290 core.String nextPageToken; 4041 core.String nextPageToken;
4291 /** The list of rollout resources. */ 4042
4043 /// The list of rollout resources.
4292 core.List<Rollout> rollouts; 4044 core.List<Rollout> rollouts;
4293 4045
4294 ListServiceRolloutsResponse(); 4046 ListServiceRolloutsResponse();
4295 4047
4296 ListServiceRolloutsResponse.fromJson(core.Map _json) { 4048 ListServiceRolloutsResponse.fromJson(core.Map _json) {
4297 if (_json.containsKey("nextPageToken")) { 4049 if (_json.containsKey("nextPageToken")) {
4298 nextPageToken = _json["nextPageToken"]; 4050 nextPageToken = _json["nextPageToken"];
4299 } 4051 }
4300 if (_json.containsKey("rollouts")) { 4052 if (_json.containsKey("rollouts")) {
4301 rollouts = _json["rollouts"].map((value) => new Rollout.fromJson(value)).t oList(); 4053 rollouts = _json["rollouts"]
4054 .map((value) => new Rollout.fromJson(value))
4055 .toList();
4302 } 4056 }
4303 } 4057 }
4304 4058
4305 core.Map<core.String, core.Object> toJson() { 4059 core.Map<core.String, core.Object> toJson() {
4306 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4060 final core.Map<core.String, core.Object> _json =
4061 new core.Map<core.String, core.Object>();
4307 if (nextPageToken != null) { 4062 if (nextPageToken != null) {
4308 _json["nextPageToken"] = nextPageToken; 4063 _json["nextPageToken"] = nextPageToken;
4309 } 4064 }
4310 if (rollouts != null) { 4065 if (rollouts != null) {
4311 _json["rollouts"] = rollouts.map((value) => (value).toJson()).toList(); 4066 _json["rollouts"] = rollouts.map((value) => (value).toJson()).toList();
4312 } 4067 }
4313 return _json; 4068 return _json;
4314 } 4069 }
4315 } 4070 }
4316 4071
4317 /** Response message for `ListServices` method. */ 4072 /// Response message for `ListServices` method.
4318 class ListServicesResponse { 4073 class ListServicesResponse {
4319 /** 4074 /// Token that can be passed to `ListServices` to resume a paginated query.
4320 * Token that can be passed to `ListServices` to resume a paginated query.
4321 */
4322 core.String nextPageToken; 4075 core.String nextPageToken;
4323 /** The returned services will only have the name field set. */ 4076
4077 /// The returned services will only have the name field set.
4324 core.List<ManagedService> services; 4078 core.List<ManagedService> services;
4325 4079
4326 ListServicesResponse(); 4080 ListServicesResponse();
4327 4081
4328 ListServicesResponse.fromJson(core.Map _json) { 4082 ListServicesResponse.fromJson(core.Map _json) {
4329 if (_json.containsKey("nextPageToken")) { 4083 if (_json.containsKey("nextPageToken")) {
4330 nextPageToken = _json["nextPageToken"]; 4084 nextPageToken = _json["nextPageToken"];
4331 } 4085 }
4332 if (_json.containsKey("services")) { 4086 if (_json.containsKey("services")) {
4333 services = _json["services"].map((value) => new ManagedService.fromJson(va lue)).toList(); 4087 services = _json["services"]
4088 .map((value) => new ManagedService.fromJson(value))
4089 .toList();
4334 } 4090 }
4335 } 4091 }
4336 4092
4337 core.Map<core.String, core.Object> toJson() { 4093 core.Map<core.String, core.Object> toJson() {
4338 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4094 final core.Map<core.String, core.Object> _json =
4095 new core.Map<core.String, core.Object>();
4339 if (nextPageToken != null) { 4096 if (nextPageToken != null) {
4340 _json["nextPageToken"] = nextPageToken; 4097 _json["nextPageToken"] = nextPageToken;
4341 } 4098 }
4342 if (services != null) { 4099 if (services != null) {
4343 _json["services"] = services.map((value) => (value).toJson()).toList(); 4100 _json["services"] = services.map((value) => (value).toJson()).toList();
4344 } 4101 }
4345 return _json; 4102 return _json;
4346 } 4103 }
4347 } 4104 }
4348 4105
4349 /** Specifies what kind of log the caller must write */ 4106 /// A description of a log type. Example in YAML format:
4350 class LogConfig { 4107 ///
4351 /** Cloud audit options. */ 4108 /// - name: library.googleapis.com/activity_history
4352 CloudAuditOptions cloudAudit; 4109 /// description: The history of borrowing and returning library items.
4353 /** Counter options. */ 4110 /// display_name: Activity
4354 CounterOptions counter; 4111 /// labels:
4355 /** Data access options. */ 4112 /// - key: /customer_id
4356 DataAccessOptions dataAccess; 4113 /// description: Identifier of a library customer
4114 class LogDescriptor {
4115 /// A human-readable description of this log. This information appears in
4116 /// the documentation and can contain details.
4117 core.String description;
4357 4118
4358 LogConfig(); 4119 /// The human-readable name for this log. This information appears on
4120 /// the user interface and should be concise.
4121 core.String displayName;
4359 4122
4360 LogConfig.fromJson(core.Map _json) { 4123 /// The set of labels that are available to describe a specific log entry.
4361 if (_json.containsKey("cloudAudit")) { 4124 /// Runtime requests that contain labels not specified here are
4362 cloudAudit = new CloudAuditOptions.fromJson(_json["cloudAudit"]); 4125 /// considered invalid.
4363 } 4126 core.List<LabelDescriptor> labels;
4364 if (_json.containsKey("counter")) {
4365 counter = new CounterOptions.fromJson(_json["counter"]);
4366 }
4367 if (_json.containsKey("dataAccess")) {
4368 dataAccess = new DataAccessOptions.fromJson(_json["dataAccess"]);
4369 }
4370 }
4371 4127
4372 core.Map<core.String, core.Object> toJson() { 4128 /// The name of the log. It must be less than 512 characters long and can
4373 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4129 /// include the following characters: upper- and lower-case alphanumeric
4374 if (cloudAudit != null) { 4130 /// characters [A-Za-z0-9], and punctuation characters including
4375 _json["cloudAudit"] = (cloudAudit).toJson(); 4131 /// slash, underscore, hyphen, period [/_-.].
4376 }
4377 if (counter != null) {
4378 _json["counter"] = (counter).toJson();
4379 }
4380 if (dataAccess != null) {
4381 _json["dataAccess"] = (dataAccess).toJson();
4382 }
4383 return _json;
4384 }
4385 }
4386
4387 /**
4388 * A description of a log type. Example in YAML format:
4389 *
4390 * - name: library.googleapis.com/activity_history
4391 * description: The history of borrowing and returning library items.
4392 * display_name: Activity
4393 * labels:
4394 * - key: /customer_id
4395 * description: Identifier of a library customer
4396 */
4397 class LogDescriptor {
4398 /**
4399 * A human-readable description of this log. This information appears in
4400 * the documentation and can contain details.
4401 */
4402 core.String description;
4403 /**
4404 * The human-readable name for this log. This information appears on
4405 * the user interface and should be concise.
4406 */
4407 core.String displayName;
4408 /**
4409 * The set of labels that are available to describe a specific log entry.
4410 * Runtime requests that contain labels not specified here are
4411 * considered invalid.
4412 */
4413 core.List<LabelDescriptor> labels;
4414 /**
4415 * The name of the log. It must be less than 512 characters long and can
4416 * include the following characters: upper- and lower-case alphanumeric
4417 * characters [A-Za-z0-9], and punctuation characters including
4418 * slash, underscore, hyphen, period [/_-.].
4419 */
4420 core.String name; 4132 core.String name;
4421 4133
4422 LogDescriptor(); 4134 LogDescriptor();
4423 4135
4424 LogDescriptor.fromJson(core.Map _json) { 4136 LogDescriptor.fromJson(core.Map _json) {
4425 if (_json.containsKey("description")) { 4137 if (_json.containsKey("description")) {
4426 description = _json["description"]; 4138 description = _json["description"];
4427 } 4139 }
4428 if (_json.containsKey("displayName")) { 4140 if (_json.containsKey("displayName")) {
4429 displayName = _json["displayName"]; 4141 displayName = _json["displayName"];
4430 } 4142 }
4431 if (_json.containsKey("labels")) { 4143 if (_json.containsKey("labels")) {
4432 labels = _json["labels"].map((value) => new LabelDescriptor.fromJson(value )).toList(); 4144 labels = _json["labels"]
4145 .map((value) => new LabelDescriptor.fromJson(value))
4146 .toList();
4433 } 4147 }
4434 if (_json.containsKey("name")) { 4148 if (_json.containsKey("name")) {
4435 name = _json["name"]; 4149 name = _json["name"];
4436 } 4150 }
4437 } 4151 }
4438 4152
4439 core.Map<core.String, core.Object> toJson() { 4153 core.Map<core.String, core.Object> toJson() {
4440 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4154 final core.Map<core.String, core.Object> _json =
4155 new core.Map<core.String, core.Object>();
4441 if (description != null) { 4156 if (description != null) {
4442 _json["description"] = description; 4157 _json["description"] = description;
4443 } 4158 }
4444 if (displayName != null) { 4159 if (displayName != null) {
4445 _json["displayName"] = displayName; 4160 _json["displayName"] = displayName;
4446 } 4161 }
4447 if (labels != null) { 4162 if (labels != null) {
4448 _json["labels"] = labels.map((value) => (value).toJson()).toList(); 4163 _json["labels"] = labels.map((value) => (value).toJson()).toList();
4449 } 4164 }
4450 if (name != null) { 4165 if (name != null) {
4451 _json["name"] = name; 4166 _json["name"] = name;
4452 } 4167 }
4453 return _json; 4168 return _json;
4454 } 4169 }
4455 } 4170 }
4456 4171
4457 /** 4172 /// Logging configuration of the service.
4458 * Logging configuration of the service. 4173 ///
4459 * 4174 /// The following example shows how to configure logs to be sent to the
4460 * The following example shows how to configure logs to be sent to the 4175 /// producer and consumer projects. In the example, the `activity_history`
4461 * producer and consumer projects. In the example, the `activity_history` 4176 /// log is sent to both the producer and consumer projects, whereas the
4462 * log is sent to both the producer and consumer projects, whereas the 4177 /// `purchase_history` log is only sent to the producer project.
4463 * `purchase_history` log is only sent to the producer project. 4178 ///
4464 * 4179 /// monitored_resources:
4465 * monitored_resources: 4180 /// - type: library.googleapis.com/branch
4466 * - type: library.googleapis.com/branch 4181 /// labels:
4467 * labels: 4182 /// - key: /city
4468 * - key: /city 4183 /// description: The city where the library branch is located in.
4469 * description: The city where the library branch is located in. 4184 /// - key: /name
4470 * - key: /name 4185 /// description: The name of the branch.
4471 * description: The name of the branch. 4186 /// logs:
4472 * logs: 4187 /// - name: activity_history
4473 * - name: activity_history 4188 /// labels:
4474 * labels: 4189 /// - key: /customer_id
4475 * - key: /customer_id 4190 /// - name: purchase_history
4476 * - name: purchase_history 4191 /// logging:
4477 * logging: 4192 /// producer_destinations:
4478 * producer_destinations: 4193 /// - monitored_resource: library.googleapis.com/branch
4479 * - monitored_resource: library.googleapis.com/branch 4194 /// logs:
4480 * logs: 4195 /// - activity_history
4481 * - activity_history 4196 /// - purchase_history
4482 * - purchase_history 4197 /// consumer_destinations:
4483 * consumer_destinations: 4198 /// - monitored_resource: library.googleapis.com/branch
4484 * - monitored_resource: library.googleapis.com/branch 4199 /// logs:
4485 * logs: 4200 /// - activity_history
4486 * - activity_history
4487 */
4488 class Logging { 4201 class Logging {
4489 /** 4202 /// Logging configurations for sending logs to the consumer project.
4490 * Logging configurations for sending logs to the consumer project. 4203 /// There can be multiple consumer destinations, each one must have a
4491 * There can be multiple consumer destinations, each one must have a 4204 /// different monitored resource type. A log can be used in at most
4492 * different monitored resource type. A log can be used in at most 4205 /// one consumer destination.
4493 * one consumer destination.
4494 */
4495 core.List<LoggingDestination> consumerDestinations; 4206 core.List<LoggingDestination> consumerDestinations;
4496 /** 4207
4497 * Logging configurations for sending logs to the producer project. 4208 /// Logging configurations for sending logs to the producer project.
4498 * There can be multiple producer destinations, each one must have a 4209 /// There can be multiple producer destinations, each one must have a
4499 * different monitored resource type. A log can be used in at most 4210 /// different monitored resource type. A log can be used in at most
4500 * one producer destination. 4211 /// one producer destination.
4501 */
4502 core.List<LoggingDestination> producerDestinations; 4212 core.List<LoggingDestination> producerDestinations;
4503 4213
4504 Logging(); 4214 Logging();
4505 4215
4506 Logging.fromJson(core.Map _json) { 4216 Logging.fromJson(core.Map _json) {
4507 if (_json.containsKey("consumerDestinations")) { 4217 if (_json.containsKey("consumerDestinations")) {
4508 consumerDestinations = _json["consumerDestinations"].map((value) => new Lo ggingDestination.fromJson(value)).toList(); 4218 consumerDestinations = _json["consumerDestinations"]
4219 .map((value) => new LoggingDestination.fromJson(value))
4220 .toList();
4509 } 4221 }
4510 if (_json.containsKey("producerDestinations")) { 4222 if (_json.containsKey("producerDestinations")) {
4511 producerDestinations = _json["producerDestinations"].map((value) => new Lo ggingDestination.fromJson(value)).toList(); 4223 producerDestinations = _json["producerDestinations"]
4224 .map((value) => new LoggingDestination.fromJson(value))
4225 .toList();
4512 } 4226 }
4513 } 4227 }
4514 4228
4515 core.Map<core.String, core.Object> toJson() { 4229 core.Map<core.String, core.Object> toJson() {
4516 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4230 final core.Map<core.String, core.Object> _json =
4231 new core.Map<core.String, core.Object>();
4517 if (consumerDestinations != null) { 4232 if (consumerDestinations != null) {
4518 _json["consumerDestinations"] = consumerDestinations.map((value) => (value ).toJson()).toList(); 4233 _json["consumerDestinations"] =
4234 consumerDestinations.map((value) => (value).toJson()).toList();
4519 } 4235 }
4520 if (producerDestinations != null) { 4236 if (producerDestinations != null) {
4521 _json["producerDestinations"] = producerDestinations.map((value) => (value ).toJson()).toList(); 4237 _json["producerDestinations"] =
4238 producerDestinations.map((value) => (value).toJson()).toList();
4522 } 4239 }
4523 return _json; 4240 return _json;
4524 } 4241 }
4525 } 4242 }
4526 4243
4527 /** 4244 /// Configuration of a specific logging destination (the producer project
4528 * Configuration of a specific logging destination (the producer project 4245 /// or the consumer project).
4529 * or the consumer project).
4530 */
4531 class LoggingDestination { 4246 class LoggingDestination {
4532 /** 4247 /// Names of the logs to be sent to this destination. Each name must
4533 * Names of the logs to be sent to this destination. Each name must 4248 /// be defined in the Service.logs section. If the log name is
4534 * be defined in the Service.logs section. If the log name is 4249 /// not a domain scoped name, it will be automatically prefixed with
4535 * not a domain scoped name, it will be automatically prefixed with 4250 /// the service name followed by "/".
4536 * the service name followed by "/".
4537 */
4538 core.List<core.String> logs; 4251 core.List<core.String> logs;
4539 /** 4252
4540 * The monitored resource type. The type must be defined in the 4253 /// The monitored resource type. The type must be defined in the
4541 * Service.monitored_resources section. 4254 /// Service.monitored_resources section.
4542 */
4543 core.String monitoredResource; 4255 core.String monitoredResource;
4544 4256
4545 LoggingDestination(); 4257 LoggingDestination();
4546 4258
4547 LoggingDestination.fromJson(core.Map _json) { 4259 LoggingDestination.fromJson(core.Map _json) {
4548 if (_json.containsKey("logs")) { 4260 if (_json.containsKey("logs")) {
4549 logs = _json["logs"]; 4261 logs = _json["logs"];
4550 } 4262 }
4551 if (_json.containsKey("monitoredResource")) { 4263 if (_json.containsKey("monitoredResource")) {
4552 monitoredResource = _json["monitoredResource"]; 4264 monitoredResource = _json["monitoredResource"];
4553 } 4265 }
4554 } 4266 }
4555 4267
4556 core.Map<core.String, core.Object> toJson() { 4268 core.Map<core.String, core.Object> toJson() {
4557 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4269 final core.Map<core.String, core.Object> _json =
4270 new core.Map<core.String, core.Object>();
4558 if (logs != null) { 4271 if (logs != null) {
4559 _json["logs"] = logs; 4272 _json["logs"] = logs;
4560 } 4273 }
4561 if (monitoredResource != null) { 4274 if (monitoredResource != null) {
4562 _json["monitoredResource"] = monitoredResource; 4275 _json["monitoredResource"] = monitoredResource;
4563 } 4276 }
4564 return _json; 4277 return _json;
4565 } 4278 }
4566 } 4279 }
4567 4280
4568 /** 4281 /// The full representation of a Service that is managed by
4569 * The full representation of a Service that is managed by 4282 /// Google Service Management.
4570 * Google Service Management.
4571 */
4572 class ManagedService { 4283 class ManagedService {
4573 /** ID of the project that produces and owns this service. */ 4284 /// ID of the project that produces and owns this service.
4574 core.String producerProjectId; 4285 core.String producerProjectId;
4575 /** 4286
4576 * The name of the service. See the [overview](/service-management/overview) 4287 /// The name of the service. See the [overview](/service-management/overview)
4577 * for naming requirements. 4288 /// for naming requirements.
4578 */
4579 core.String serviceName; 4289 core.String serviceName;
4580 4290
4581 ManagedService(); 4291 ManagedService();
4582 4292
4583 ManagedService.fromJson(core.Map _json) { 4293 ManagedService.fromJson(core.Map _json) {
4584 if (_json.containsKey("producerProjectId")) { 4294 if (_json.containsKey("producerProjectId")) {
4585 producerProjectId = _json["producerProjectId"]; 4295 producerProjectId = _json["producerProjectId"];
4586 } 4296 }
4587 if (_json.containsKey("serviceName")) { 4297 if (_json.containsKey("serviceName")) {
4588 serviceName = _json["serviceName"]; 4298 serviceName = _json["serviceName"];
4589 } 4299 }
4590 } 4300 }
4591 4301
4592 core.Map<core.String, core.Object> toJson() { 4302 core.Map<core.String, core.Object> toJson() {
4593 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4303 final core.Map<core.String, core.Object> _json =
4304 new core.Map<core.String, core.Object>();
4594 if (producerProjectId != null) { 4305 if (producerProjectId != null) {
4595 _json["producerProjectId"] = producerProjectId; 4306 _json["producerProjectId"] = producerProjectId;
4596 } 4307 }
4597 if (serviceName != null) { 4308 if (serviceName != null) {
4598 _json["serviceName"] = serviceName; 4309 _json["serviceName"] = serviceName;
4599 } 4310 }
4600 return _json; 4311 return _json;
4601 } 4312 }
4602 } 4313 }
4603 4314
4604 /** 4315 /// Defines the Media configuration for a service in case of a download.
4605 * Defines the Media configuration for a service in case of a download. 4316 /// Use this only for Scotty Requests. Do not use this for media support using
4606 * Use this only for Scotty Requests. Do not use this for media support using 4317 /// Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
4607 * Bytestream, add instead [][google.bytestream.RestByteStream] as an API to 4318 /// your configuration for Bytestream methods.
4608 * your configuration for Bytestream methods.
4609 */
4610 class MediaDownload { 4319 class MediaDownload {
4611 /** 4320 /// A boolean that determines whether a notification for the completion of a
4612 * A boolean that determines whether a notification for the completion of a 4321 /// download should be sent to the backend.
4613 * download should be sent to the backend.
4614 */
4615 core.bool completeNotification; 4322 core.bool completeNotification;
4616 /** 4323
4617 * DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED. 4324 /// DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
4618 * 4325 ///
4619 * Specify name of the download service if one is used for download. 4326 /// Specify name of the download service if one is used for download.
4620 */
4621 core.String downloadService; 4327 core.String downloadService;
4622 /** Name of the Scotty dropzone to use for the current API. */ 4328
4329 /// Name of the Scotty dropzone to use for the current API.
4623 core.String dropzone; 4330 core.String dropzone;
4624 /** Whether download is enabled. */ 4331
4332 /// Whether download is enabled.
4625 core.bool enabled; 4333 core.bool enabled;
4626 /** 4334
4627 * Optional maximum acceptable size for direct download. 4335 /// Optional maximum acceptable size for direct download.
4628 * The size is specified in bytes. 4336 /// The size is specified in bytes.
4629 */
4630 core.String maxDirectDownloadSize; 4337 core.String maxDirectDownloadSize;
4631 /** 4338
4632 * A boolean that determines if direct download from ESF should be used for 4339 /// A boolean that determines if direct download from ESF should be used for
4633 * download of this media. 4340 /// download of this media.
4634 */
4635 core.bool useDirectDownload; 4341 core.bool useDirectDownload;
4636 4342
4637 MediaDownload(); 4343 MediaDownload();
4638 4344
4639 MediaDownload.fromJson(core.Map _json) { 4345 MediaDownload.fromJson(core.Map _json) {
4640 if (_json.containsKey("completeNotification")) { 4346 if (_json.containsKey("completeNotification")) {
4641 completeNotification = _json["completeNotification"]; 4347 completeNotification = _json["completeNotification"];
4642 } 4348 }
4643 if (_json.containsKey("downloadService")) { 4349 if (_json.containsKey("downloadService")) {
4644 downloadService = _json["downloadService"]; 4350 downloadService = _json["downloadService"];
4645 } 4351 }
4646 if (_json.containsKey("dropzone")) { 4352 if (_json.containsKey("dropzone")) {
4647 dropzone = _json["dropzone"]; 4353 dropzone = _json["dropzone"];
4648 } 4354 }
4649 if (_json.containsKey("enabled")) { 4355 if (_json.containsKey("enabled")) {
4650 enabled = _json["enabled"]; 4356 enabled = _json["enabled"];
4651 } 4357 }
4652 if (_json.containsKey("maxDirectDownloadSize")) { 4358 if (_json.containsKey("maxDirectDownloadSize")) {
4653 maxDirectDownloadSize = _json["maxDirectDownloadSize"]; 4359 maxDirectDownloadSize = _json["maxDirectDownloadSize"];
4654 } 4360 }
4655 if (_json.containsKey("useDirectDownload")) { 4361 if (_json.containsKey("useDirectDownload")) {
4656 useDirectDownload = _json["useDirectDownload"]; 4362 useDirectDownload = _json["useDirectDownload"];
4657 } 4363 }
4658 } 4364 }
4659 4365
4660 core.Map<core.String, core.Object> toJson() { 4366 core.Map<core.String, core.Object> toJson() {
4661 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4367 final core.Map<core.String, core.Object> _json =
4368 new core.Map<core.String, core.Object>();
4662 if (completeNotification != null) { 4369 if (completeNotification != null) {
4663 _json["completeNotification"] = completeNotification; 4370 _json["completeNotification"] = completeNotification;
4664 } 4371 }
4665 if (downloadService != null) { 4372 if (downloadService != null) {
4666 _json["downloadService"] = downloadService; 4373 _json["downloadService"] = downloadService;
4667 } 4374 }
4668 if (dropzone != null) { 4375 if (dropzone != null) {
4669 _json["dropzone"] = dropzone; 4376 _json["dropzone"] = dropzone;
4670 } 4377 }
4671 if (enabled != null) { 4378 if (enabled != null) {
4672 _json["enabled"] = enabled; 4379 _json["enabled"] = enabled;
4673 } 4380 }
4674 if (maxDirectDownloadSize != null) { 4381 if (maxDirectDownloadSize != null) {
4675 _json["maxDirectDownloadSize"] = maxDirectDownloadSize; 4382 _json["maxDirectDownloadSize"] = maxDirectDownloadSize;
4676 } 4383 }
4677 if (useDirectDownload != null) { 4384 if (useDirectDownload != null) {
4678 _json["useDirectDownload"] = useDirectDownload; 4385 _json["useDirectDownload"] = useDirectDownload;
4679 } 4386 }
4680 return _json; 4387 return _json;
4681 } 4388 }
4682 } 4389 }
4683 4390
4684 /** 4391 /// Defines the Media configuration for a service in case of an upload.
4685 * Defines the Media configuration for a service in case of an upload. 4392 /// Use this only for Scotty Requests. Do not use this for media support using
4686 * Use this only for Scotty Requests. Do not use this for media support using 4393 /// Bytestream, add instead [][google.bytestream.RestByteStream] as an API to
4687 * Bytestream, add instead [][google.bytestream.RestByteStream] as an API to 4394 /// your configuration for Bytestream methods.
4688 * your configuration for Bytestream methods.
4689 */
4690 class MediaUpload { 4395 class MediaUpload {
4691 /** 4396 /// A boolean that determines whether a notification for the completion of an
4692 * A boolean that determines whether a notification for the completion of an 4397 /// upload should be sent to the backend. These notifications will not be
4693 * upload should be sent to the backend. These notifications will not be seen 4398 /// seen
4694 * by the client and will not consume quota. 4399 /// by the client and will not consume quota.
4695 */
4696 core.bool completeNotification; 4400 core.bool completeNotification;
4697 /** Name of the Scotty dropzone to use for the current API. */ 4401
4402 /// Name of the Scotty dropzone to use for the current API.
4698 core.String dropzone; 4403 core.String dropzone;
4699 /** Whether upload is enabled. */ 4404
4405 /// Whether upload is enabled.
4700 core.bool enabled; 4406 core.bool enabled;
4701 /** 4407
4702 * Optional maximum acceptable size for an upload. 4408 /// Optional maximum acceptable size for an upload.
4703 * The size is specified in bytes. 4409 /// The size is specified in bytes.
4704 */
4705 core.String maxSize; 4410 core.String maxSize;
4706 /** 4411
4707 * An array of mimetype patterns. Esf will only accept uploads that match one 4412 /// An array of mimetype patterns. Esf will only accept uploads that match
4708 * of the given patterns. 4413 /// one
4709 */ 4414 /// of the given patterns.
4710 core.List<core.String> mimeTypes; 4415 core.List<core.String> mimeTypes;
4711 /** 4416
4712 * Whether to receive a notification for progress changes of media upload. 4417 /// Whether to receive a notification for progress changes of media upload.
4713 */
4714 core.bool progressNotification; 4418 core.bool progressNotification;
4715 /** Whether to receive a notification on the start of media upload. */ 4419
4420 /// Whether to receive a notification on the start of media upload.
4716 core.bool startNotification; 4421 core.bool startNotification;
4717 /** 4422
4718 * DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED. 4423 /// DO NOT USE FIELDS BELOW THIS LINE UNTIL THIS WARNING IS REMOVED.
4719 * 4424 ///
4720 * Specify name of the upload service if one is used for upload. 4425 /// Specify name of the upload service if one is used for upload.
4721 */
4722 core.String uploadService; 4426 core.String uploadService;
4723 4427
4724 MediaUpload(); 4428 MediaUpload();
4725 4429
4726 MediaUpload.fromJson(core.Map _json) { 4430 MediaUpload.fromJson(core.Map _json) {
4727 if (_json.containsKey("completeNotification")) { 4431 if (_json.containsKey("completeNotification")) {
4728 completeNotification = _json["completeNotification"]; 4432 completeNotification = _json["completeNotification"];
4729 } 4433 }
4730 if (_json.containsKey("dropzone")) { 4434 if (_json.containsKey("dropzone")) {
4731 dropzone = _json["dropzone"]; 4435 dropzone = _json["dropzone"];
(...skipping 12 matching lines...) Expand all
4744 } 4448 }
4745 if (_json.containsKey("startNotification")) { 4449 if (_json.containsKey("startNotification")) {
4746 startNotification = _json["startNotification"]; 4450 startNotification = _json["startNotification"];
4747 } 4451 }
4748 if (_json.containsKey("uploadService")) { 4452 if (_json.containsKey("uploadService")) {
4749 uploadService = _json["uploadService"]; 4453 uploadService = _json["uploadService"];
4750 } 4454 }
4751 } 4455 }
4752 4456
4753 core.Map<core.String, core.Object> toJson() { 4457 core.Map<core.String, core.Object> toJson() {
4754 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4458 final core.Map<core.String, core.Object> _json =
4459 new core.Map<core.String, core.Object>();
4755 if (completeNotification != null) { 4460 if (completeNotification != null) {
4756 _json["completeNotification"] = completeNotification; 4461 _json["completeNotification"] = completeNotification;
4757 } 4462 }
4758 if (dropzone != null) { 4463 if (dropzone != null) {
4759 _json["dropzone"] = dropzone; 4464 _json["dropzone"] = dropzone;
4760 } 4465 }
4761 if (enabled != null) { 4466 if (enabled != null) {
4762 _json["enabled"] = enabled; 4467 _json["enabled"] = enabled;
4763 } 4468 }
4764 if (maxSize != null) { 4469 if (maxSize != null) {
4765 _json["maxSize"] = maxSize; 4470 _json["maxSize"] = maxSize;
4766 } 4471 }
4767 if (mimeTypes != null) { 4472 if (mimeTypes != null) {
4768 _json["mimeTypes"] = mimeTypes; 4473 _json["mimeTypes"] = mimeTypes;
4769 } 4474 }
4770 if (progressNotification != null) { 4475 if (progressNotification != null) {
4771 _json["progressNotification"] = progressNotification; 4476 _json["progressNotification"] = progressNotification;
4772 } 4477 }
4773 if (startNotification != null) { 4478 if (startNotification != null) {
4774 _json["startNotification"] = startNotification; 4479 _json["startNotification"] = startNotification;
4775 } 4480 }
4776 if (uploadService != null) { 4481 if (uploadService != null) {
4777 _json["uploadService"] = uploadService; 4482 _json["uploadService"] = uploadService;
4778 } 4483 }
4779 return _json; 4484 return _json;
4780 } 4485 }
4781 } 4486 }
4782 4487
4783 /** Method represents a method of an API interface. */ 4488 /// Method represents a method of an API interface.
4784 class Method { 4489 class Method {
4785 /** The simple name of this method. */ 4490 /// The simple name of this method.
4786 core.String name; 4491 core.String name;
4787 /** Any metadata attached to the method. */ 4492
4493 /// Any metadata attached to the method.
4788 core.List<Option> options; 4494 core.List<Option> options;
4789 /** If true, the request is streamed. */ 4495
4496 /// If true, the request is streamed.
4790 core.bool requestStreaming; 4497 core.bool requestStreaming;
4791 /** A URL of the input message type. */ 4498
4499 /// A URL of the input message type.
4792 core.String requestTypeUrl; 4500 core.String requestTypeUrl;
4793 /** If true, the response is streamed. */ 4501
4502 /// If true, the response is streamed.
4794 core.bool responseStreaming; 4503 core.bool responseStreaming;
4795 /** The URL of the output message type. */ 4504
4505 /// The URL of the output message type.
4796 core.String responseTypeUrl; 4506 core.String responseTypeUrl;
4797 /** 4507
4798 * The source syntax of this method. 4508 /// The source syntax of this method.
4799 * Possible string values are: 4509 /// Possible string values are:
4800 * - "SYNTAX_PROTO2" : Syntax `proto2`. 4510 /// - "SYNTAX_PROTO2" : Syntax `proto2`.
4801 * - "SYNTAX_PROTO3" : Syntax `proto3`. 4511 /// - "SYNTAX_PROTO3" : Syntax `proto3`.
4802 */
4803 core.String syntax; 4512 core.String syntax;
4804 4513
4805 Method(); 4514 Method();
4806 4515
4807 Method.fromJson(core.Map _json) { 4516 Method.fromJson(core.Map _json) {
4808 if (_json.containsKey("name")) { 4517 if (_json.containsKey("name")) {
4809 name = _json["name"]; 4518 name = _json["name"];
4810 } 4519 }
4811 if (_json.containsKey("options")) { 4520 if (_json.containsKey("options")) {
4812 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 4521 options =
4522 _json["options"].map((value) => new Option.fromJson(value)).toList();
4813 } 4523 }
4814 if (_json.containsKey("requestStreaming")) { 4524 if (_json.containsKey("requestStreaming")) {
4815 requestStreaming = _json["requestStreaming"]; 4525 requestStreaming = _json["requestStreaming"];
4816 } 4526 }
4817 if (_json.containsKey("requestTypeUrl")) { 4527 if (_json.containsKey("requestTypeUrl")) {
4818 requestTypeUrl = _json["requestTypeUrl"]; 4528 requestTypeUrl = _json["requestTypeUrl"];
4819 } 4529 }
4820 if (_json.containsKey("responseStreaming")) { 4530 if (_json.containsKey("responseStreaming")) {
4821 responseStreaming = _json["responseStreaming"]; 4531 responseStreaming = _json["responseStreaming"];
4822 } 4532 }
4823 if (_json.containsKey("responseTypeUrl")) { 4533 if (_json.containsKey("responseTypeUrl")) {
4824 responseTypeUrl = _json["responseTypeUrl"]; 4534 responseTypeUrl = _json["responseTypeUrl"];
4825 } 4535 }
4826 if (_json.containsKey("syntax")) { 4536 if (_json.containsKey("syntax")) {
4827 syntax = _json["syntax"]; 4537 syntax = _json["syntax"];
4828 } 4538 }
4829 } 4539 }
4830 4540
4831 core.Map<core.String, core.Object> toJson() { 4541 core.Map<core.String, core.Object> toJson() {
4832 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4542 final core.Map<core.String, core.Object> _json =
4543 new core.Map<core.String, core.Object>();
4833 if (name != null) { 4544 if (name != null) {
4834 _json["name"] = name; 4545 _json["name"] = name;
4835 } 4546 }
4836 if (options != null) { 4547 if (options != null) {
4837 _json["options"] = options.map((value) => (value).toJson()).toList(); 4548 _json["options"] = options.map((value) => (value).toJson()).toList();
4838 } 4549 }
4839 if (requestStreaming != null) { 4550 if (requestStreaming != null) {
4840 _json["requestStreaming"] = requestStreaming; 4551 _json["requestStreaming"] = requestStreaming;
4841 } 4552 }
4842 if (requestTypeUrl != null) { 4553 if (requestTypeUrl != null) {
4843 _json["requestTypeUrl"] = requestTypeUrl; 4554 _json["requestTypeUrl"] = requestTypeUrl;
4844 } 4555 }
4845 if (responseStreaming != null) { 4556 if (responseStreaming != null) {
4846 _json["responseStreaming"] = responseStreaming; 4557 _json["responseStreaming"] = responseStreaming;
4847 } 4558 }
4848 if (responseTypeUrl != null) { 4559 if (responseTypeUrl != null) {
4849 _json["responseTypeUrl"] = responseTypeUrl; 4560 _json["responseTypeUrl"] = responseTypeUrl;
4850 } 4561 }
4851 if (syntax != null) { 4562 if (syntax != null) {
4852 _json["syntax"] = syntax; 4563 _json["syntax"] = syntax;
4853 } 4564 }
4854 return _json; 4565 return _json;
4855 } 4566 }
4856 } 4567 }
4857 4568
4858 /** 4569 /// Defines a metric type and its schema. Once a metric descriptor is created,
4859 * Defines a metric type and its schema. Once a metric descriptor is created, 4570 /// deleting or altering it stops data collection and makes the metric type's
4860 * deleting or altering it stops data collection and makes the metric type's 4571 /// existing data unusable.
4861 * existing data unusable.
4862 */
4863 class MetricDescriptor { 4572 class MetricDescriptor {
4864 /** 4573 /// A detailed description of the metric, which can be used in documentation.
4865 * A detailed description of the metric, which can be used in documentation.
4866 */
4867 core.String description; 4574 core.String description;
4868 /** 4575
4869 * A concise name for the metric, which can be displayed in user interfaces. 4576 /// A concise name for the metric, which can be displayed in user interfaces.
4870 * Use sentence case without an ending period, for example "Request count". 4577 /// Use sentence case without an ending period, for example "Request count".
4871 */
4872 core.String displayName; 4578 core.String displayName;
4873 /** 4579
4874 * The set of labels that can be used to describe a specific 4580 /// The set of labels that can be used to describe a specific
4875 * instance of this metric type. For example, the 4581 /// instance of this metric type. For example, the
4876 * `appengine.googleapis.com/http/server/response_latencies` metric 4582 /// `appengine.googleapis.com/http/server/response_latencies` metric
4877 * type has a label for the HTTP response code, `response_code`, so 4583 /// type has a label for the HTTP response code, `response_code`, so
4878 * you can look at latencies for successful responses or just 4584 /// you can look at latencies for successful responses or just
4879 * for responses that failed. 4585 /// for responses that failed.
4880 */
4881 core.List<LabelDescriptor> labels; 4586 core.List<LabelDescriptor> labels;
4882 /** 4587
4883 * Whether the metric records instantaneous values, changes to a value, etc. 4588 /// Whether the metric records instantaneous values, changes to a value, etc.
4884 * Some combinations of `metric_kind` and `value_type` might not be supported. 4589 /// Some combinations of `metric_kind` and `value_type` might not be
4885 * Possible string values are: 4590 /// supported.
4886 * - "METRIC_KIND_UNSPECIFIED" : Do not use this default value. 4591 /// Possible string values are:
4887 * - "GAUGE" : An instantaneous measurement of a value. 4592 /// - "METRIC_KIND_UNSPECIFIED" : Do not use this default value.
4888 * - "DELTA" : The change in a value during a time interval. 4593 /// - "GAUGE" : An instantaneous measurement of a value.
4889 * - "CUMULATIVE" : A value accumulated over a time interval. Cumulative 4594 /// - "DELTA" : The change in a value during a time interval.
4890 * measurements in a time series should have the same start time 4595 /// - "CUMULATIVE" : A value accumulated over a time interval. Cumulative
4891 * and increasing end times, until an event resets the cumulative 4596 /// measurements in a time series should have the same start time
4892 * value to zero and sets a new start time for the following 4597 /// and increasing end times, until an event resets the cumulative
4893 * points. 4598 /// value to zero and sets a new start time for the following
4894 */ 4599 /// points.
4895 core.String metricKind; 4600 core.String metricKind;
4896 /** 4601
4897 * The resource name of the metric descriptor. Depending on the 4602 /// The resource name of the metric descriptor. Depending on the
4898 * implementation, the name typically includes: (1) the parent resource name 4603 /// implementation, the name typically includes: (1) the parent resource name
4899 * that defines the scope of the metric type or of its data; and (2) the 4604 /// that defines the scope of the metric type or of its data; and (2) the
4900 * metric's URL-encoded type, which also appears in the `type` field of this 4605 /// metric's URL-encoded type, which also appears in the `type` field of this
4901 * descriptor. For example, following is the resource name of a custom 4606 /// descriptor. For example, following is the resource name of a custom
4902 * metric within the GCP project `my-project-id`: 4607 /// metric within the GCP project `my-project-id`:
4903 * 4608 ///
4904 * "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice%2 Fpaid%2Famount" 4609 /// "projects/my-project-id/metricDescriptors/custom.googleapis.com%2Finvoice% 2Fpaid%2Famount"
4905 */
4906 core.String name; 4610 core.String name;
4907 /** 4611
4908 * The metric type, including its DNS name prefix. The type is not 4612 /// The metric type, including its DNS name prefix. The type is not
4909 * URL-encoded. All user-defined custom metric types have the DNS name 4613 /// URL-encoded. All user-defined custom metric types have the DNS name
4910 * `custom.googleapis.com`. Metric types should use a natural hierarchical 4614 /// `custom.googleapis.com`. Metric types should use a natural hierarchical
4911 * grouping. For example: 4615 /// grouping. For example:
4912 * 4616 ///
4913 * "custom.googleapis.com/invoice/paid/amount" 4617 /// "custom.googleapis.com/invoice/paid/amount"
4914 * "appengine.googleapis.com/http/server/response_latencies" 4618 /// "appengine.googleapis.com/http/server/response_latencies"
4915 */
4916 core.String type; 4619 core.String type;
4917 /** 4620
4918 * The unit in which the metric value is reported. It is only applicable 4621 /// The unit in which the metric value is reported. It is only applicable
4919 * if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The 4622 /// if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
4920 * supported units are a subset of [The Unified Code for Units of 4623 /// supported units are a subset of [The Unified Code for Units of
4921 * Measure](http://unitsofmeasure.org/ucum.html) standard: 4624 /// Measure](http://unitsofmeasure.org/ucum.html) standard:
4922 * 4625 ///
4923 * **Basic units (UNIT)** 4626 /// **Basic units (UNIT)**
4924 * 4627 ///
4925 * * `bit` bit 4628 /// * `bit` bit
4926 * * `By` byte 4629 /// * `By` byte
4927 * * `s` second 4630 /// * `s` second
4928 * * `min` minute 4631 /// * `min` minute
4929 * * `h` hour 4632 /// * `h` hour
4930 * * `d` day 4633 /// * `d` day
4931 * 4634 ///
4932 * **Prefixes (PREFIX)** 4635 /// **Prefixes (PREFIX)**
4933 * 4636 ///
4934 * * `k` kilo (10**3) 4637 /// * `k` kilo (10**3)
4935 * * `M` mega (10**6) 4638 /// * `M` mega (10**6)
4936 * * `G` giga (10**9) 4639 /// * `G` giga (10**9)
4937 * * `T` tera (10**12) 4640 /// * `T` tera (10**12)
4938 * * `P` peta (10**15) 4641 /// * `P` peta (10**15)
4939 * * `E` exa (10**18) 4642 /// * `E` exa (10**18)
4940 * * `Z` zetta (10**21) 4643 /// * `Z` zetta (10**21)
4941 * * `Y` yotta (10**24) 4644 /// * `Y` yotta (10**24)
4942 * * `m` milli (10**-3) 4645 /// * `m` milli (10**-3)
4943 * * `u` micro (10**-6) 4646 /// * `u` micro (10**-6)
4944 * * `n` nano (10**-9) 4647 /// * `n` nano (10**-9)
4945 * * `p` pico (10**-12) 4648 /// * `p` pico (10**-12)
4946 * * `f` femto (10**-15) 4649 /// * `f` femto (10**-15)
4947 * * `a` atto (10**-18) 4650 /// * `a` atto (10**-18)
4948 * * `z` zepto (10**-21) 4651 /// * `z` zepto (10**-21)
4949 * * `y` yocto (10**-24) 4652 /// * `y` yocto (10**-24)
4950 * * `Ki` kibi (2**10) 4653 /// * `Ki` kibi (2**10)
4951 * * `Mi` mebi (2**20) 4654 /// * `Mi` mebi (2**20)
4952 * * `Gi` gibi (2**30) 4655 /// * `Gi` gibi (2**30)
4953 * * `Ti` tebi (2**40) 4656 /// * `Ti` tebi (2**40)
4954 * 4657 ///
4955 * **Grammar** 4658 /// **Grammar**
4956 * 4659 ///
4957 * The grammar includes the dimensionless unit `1`, such as `1/s`. 4660 /// The grammar includes the dimensionless unit `1`, such as `1/s`.
4958 * 4661 ///
4959 * The grammar also includes these connectors: 4662 /// The grammar also includes these connectors:
4960 * 4663 ///
4961 * * `/` division (as an infix operator, e.g. `1/s`). 4664 /// * `/` division (as an infix operator, e.g. `1/s`).
4962 * * `.` multiplication (as an infix operator, e.g. `GBy.d`) 4665 /// * `.` multiplication (as an infix operator, e.g. `GBy.d`)
4963 * 4666 ///
4964 * The grammar for a unit is as follows: 4667 /// The grammar for a unit is as follows:
4965 * 4668 ///
4966 * Expression = Component { "." Component } { "/" Component } ; 4669 /// Expression = Component { "." Component } { "/" Component } ;
4967 * 4670 ///
4968 * Component = [ PREFIX ] UNIT [ Annotation ] 4671 /// Component = [ PREFIX ] UNIT [ Annotation ]
4969 * | Annotation 4672 /// | Annotation
4970 * | "1" 4673 /// | "1"
4971 * ; 4674 /// ;
4972 * 4675 ///
4973 * Annotation = "{" NAME "}" ; 4676 /// Annotation = "{" NAME "}" ;
4974 * 4677 ///
4975 * Notes: 4678 /// Notes:
4976 * 4679 ///
4977 * * `Annotation` is just a comment if it follows a `UNIT` and is 4680 /// * `Annotation` is just a comment if it follows a `UNIT` and is
4978 * equivalent to `1` if it is used alone. For examples, 4681 /// equivalent to `1` if it is used alone. For examples,
4979 * `{requests}/s == 1/s`, `By{transmitted}/s == By/s`. 4682 /// `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
4980 * * `NAME` is a sequence of non-blank printable ASCII characters not 4683 /// * `NAME` is a sequence of non-blank printable ASCII characters not
4981 * containing '{' or '}'. 4684 /// containing '{' or '}'.
4982 */
4983 core.String unit; 4685 core.String unit;
4984 /** 4686
4985 * Whether the measurement is an integer, a floating-point number, etc. 4687 /// Whether the measurement is an integer, a floating-point number, etc.
4986 * Some combinations of `metric_kind` and `value_type` might not be supported. 4688 /// Some combinations of `metric_kind` and `value_type` might not be
4987 * Possible string values are: 4689 /// supported.
4988 * - "VALUE_TYPE_UNSPECIFIED" : Do not use this default value. 4690 /// Possible string values are:
4989 * - "BOOL" : The value is a boolean. 4691 /// - "VALUE_TYPE_UNSPECIFIED" : Do not use this default value.
4990 * This value type can be used only if the metric kind is `GAUGE`. 4692 /// - "BOOL" : The value is a boolean.
4991 * - "INT64" : The value is a signed 64-bit integer. 4693 /// This value type can be used only if the metric kind is `GAUGE`.
4992 * - "DOUBLE" : The value is a double precision floating point number. 4694 /// - "INT64" : The value is a signed 64-bit integer.
4993 * - "STRING" : The value is a text string. 4695 /// - "DOUBLE" : The value is a double precision floating point number.
4994 * This value type can be used only if the metric kind is `GAUGE`. 4696 /// - "STRING" : The value is a text string.
4995 * - "DISTRIBUTION" : The value is a `Distribution`. 4697 /// This value type can be used only if the metric kind is `GAUGE`.
4996 * - "MONEY" : The value is money. 4698 /// - "DISTRIBUTION" : The value is a `Distribution`.
4997 */ 4699 /// - "MONEY" : The value is money.
4998 core.String valueType; 4700 core.String valueType;
4999 4701
5000 MetricDescriptor(); 4702 MetricDescriptor();
5001 4703
5002 MetricDescriptor.fromJson(core.Map _json) { 4704 MetricDescriptor.fromJson(core.Map _json) {
5003 if (_json.containsKey("description")) { 4705 if (_json.containsKey("description")) {
5004 description = _json["description"]; 4706 description = _json["description"];
5005 } 4707 }
5006 if (_json.containsKey("displayName")) { 4708 if (_json.containsKey("displayName")) {
5007 displayName = _json["displayName"]; 4709 displayName = _json["displayName"];
5008 } 4710 }
5009 if (_json.containsKey("labels")) { 4711 if (_json.containsKey("labels")) {
5010 labels = _json["labels"].map((value) => new LabelDescriptor.fromJson(value )).toList(); 4712 labels = _json["labels"]
4713 .map((value) => new LabelDescriptor.fromJson(value))
4714 .toList();
5011 } 4715 }
5012 if (_json.containsKey("metricKind")) { 4716 if (_json.containsKey("metricKind")) {
5013 metricKind = _json["metricKind"]; 4717 metricKind = _json["metricKind"];
5014 } 4718 }
5015 if (_json.containsKey("name")) { 4719 if (_json.containsKey("name")) {
5016 name = _json["name"]; 4720 name = _json["name"];
5017 } 4721 }
5018 if (_json.containsKey("type")) { 4722 if (_json.containsKey("type")) {
5019 type = _json["type"]; 4723 type = _json["type"];
5020 } 4724 }
5021 if (_json.containsKey("unit")) { 4725 if (_json.containsKey("unit")) {
5022 unit = _json["unit"]; 4726 unit = _json["unit"];
5023 } 4727 }
5024 if (_json.containsKey("valueType")) { 4728 if (_json.containsKey("valueType")) {
5025 valueType = _json["valueType"]; 4729 valueType = _json["valueType"];
5026 } 4730 }
5027 } 4731 }
5028 4732
5029 core.Map<core.String, core.Object> toJson() { 4733 core.Map<core.String, core.Object> toJson() {
5030 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4734 final core.Map<core.String, core.Object> _json =
4735 new core.Map<core.String, core.Object>();
5031 if (description != null) { 4736 if (description != null) {
5032 _json["description"] = description; 4737 _json["description"] = description;
5033 } 4738 }
5034 if (displayName != null) { 4739 if (displayName != null) {
5035 _json["displayName"] = displayName; 4740 _json["displayName"] = displayName;
5036 } 4741 }
5037 if (labels != null) { 4742 if (labels != null) {
5038 _json["labels"] = labels.map((value) => (value).toJson()).toList(); 4743 _json["labels"] = labels.map((value) => (value).toJson()).toList();
5039 } 4744 }
5040 if (metricKind != null) { 4745 if (metricKind != null) {
5041 _json["metricKind"] = metricKind; 4746 _json["metricKind"] = metricKind;
5042 } 4747 }
5043 if (name != null) { 4748 if (name != null) {
5044 _json["name"] = name; 4749 _json["name"] = name;
5045 } 4750 }
5046 if (type != null) { 4751 if (type != null) {
5047 _json["type"] = type; 4752 _json["type"] = type;
5048 } 4753 }
5049 if (unit != null) { 4754 if (unit != null) {
5050 _json["unit"] = unit; 4755 _json["unit"] = unit;
5051 } 4756 }
5052 if (valueType != null) { 4757 if (valueType != null) {
5053 _json["valueType"] = valueType; 4758 _json["valueType"] = valueType;
5054 } 4759 }
5055 return _json; 4760 return _json;
5056 } 4761 }
5057 } 4762 }
5058 4763
5059 /** 4764 /// Bind API methods to metrics. Binding a method to a metric causes that
5060 * Bind API methods to metrics. Binding a method to a metric causes that 4765 /// metric's configured quota behaviors to apply to the method call.
5061 * metric's configured quota behaviors to apply to the method call.
5062 */
5063 class MetricRule { 4766 class MetricRule {
5064 /** 4767 /// Metrics to update when the selected methods are called, and the
5065 * Metrics to update when the selected methods are called, and the associated 4768 /// associated
5066 * cost applied to each metric. 4769 /// cost applied to each metric.
5067 * 4770 ///
5068 * The key of the map is the metric name, and the values are the amount 4771 /// The key of the map is the metric name, and the values are the amount
5069 * increased for the metric against which the quota limits are defined. 4772 /// increased for the metric against which the quota limits are defined.
5070 * The value must not be negative. 4773 /// The value must not be negative.
5071 */
5072 core.Map<core.String, core.String> metricCosts; 4774 core.Map<core.String, core.String> metricCosts;
5073 /** 4775
5074 * Selects the methods to which this rule applies. 4776 /// Selects the methods to which this rule applies.
5075 * 4777 ///
5076 * Refer to selector for syntax details. 4778 /// Refer to selector for syntax details.
5077 */
5078 core.String selector; 4779 core.String selector;
5079 4780
5080 MetricRule(); 4781 MetricRule();
5081 4782
5082 MetricRule.fromJson(core.Map _json) { 4783 MetricRule.fromJson(core.Map _json) {
5083 if (_json.containsKey("metricCosts")) { 4784 if (_json.containsKey("metricCosts")) {
5084 metricCosts = _json["metricCosts"]; 4785 metricCosts = _json["metricCosts"];
5085 } 4786 }
5086 if (_json.containsKey("selector")) { 4787 if (_json.containsKey("selector")) {
5087 selector = _json["selector"]; 4788 selector = _json["selector"];
5088 } 4789 }
5089 } 4790 }
5090 4791
5091 core.Map<core.String, core.Object> toJson() { 4792 core.Map<core.String, core.Object> toJson() {
5092 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4793 final core.Map<core.String, core.Object> _json =
4794 new core.Map<core.String, core.Object>();
5093 if (metricCosts != null) { 4795 if (metricCosts != null) {
5094 _json["metricCosts"] = metricCosts; 4796 _json["metricCosts"] = metricCosts;
5095 } 4797 }
5096 if (selector != null) { 4798 if (selector != null) {
5097 _json["selector"] = selector; 4799 _json["selector"] = selector;
5098 } 4800 }
5099 return _json; 4801 return _json;
5100 } 4802 }
5101 } 4803 }
5102 4804
5103 /** 4805 /// Declares an API Interface to be included in this interface. The including
5104 * Declares an API Interface to be included in this interface. The including 4806 /// interface must redeclare all the methods from the included interface, but
5105 * interface must redeclare all the methods from the included interface, but 4807 /// documentation and options are inherited as follows:
5106 * documentation and options are inherited as follows: 4808 ///
5107 * 4809 /// - If after comment and whitespace stripping, the documentation
5108 * - If after comment and whitespace stripping, the documentation 4810 /// string of the redeclared method is empty, it will be inherited
5109 * string of the redeclared method is empty, it will be inherited 4811 /// from the original method.
5110 * from the original method. 4812 ///
5111 * 4813 /// - Each annotation belonging to the service config (http,
5112 * - Each annotation belonging to the service config (http, 4814 /// visibility) which is not set in the redeclared method will be
5113 * visibility) which is not set in the redeclared method will be 4815 /// inherited.
5114 * inherited. 4816 ///
5115 * 4817 /// - If an http annotation is inherited, the path pattern will be
5116 * - If an http annotation is inherited, the path pattern will be 4818 /// modified as follows. Any version prefix will be replaced by the
5117 * modified as follows. Any version prefix will be replaced by the 4819 /// version of the including interface plus the root path if
5118 * version of the including interface plus the root path if 4820 /// specified.
5119 * specified. 4821 ///
5120 * 4822 /// Example of a simple mixin:
5121 * Example of a simple mixin: 4823 ///
5122 * 4824 /// package google.acl.v1;
5123 * package google.acl.v1; 4825 /// service AccessControl {
5124 * service AccessControl { 4826 /// // Get the underlying ACL object.
5125 * // Get the underlying ACL object. 4827 /// rpc GetAcl(GetAclRequest) returns (Acl) {
5126 * rpc GetAcl(GetAclRequest) returns (Acl) { 4828 /// option (google.api.http).get = "/v1/{resource=**}:getAcl";
5127 * option (google.api.http).get = "/v1/{resource=**}:getAcl"; 4829 /// }
5128 * } 4830 /// }
5129 * } 4831 ///
5130 * 4832 /// package google.storage.v2;
5131 * package google.storage.v2; 4833 /// service Storage {
5132 * service Storage { 4834 /// // rpc GetAcl(GetAclRequest) returns (Acl);
5133 * // rpc GetAcl(GetAclRequest) returns (Acl); 4835 ///
5134 * 4836 /// // Get a data record.
5135 * // Get a data record. 4837 /// rpc GetData(GetDataRequest) returns (Data) {
5136 * rpc GetData(GetDataRequest) returns (Data) { 4838 /// option (google.api.http).get = "/v2/{resource=**}";
5137 * option (google.api.http).get = "/v2/{resource=**}"; 4839 /// }
5138 * } 4840 /// }
5139 * } 4841 ///
5140 * 4842 /// Example of a mixin configuration:
5141 * Example of a mixin configuration: 4843 ///
5142 * 4844 /// apis:
5143 * apis: 4845 /// - name: google.storage.v2.Storage
5144 * - name: google.storage.v2.Storage 4846 /// mixins:
5145 * mixins: 4847 /// - name: google.acl.v1.AccessControl
5146 * - name: google.acl.v1.AccessControl 4848 ///
5147 * 4849 /// The mixin construct implies that all methods in `AccessControl` are
5148 * The mixin construct implies that all methods in `AccessControl` are 4850 /// also declared with same name and request/response types in
5149 * also declared with same name and request/response types in 4851 /// `Storage`. A documentation generator or annotation processor will
5150 * `Storage`. A documentation generator or annotation processor will 4852 /// see the effective `Storage.GetAcl` method after inherting
5151 * see the effective `Storage.GetAcl` method after inherting 4853 /// documentation and annotations as follows:
5152 * documentation and annotations as follows: 4854 ///
5153 * 4855 /// service Storage {
5154 * service Storage { 4856 /// // Get the underlying ACL object.
5155 * // Get the underlying ACL object. 4857 /// rpc GetAcl(GetAclRequest) returns (Acl) {
5156 * rpc GetAcl(GetAclRequest) returns (Acl) { 4858 /// option (google.api.http).get = "/v2/{resource=**}:getAcl";
5157 * option (google.api.http).get = "/v2/{resource=**}:getAcl"; 4859 /// }
5158 * } 4860 /// ...
5159 * ... 4861 /// }
5160 * } 4862 ///
5161 * 4863 /// Note how the version in the path pattern changed from `v1` to `v2`.
5162 * Note how the version in the path pattern changed from `v1` to `v2`. 4864 ///
5163 * 4865 /// If the `root` field in the mixin is specified, it should be a
5164 * If the `root` field in the mixin is specified, it should be a 4866 /// relative path under which inherited HTTP paths are placed. Example:
5165 * relative path under which inherited HTTP paths are placed. Example: 4867 ///
5166 * 4868 /// apis:
5167 * apis: 4869 /// - name: google.storage.v2.Storage
5168 * - name: google.storage.v2.Storage 4870 /// mixins:
5169 * mixins: 4871 /// - name: google.acl.v1.AccessControl
5170 * - name: google.acl.v1.AccessControl 4872 /// root: acls
5171 * root: acls 4873 ///
5172 * 4874 /// This implies the following inherited HTTP annotation:
5173 * This implies the following inherited HTTP annotation: 4875 ///
5174 * 4876 /// service Storage {
5175 * service Storage { 4877 /// // Get the underlying ACL object.
5176 * // Get the underlying ACL object. 4878 /// rpc GetAcl(GetAclRequest) returns (Acl) {
5177 * rpc GetAcl(GetAclRequest) returns (Acl) { 4879 /// option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
5178 * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; 4880 /// }
5179 * } 4881 /// ...
5180 * ... 4882 /// }
5181 * }
5182 */
5183 class Mixin { 4883 class Mixin {
5184 /** The fully qualified name of the interface which is included. */ 4884 /// The fully qualified name of the interface which is included.
5185 core.String name; 4885 core.String name;
5186 /** 4886
5187 * If non-empty specifies a path under which inherited HTTP paths 4887 /// If non-empty specifies a path under which inherited HTTP paths
5188 * are rooted. 4888 /// are rooted.
5189 */
5190 core.String root; 4889 core.String root;
5191 4890
5192 Mixin(); 4891 Mixin();
5193 4892
5194 Mixin.fromJson(core.Map _json) { 4893 Mixin.fromJson(core.Map _json) {
5195 if (_json.containsKey("name")) { 4894 if (_json.containsKey("name")) {
5196 name = _json["name"]; 4895 name = _json["name"];
5197 } 4896 }
5198 if (_json.containsKey("root")) { 4897 if (_json.containsKey("root")) {
5199 root = _json["root"]; 4898 root = _json["root"];
5200 } 4899 }
5201 } 4900 }
5202 4901
5203 core.Map<core.String, core.Object> toJson() { 4902 core.Map<core.String, core.Object> toJson() {
5204 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4903 final core.Map<core.String, core.Object> _json =
4904 new core.Map<core.String, core.Object>();
5205 if (name != null) { 4905 if (name != null) {
5206 _json["name"] = name; 4906 _json["name"] = name;
5207 } 4907 }
5208 if (root != null) { 4908 if (root != null) {
5209 _json["root"] = root; 4909 _json["root"] = root;
5210 } 4910 }
5211 return _json; 4911 return _json;
5212 } 4912 }
5213 } 4913 }
5214 4914
5215 /** 4915 /// An object that describes the schema of a MonitoredResource object using a
5216 * An object that describes the schema of a MonitoredResource object using a 4916 /// type name and a set of labels. For example, the monitored resource
5217 * type name and a set of labels. For example, the monitored resource 4917 /// descriptor for Google Compute Engine VM instances has a type of
5218 * descriptor for Google Compute Engine VM instances has a type of 4918 /// `"gce_instance"` and specifies the use of the labels `"instance_id"` and
5219 * `"gce_instance"` and specifies the use of the labels `"instance_id"` and 4919 /// `"zone"` to identify particular VM instances.
5220 * `"zone"` to identify particular VM instances. 4920 ///
5221 * 4921 /// Different APIs can support different monitored resource types. APIs
5222 * Different APIs can support different monitored resource types. APIs generally 4922 /// generally
5223 * provide a `list` method that returns the monitored resource descriptors used 4923 /// provide a `list` method that returns the monitored resource descriptors
5224 * by the API. 4924 /// used
5225 */ 4925 /// by the API.
5226 class MonitoredResourceDescriptor { 4926 class MonitoredResourceDescriptor {
5227 /** 4927 /// Optional. A detailed description of the monitored resource type that
5228 * Optional. A detailed description of the monitored resource type that might 4928 /// might
5229 * be used in documentation. 4929 /// be used in documentation.
5230 */
5231 core.String description; 4930 core.String description;
5232 /** 4931
5233 * Optional. A concise name for the monitored resource type that might be 4932 /// Optional. A concise name for the monitored resource type that might be
5234 * displayed in user interfaces. It should be a Title Cased Noun Phrase, 4933 /// displayed in user interfaces. It should be a Title Cased Noun Phrase,
5235 * without any article or other determiners. For example, 4934 /// without any article or other determiners. For example,
5236 * `"Google Cloud SQL Database"`. 4935 /// `"Google Cloud SQL Database"`.
5237 */
5238 core.String displayName; 4936 core.String displayName;
5239 /** 4937
5240 * Required. A set of labels used to describe instances of this monitored 4938 /// Required. A set of labels used to describe instances of this monitored
5241 * resource type. For example, an individual Google Cloud SQL database is 4939 /// resource type. For example, an individual Google Cloud SQL database is
5242 * identified by values for the labels `"database_id"` and `"zone"`. 4940 /// identified by values for the labels `"database_id"` and `"zone"`.
5243 */
5244 core.List<LabelDescriptor> labels; 4941 core.List<LabelDescriptor> labels;
5245 /** 4942
5246 * Optional. The resource name of the monitored resource descriptor: 4943 /// Optional. The resource name of the monitored resource descriptor:
5247 * `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where 4944 /// `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
5248 * {type} is the value of the `type` field in this object and 4945 /// {type} is the value of the `type` field in this object and
5249 * {project_id} is a project ID that provides API-specific context for 4946 /// {project_id} is a project ID that provides API-specific context for
5250 * accessing the type. APIs that do not use project information can use the 4947 /// accessing the type. APIs that do not use project information can use the
5251 * resource name format `"monitoredResourceDescriptors/{type}"`. 4948 /// resource name format `"monitoredResourceDescriptors/{type}"`.
5252 */
5253 core.String name; 4949 core.String name;
5254 /** 4950
5255 * Required. The monitored resource type. For example, the type 4951 /// Required. The monitored resource type. For example, the type
5256 * `"cloudsql_database"` represents databases in Google Cloud SQL. 4952 /// `"cloudsql_database"` represents databases in Google Cloud SQL.
5257 * The maximum length of this value is 256 characters. 4953 /// The maximum length of this value is 256 characters.
5258 */
5259 core.String type; 4954 core.String type;
5260 4955
5261 MonitoredResourceDescriptor(); 4956 MonitoredResourceDescriptor();
5262 4957
5263 MonitoredResourceDescriptor.fromJson(core.Map _json) { 4958 MonitoredResourceDescriptor.fromJson(core.Map _json) {
5264 if (_json.containsKey("description")) { 4959 if (_json.containsKey("description")) {
5265 description = _json["description"]; 4960 description = _json["description"];
5266 } 4961 }
5267 if (_json.containsKey("displayName")) { 4962 if (_json.containsKey("displayName")) {
5268 displayName = _json["displayName"]; 4963 displayName = _json["displayName"];
5269 } 4964 }
5270 if (_json.containsKey("labels")) { 4965 if (_json.containsKey("labels")) {
5271 labels = _json["labels"].map((value) => new LabelDescriptor.fromJson(value )).toList(); 4966 labels = _json["labels"]
4967 .map((value) => new LabelDescriptor.fromJson(value))
4968 .toList();
5272 } 4969 }
5273 if (_json.containsKey("name")) { 4970 if (_json.containsKey("name")) {
5274 name = _json["name"]; 4971 name = _json["name"];
5275 } 4972 }
5276 if (_json.containsKey("type")) { 4973 if (_json.containsKey("type")) {
5277 type = _json["type"]; 4974 type = _json["type"];
5278 } 4975 }
5279 } 4976 }
5280 4977
5281 core.Map<core.String, core.Object> toJson() { 4978 core.Map<core.String, core.Object> toJson() {
5282 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 4979 final core.Map<core.String, core.Object> _json =
4980 new core.Map<core.String, core.Object>();
5283 if (description != null) { 4981 if (description != null) {
5284 _json["description"] = description; 4982 _json["description"] = description;
5285 } 4983 }
5286 if (displayName != null) { 4984 if (displayName != null) {
5287 _json["displayName"] = displayName; 4985 _json["displayName"] = displayName;
5288 } 4986 }
5289 if (labels != null) { 4987 if (labels != null) {
5290 _json["labels"] = labels.map((value) => (value).toJson()).toList(); 4988 _json["labels"] = labels.map((value) => (value).toJson()).toList();
5291 } 4989 }
5292 if (name != null) { 4990 if (name != null) {
5293 _json["name"] = name; 4991 _json["name"] = name;
5294 } 4992 }
5295 if (type != null) { 4993 if (type != null) {
5296 _json["type"] = type; 4994 _json["type"] = type;
5297 } 4995 }
5298 return _json; 4996 return _json;
5299 } 4997 }
5300 } 4998 }
5301 4999
5302 /** 5000 /// Monitoring configuration of the service.
5303 * Monitoring configuration of the service. 5001 ///
5304 * 5002 /// The example below shows how to configure monitored resources and metrics
5305 * The example below shows how to configure monitored resources and metrics 5003 /// for monitoring. In the example, a monitored resource and two metrics are
5306 * for monitoring. In the example, a monitored resource and two metrics are 5004 /// defined. The `library.googleapis.com/book/returned_count` metric is sent
5307 * defined. The `library.googleapis.com/book/returned_count` metric is sent 5005 /// to both producer and consumer projects, whereas the
5308 * to both producer and consumer projects, whereas the 5006 /// `library.googleapis.com/book/overdue_count` metric is only sent to the
5309 * `library.googleapis.com/book/overdue_count` metric is only sent to the 5007 /// consumer project.
5310 * consumer project. 5008 ///
5311 * 5009 /// monitored_resources:
5312 * monitored_resources: 5010 /// - type: library.googleapis.com/branch
5313 * - type: library.googleapis.com/branch 5011 /// labels:
5314 * labels: 5012 /// - key: /city
5315 * - key: /city 5013 /// description: The city where the library branch is located in.
5316 * description: The city where the library branch is located in. 5014 /// - key: /name
5317 * - key: /name 5015 /// description: The name of the branch.
5318 * description: The name of the branch. 5016 /// metrics:
5319 * metrics: 5017 /// - name: library.googleapis.com/book/returned_count
5320 * - name: library.googleapis.com/book/returned_count 5018 /// metric_kind: DELTA
5321 * metric_kind: DELTA 5019 /// value_type: INT64
5322 * value_type: INT64 5020 /// labels:
5323 * labels: 5021 /// - key: /customer_id
5324 * - key: /customer_id 5022 /// - name: library.googleapis.com/book/overdue_count
5325 * - name: library.googleapis.com/book/overdue_count 5023 /// metric_kind: GAUGE
5326 * metric_kind: GAUGE 5024 /// value_type: INT64
5327 * value_type: INT64 5025 /// labels:
5328 * labels: 5026 /// - key: /customer_id
5329 * - key: /customer_id 5027 /// monitoring:
5330 * monitoring: 5028 /// producer_destinations:
5331 * producer_destinations: 5029 /// - monitored_resource: library.googleapis.com/branch
5332 * - monitored_resource: library.googleapis.com/branch 5030 /// metrics:
5333 * metrics: 5031 /// - library.googleapis.com/book/returned_count
5334 * - library.googleapis.com/book/returned_count 5032 /// consumer_destinations:
5335 * consumer_destinations: 5033 /// - monitored_resource: library.googleapis.com/branch
5336 * - monitored_resource: library.googleapis.com/branch 5034 /// metrics:
5337 * metrics: 5035 /// - library.googleapis.com/book/returned_count
5338 * - library.googleapis.com/book/returned_count 5036 /// - library.googleapis.com/book/overdue_count
5339 * - library.googleapis.com/book/overdue_count
5340 */
5341 class Monitoring { 5037 class Monitoring {
5342 /** 5038 /// Monitoring configurations for sending metrics to the consumer project.
5343 * Monitoring configurations for sending metrics to the consumer project. 5039 /// There can be multiple consumer destinations, each one must have a
5344 * There can be multiple consumer destinations, each one must have a 5040 /// different monitored resource type. A metric can be used in at most
5345 * different monitored resource type. A metric can be used in at most 5041 /// one consumer destination.
5346 * one consumer destination.
5347 */
5348 core.List<MonitoringDestination> consumerDestinations; 5042 core.List<MonitoringDestination> consumerDestinations;
5349 /** 5043
5350 * Monitoring configurations for sending metrics to the producer project. 5044 /// Monitoring configurations for sending metrics to the producer project.
5351 * There can be multiple producer destinations, each one must have a 5045 /// There can be multiple producer destinations, each one must have a
5352 * different monitored resource type. A metric can be used in at most 5046 /// different monitored resource type. A metric can be used in at most
5353 * one producer destination. 5047 /// one producer destination.
5354 */
5355 core.List<MonitoringDestination> producerDestinations; 5048 core.List<MonitoringDestination> producerDestinations;
5356 5049
5357 Monitoring(); 5050 Monitoring();
5358 5051
5359 Monitoring.fromJson(core.Map _json) { 5052 Monitoring.fromJson(core.Map _json) {
5360 if (_json.containsKey("consumerDestinations")) { 5053 if (_json.containsKey("consumerDestinations")) {
5361 consumerDestinations = _json["consumerDestinations"].map((value) => new Mo nitoringDestination.fromJson(value)).toList(); 5054 consumerDestinations = _json["consumerDestinations"]
5055 .map((value) => new MonitoringDestination.fromJson(value))
5056 .toList();
5362 } 5057 }
5363 if (_json.containsKey("producerDestinations")) { 5058 if (_json.containsKey("producerDestinations")) {
5364 producerDestinations = _json["producerDestinations"].map((value) => new Mo nitoringDestination.fromJson(value)).toList(); 5059 producerDestinations = _json["producerDestinations"]
5060 .map((value) => new MonitoringDestination.fromJson(value))
5061 .toList();
5365 } 5062 }
5366 } 5063 }
5367 5064
5368 core.Map<core.String, core.Object> toJson() { 5065 core.Map<core.String, core.Object> toJson() {
5369 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5066 final core.Map<core.String, core.Object> _json =
5067 new core.Map<core.String, core.Object>();
5370 if (consumerDestinations != null) { 5068 if (consumerDestinations != null) {
5371 _json["consumerDestinations"] = consumerDestinations.map((value) => (value ).toJson()).toList(); 5069 _json["consumerDestinations"] =
5070 consumerDestinations.map((value) => (value).toJson()).toList();
5372 } 5071 }
5373 if (producerDestinations != null) { 5072 if (producerDestinations != null) {
5374 _json["producerDestinations"] = producerDestinations.map((value) => (value ).toJson()).toList(); 5073 _json["producerDestinations"] =
5074 producerDestinations.map((value) => (value).toJson()).toList();
5375 } 5075 }
5376 return _json; 5076 return _json;
5377 } 5077 }
5378 } 5078 }
5379 5079
5380 /** 5080 /// Configuration of a specific monitoring destination (the producer project
5381 * Configuration of a specific monitoring destination (the producer project 5081 /// or the consumer project).
5382 * or the consumer project).
5383 */
5384 class MonitoringDestination { 5082 class MonitoringDestination {
5385 /** 5083 /// Names of the metrics to report to this monitoring destination.
5386 * Names of the metrics to report to this monitoring destination. 5084 /// Each name must be defined in Service.metrics section.
5387 * Each name must be defined in Service.metrics section.
5388 */
5389 core.List<core.String> metrics; 5085 core.List<core.String> metrics;
5390 /** 5086
5391 * The monitored resource type. The type must be defined in 5087 /// The monitored resource type. The type must be defined in
5392 * Service.monitored_resources section. 5088 /// Service.monitored_resources section.
5393 */
5394 core.String monitoredResource; 5089 core.String monitoredResource;
5395 5090
5396 MonitoringDestination(); 5091 MonitoringDestination();
5397 5092
5398 MonitoringDestination.fromJson(core.Map _json) { 5093 MonitoringDestination.fromJson(core.Map _json) {
5399 if (_json.containsKey("metrics")) { 5094 if (_json.containsKey("metrics")) {
5400 metrics = _json["metrics"]; 5095 metrics = _json["metrics"];
5401 } 5096 }
5402 if (_json.containsKey("monitoredResource")) { 5097 if (_json.containsKey("monitoredResource")) {
5403 monitoredResource = _json["monitoredResource"]; 5098 monitoredResource = _json["monitoredResource"];
5404 } 5099 }
5405 } 5100 }
5406 5101
5407 core.Map<core.String, core.Object> toJson() { 5102 core.Map<core.String, core.Object> toJson() {
5408 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5103 final core.Map<core.String, core.Object> _json =
5104 new core.Map<core.String, core.Object>();
5409 if (metrics != null) { 5105 if (metrics != null) {
5410 _json["metrics"] = metrics; 5106 _json["metrics"] = metrics;
5411 } 5107 }
5412 if (monitoredResource != null) { 5108 if (monitoredResource != null) {
5413 _json["monitoredResource"] = monitoredResource; 5109 _json["monitoredResource"] = monitoredResource;
5414 } 5110 }
5415 return _json; 5111 return _json;
5416 } 5112 }
5417 } 5113 }
5418 5114
5419 /** 5115 /// OAuth scopes are a way to define data and permissions on data. For example,
5420 * OAuth scopes are a way to define data and permissions on data. For example, 5116 /// there are scopes defined for "Read-only access to Google Calendar" and
5421 * there are scopes defined for "Read-only access to Google Calendar" and 5117 /// "Access to Cloud Platform". Users can consent to a scope for an
5422 * "Access to Cloud Platform". Users can consent to a scope for an application, 5118 /// application,
5423 * giving it permission to access that data on their behalf. 5119 /// giving it permission to access that data on their behalf.
5424 * 5120 ///
5425 * OAuth scope specifications should be fairly coarse grained; a user will need 5121 /// OAuth scope specifications should be fairly coarse grained; a user will
5426 * to see and understand the text description of what your scope means. 5122 /// need
5427 * 5123 /// to see and understand the text description of what your scope means.
5428 * In most cases: use one or at most two OAuth scopes for an entire family of 5124 ///
5429 * products. If your product has multiple APIs, you should probably be sharing 5125 /// In most cases: use one or at most two OAuth scopes for an entire family of
5430 * the OAuth scope across all of those APIs. 5126 /// products. If your product has multiple APIs, you should probably be sharing
5431 * 5127 /// the OAuth scope across all of those APIs.
5432 * When you need finer grained OAuth consent screens: talk with your product 5128 ///
5433 * management about how developers will use them in practice. 5129 /// When you need finer grained OAuth consent screens: talk with your product
5434 * 5130 /// management about how developers will use them in practice.
5435 * Please note that even though each of the canonical scopes is enough for a 5131 ///
5436 * request to be accepted and passed to the backend, a request can still fail 5132 /// Please note that even though each of the canonical scopes is enough for a
5437 * due to the backend requiring additional scopes or permissions. 5133 /// request to be accepted and passed to the backend, a request can still fail
5438 */ 5134 /// due to the backend requiring additional scopes or permissions.
5439 class OAuthRequirements { 5135 class OAuthRequirements {
5440 /** 5136 /// The list of publicly documented OAuth scopes that are allowed access. An
5441 * The list of publicly documented OAuth scopes that are allowed access. An 5137 /// OAuth token containing any of these scopes will be accepted.
5442 * OAuth token containing any of these scopes will be accepted. 5138 ///
5443 * 5139 /// Example:
5444 * Example: 5140 ///
5445 * 5141 /// canonical_scopes: https://www.googleapis.com/auth/calendar,
5446 * canonical_scopes: https://www.googleapis.com/auth/calendar, 5142 /// https://www.googleapis.com/auth/calendar.read
5447 * https://www.googleapis.com/auth/calendar.read
5448 */
5449 core.String canonicalScopes; 5143 core.String canonicalScopes;
5450 5144
5451 OAuthRequirements(); 5145 OAuthRequirements();
5452 5146
5453 OAuthRequirements.fromJson(core.Map _json) { 5147 OAuthRequirements.fromJson(core.Map _json) {
5454 if (_json.containsKey("canonicalScopes")) { 5148 if (_json.containsKey("canonicalScopes")) {
5455 canonicalScopes = _json["canonicalScopes"]; 5149 canonicalScopes = _json["canonicalScopes"];
5456 } 5150 }
5457 } 5151 }
5458 5152
5459 core.Map<core.String, core.Object> toJson() { 5153 core.Map<core.String, core.Object> toJson() {
5460 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5154 final core.Map<core.String, core.Object> _json =
5155 new core.Map<core.String, core.Object>();
5461 if (canonicalScopes != null) { 5156 if (canonicalScopes != null) {
5462 _json["canonicalScopes"] = canonicalScopes; 5157 _json["canonicalScopes"] = canonicalScopes;
5463 } 5158 }
5464 return _json; 5159 return _json;
5465 } 5160 }
5466 } 5161 }
5467 5162
5468 /** 5163 /// This resource represents a long-running operation that is the result of a
5469 * This resource represents a long-running operation that is the result of a 5164 /// network API call.
5470 * network API call.
5471 */
5472 class Operation { 5165 class Operation {
5473 /** 5166 /// If the value is `false`, it means the operation is still in progress.
5474 * If the value is `false`, it means the operation is still in progress. 5167 /// If `true`, the operation is completed, and either `error` or `response`
5475 * If true, the operation is completed, and either `error` or `response` is 5168 /// is
5476 * available. 5169 /// available.
5477 */
5478 core.bool done; 5170 core.bool done;
5479 /** The error result of the operation in case of failure or cancellation. */ 5171
5172 /// The error result of the operation in case of failure or cancellation.
5480 Status error; 5173 Status error;
5481 /** 5174
5482 * Service-specific metadata associated with the operation. It typically 5175 /// Service-specific metadata associated with the operation. It typically
5483 * contains progress information and common metadata such as create time. 5176 /// contains progress information and common metadata such as create time.
5484 * Some services might not provide such metadata. Any method that returns a 5177 /// Some services might not provide such metadata. Any method that returns a
5485 * long-running operation should document the metadata type, if any. 5178 /// long-running operation should document the metadata type, if any.
5486 * 5179 ///
5487 * The values for Object must be JSON objects. It can consist of `num`, 5180 /// The values for Object must be JSON objects. It can consist of `num`,
5488 * `String`, `bool` and `null` as well as `Map` and `List` values. 5181 /// `String`, `bool` and `null` as well as `Map` and `List` values.
5489 */
5490 core.Map<core.String, core.Object> metadata; 5182 core.Map<core.String, core.Object> metadata;
5491 /** 5183
5492 * The server-assigned name, which is only unique within the same service that 5184 /// The server-assigned name, which is only unique within the same service
5493 * originally returns it. If you use the default HTTP mapping, the 5185 /// that
5494 * `name` should have the format of `operations/some/unique/name`. 5186 /// originally returns it. If you use the default HTTP mapping, the
5495 */ 5187 /// `name` should have the format of `operations/some/unique/name`.
5496 core.String name; 5188 core.String name;
5497 /** 5189
5498 * The normal response of the operation in case of success. If the original 5190 /// The normal response of the operation in case of success. If the original
5499 * method returns no data on success, such as `Delete`, the response is 5191 /// method returns no data on success, such as `Delete`, the response is
5500 * `google.protobuf.Empty`. If the original method is standard 5192 /// `google.protobuf.Empty`. If the original method is standard
5501 * `Get`/`Create`/`Update`, the response should be the resource. For other 5193 /// `Get`/`Create`/`Update`, the response should be the resource. For other
5502 * methods, the response should have the type `XxxResponse`, where `Xxx` 5194 /// methods, the response should have the type `XxxResponse`, where `Xxx`
5503 * is the original method name. For example, if the original method name 5195 /// is the original method name. For example, if the original method name
5504 * is `TakeSnapshot()`, the inferred response type is 5196 /// is `TakeSnapshot()`, the inferred response type is
5505 * `TakeSnapshotResponse`. 5197 /// `TakeSnapshotResponse`.
5506 * 5198 ///
5507 * The values for Object must be JSON objects. It can consist of `num`, 5199 /// The values for Object must be JSON objects. It can consist of `num`,
5508 * `String`, `bool` and `null` as well as `Map` and `List` values. 5200 /// `String`, `bool` and `null` as well as `Map` and `List` values.
5509 */
5510 core.Map<core.String, core.Object> response; 5201 core.Map<core.String, core.Object> response;
5511 5202
5512 Operation(); 5203 Operation();
5513 5204
5514 Operation.fromJson(core.Map _json) { 5205 Operation.fromJson(core.Map _json) {
5515 if (_json.containsKey("done")) { 5206 if (_json.containsKey("done")) {
5516 done = _json["done"]; 5207 done = _json["done"];
5517 } 5208 }
5518 if (_json.containsKey("error")) { 5209 if (_json.containsKey("error")) {
5519 error = new Status.fromJson(_json["error"]); 5210 error = new Status.fromJson(_json["error"]);
5520 } 5211 }
5521 if (_json.containsKey("metadata")) { 5212 if (_json.containsKey("metadata")) {
5522 metadata = _json["metadata"]; 5213 metadata = _json["metadata"];
5523 } 5214 }
5524 if (_json.containsKey("name")) { 5215 if (_json.containsKey("name")) {
5525 name = _json["name"]; 5216 name = _json["name"];
5526 } 5217 }
5527 if (_json.containsKey("response")) { 5218 if (_json.containsKey("response")) {
5528 response = _json["response"]; 5219 response = _json["response"];
5529 } 5220 }
5530 } 5221 }
5531 5222
5532 core.Map<core.String, core.Object> toJson() { 5223 core.Map<core.String, core.Object> toJson() {
5533 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5224 final core.Map<core.String, core.Object> _json =
5225 new core.Map<core.String, core.Object>();
5534 if (done != null) { 5226 if (done != null) {
5535 _json["done"] = done; 5227 _json["done"] = done;
5536 } 5228 }
5537 if (error != null) { 5229 if (error != null) {
5538 _json["error"] = (error).toJson(); 5230 _json["error"] = (error).toJson();
5539 } 5231 }
5540 if (metadata != null) { 5232 if (metadata != null) {
5541 _json["metadata"] = metadata; 5233 _json["metadata"] = metadata;
5542 } 5234 }
5543 if (name != null) { 5235 if (name != null) {
5544 _json["name"] = name; 5236 _json["name"] = name;
5545 } 5237 }
5546 if (response != null) { 5238 if (response != null) {
5547 _json["response"] = response; 5239 _json["response"] = response;
5548 } 5240 }
5549 return _json; 5241 return _json;
5550 } 5242 }
5551 } 5243 }
5552 5244
5553 /** The metadata associated with a long running operation resource. */ 5245 /// The metadata associated with a long running operation resource.
5554 class OperationMetadata { 5246 class OperationMetadata {
5555 /** Percentage of completion of this operation, ranging from 0 to 100. */ 5247 /// Percentage of completion of this operation, ranging from 0 to 100.
5556 core.int progressPercentage; 5248 core.int progressPercentage;
5557 /** 5249
5558 * The full name of the resources that this operation is directly 5250 /// The full name of the resources that this operation is directly
5559 * associated with. 5251 /// associated with.
5560 */
5561 core.List<core.String> resourceNames; 5252 core.List<core.String> resourceNames;
5562 /** The start time of the operation. */ 5253
5254 /// The start time of the operation.
5563 core.String startTime; 5255 core.String startTime;
5564 /** Detailed status information for each step. The order is undetermined. */ 5256
5257 /// Detailed status information for each step. The order is undetermined.
5565 core.List<Step> steps; 5258 core.List<Step> steps;
5566 5259
5567 OperationMetadata(); 5260 OperationMetadata();
5568 5261
5569 OperationMetadata.fromJson(core.Map _json) { 5262 OperationMetadata.fromJson(core.Map _json) {
5570 if (_json.containsKey("progressPercentage")) { 5263 if (_json.containsKey("progressPercentage")) {
5571 progressPercentage = _json["progressPercentage"]; 5264 progressPercentage = _json["progressPercentage"];
5572 } 5265 }
5573 if (_json.containsKey("resourceNames")) { 5266 if (_json.containsKey("resourceNames")) {
5574 resourceNames = _json["resourceNames"]; 5267 resourceNames = _json["resourceNames"];
5575 } 5268 }
5576 if (_json.containsKey("startTime")) { 5269 if (_json.containsKey("startTime")) {
5577 startTime = _json["startTime"]; 5270 startTime = _json["startTime"];
5578 } 5271 }
5579 if (_json.containsKey("steps")) { 5272 if (_json.containsKey("steps")) {
5580 steps = _json["steps"].map((value) => new Step.fromJson(value)).toList(); 5273 steps = _json["steps"].map((value) => new Step.fromJson(value)).toList();
5581 } 5274 }
5582 } 5275 }
5583 5276
5584 core.Map<core.String, core.Object> toJson() { 5277 core.Map<core.String, core.Object> toJson() {
5585 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5278 final core.Map<core.String, core.Object> _json =
5279 new core.Map<core.String, core.Object>();
5586 if (progressPercentage != null) { 5280 if (progressPercentage != null) {
5587 _json["progressPercentage"] = progressPercentage; 5281 _json["progressPercentage"] = progressPercentage;
5588 } 5282 }
5589 if (resourceNames != null) { 5283 if (resourceNames != null) {
5590 _json["resourceNames"] = resourceNames; 5284 _json["resourceNames"] = resourceNames;
5591 } 5285 }
5592 if (startTime != null) { 5286 if (startTime != null) {
5593 _json["startTime"] = startTime; 5287 _json["startTime"] = startTime;
5594 } 5288 }
5595 if (steps != null) { 5289 if (steps != null) {
5596 _json["steps"] = steps.map((value) => (value).toJson()).toList(); 5290 _json["steps"] = steps.map((value) => (value).toJson()).toList();
5597 } 5291 }
5598 return _json; 5292 return _json;
5599 } 5293 }
5600 } 5294 }
5601 5295
5602 /** 5296 /// A protocol buffer option, which can be attached to a message, field,
5603 * A protocol buffer option, which can be attached to a message, field, 5297 /// enumeration, etc.
5604 * enumeration, etc.
5605 */
5606 class Option { 5298 class Option {
5607 /** 5299 /// The option's name. For protobuf built-in options (options defined in
5608 * The option's name. For protobuf built-in options (options defined in 5300 /// descriptor.proto), this is the short name. For example, `"map_entry"`.
5609 * descriptor.proto), this is the short name. For example, `"map_entry"`. 5301 /// For custom options, it should be the fully-qualified name. For example,
5610 * For custom options, it should be the fully-qualified name. For example, 5302 /// `"google.api.http"`.
5611 * `"google.api.http"`.
5612 */
5613 core.String name; 5303 core.String name;
5614 /** 5304
5615 * The option's value packed in an Any message. If the value is a primitive, 5305 /// The option's value packed in an Any message. If the value is a primitive,
5616 * the corresponding wrapper type defined in google/protobuf/wrappers.proto 5306 /// the corresponding wrapper type defined in google/protobuf/wrappers.proto
5617 * should be used. If the value is an enum, it should be stored as an int32 5307 /// should be used. If the value is an enum, it should be stored as an int32
5618 * value using the google.protobuf.Int32Value type. 5308 /// value using the google.protobuf.Int32Value type.
5619 * 5309 ///
5620 * The values for Object must be JSON objects. It can consist of `num`, 5310 /// The values for Object must be JSON objects. It can consist of `num`,
5621 * `String`, `bool` and `null` as well as `Map` and `List` values. 5311 /// `String`, `bool` and `null` as well as `Map` and `List` values.
5622 */
5623 core.Map<core.String, core.Object> value; 5312 core.Map<core.String, core.Object> value;
5624 5313
5625 Option(); 5314 Option();
5626 5315
5627 Option.fromJson(core.Map _json) { 5316 Option.fromJson(core.Map _json) {
5628 if (_json.containsKey("name")) { 5317 if (_json.containsKey("name")) {
5629 name = _json["name"]; 5318 name = _json["name"];
5630 } 5319 }
5631 if (_json.containsKey("value")) { 5320 if (_json.containsKey("value")) {
5632 value = _json["value"]; 5321 value = _json["value"];
5633 } 5322 }
5634 } 5323 }
5635 5324
5636 core.Map<core.String, core.Object> toJson() { 5325 core.Map<core.String, core.Object> toJson() {
5637 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5326 final core.Map<core.String, core.Object> _json =
5327 new core.Map<core.String, core.Object>();
5638 if (name != null) { 5328 if (name != null) {
5639 _json["name"] = name; 5329 _json["name"] = name;
5640 } 5330 }
5641 if (value != null) { 5331 if (value != null) {
5642 _json["value"] = value; 5332 _json["value"] = value;
5643 } 5333 }
5644 return _json; 5334 return _json;
5645 } 5335 }
5646 } 5336 }
5647 5337
5648 /** 5338 /// Represents a documentation page. A page can contain subpages to represent
5649 * Represents a documentation page. A page can contain subpages to represent 5339 /// nested documentation set structure.
5650 * nested documentation set structure.
5651 */
5652 class Page { 5340 class Page {
5653 /** 5341 /// The Markdown content of the page. You can use <code>&#40;== include
5654 * The Markdown content of the page. You can use <code>&#40;== include {path} 5342 /// {path} ==&#41;</code>
5655 * ==&#41;</code> 5343 /// to include content from a Markdown file.
5656 * to include content from a Markdown file.
5657 */
5658 core.String content; 5344 core.String content;
5659 /** 5345
5660 * The name of the page. It will be used as an identity of the page to 5346 /// The name of the page. It will be used as an identity of the page to
5661 * generate URI of the page, text of the link to this page in navigation, 5347 /// generate URI of the page, text of the link to this page in navigation,
5662 * etc. The full page name (start from the root page name to this page 5348 /// etc. The full page name (start from the root page name to this page
5663 * concatenated with `.`) can be used as reference to the page in your 5349 /// concatenated with `.`) can be used as reference to the page in your
5664 * documentation. For example: 5350 /// documentation. For example:
5665 * <pre><code>pages: 5351 /// <pre><code>pages:
5666 * - name: Tutorial 5352 /// - name: Tutorial
5667 * content: &#40;== include tutorial.md ==&#41; 5353 /// content: &#40;== include tutorial.md ==&#41;
5668 * subpages: 5354 /// subpages:
5669 * - name: Java 5355 /// - name: Java
5670 * content: &#40;== include tutorial_java.md ==&#41; 5356 /// content: &#40;== include tutorial_java.md ==&#41;
5671 * </code></pre> 5357 /// </code></pre>
5672 * You can reference `Java` page using Markdown reference link syntax: 5358 /// You can reference `Java` page using Markdown reference link syntax:
5673 * `Java`. 5359 /// `Java`.
5674 */
5675 core.String name; 5360 core.String name;
5676 /** 5361
5677 * Subpages of this page. The order of subpages specified here will be 5362 /// Subpages of this page. The order of subpages specified here will be
5678 * honored in the generated docset. 5363 /// honored in the generated docset.
5679 */
5680 core.List<Page> subpages; 5364 core.List<Page> subpages;
5681 5365
5682 Page(); 5366 Page();
5683 5367
5684 Page.fromJson(core.Map _json) { 5368 Page.fromJson(core.Map _json) {
5685 if (_json.containsKey("content")) { 5369 if (_json.containsKey("content")) {
5686 content = _json["content"]; 5370 content = _json["content"];
5687 } 5371 }
5688 if (_json.containsKey("name")) { 5372 if (_json.containsKey("name")) {
5689 name = _json["name"]; 5373 name = _json["name"];
5690 } 5374 }
5691 if (_json.containsKey("subpages")) { 5375 if (_json.containsKey("subpages")) {
5692 subpages = _json["subpages"].map((value) => new Page.fromJson(value)).toLi st(); 5376 subpages =
5377 _json["subpages"].map((value) => new Page.fromJson(value)).toList();
5693 } 5378 }
5694 } 5379 }
5695 5380
5696 core.Map<core.String, core.Object> toJson() { 5381 core.Map<core.String, core.Object> toJson() {
5697 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5382 final core.Map<core.String, core.Object> _json =
5383 new core.Map<core.String, core.Object>();
5698 if (content != null) { 5384 if (content != null) {
5699 _json["content"] = content; 5385 _json["content"] = content;
5700 } 5386 }
5701 if (name != null) { 5387 if (name != null) {
5702 _json["name"] = name; 5388 _json["name"] = name;
5703 } 5389 }
5704 if (subpages != null) { 5390 if (subpages != null) {
5705 _json["subpages"] = subpages.map((value) => (value).toJson()).toList(); 5391 _json["subpages"] = subpages.map((value) => (value).toJson()).toList();
5706 } 5392 }
5707 return _json; 5393 return _json;
5708 } 5394 }
5709 } 5395 }
5710 5396
5711 /** 5397 /// Defines an Identity and Access Management (IAM) policy. It is used to
5712 * Defines an Identity and Access Management (IAM) policy. It is used to 5398 /// specify access control policies for Cloud Platform resources.
5713 * specify access control policies for Cloud Platform resources. 5399 ///
5714 * 5400 ///
5715 * 5401 /// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
5716 * A `Policy` consists of a list of `bindings`. A `Binding` binds a list of 5402 /// `members` to a `role`, where the members can be user accounts, Google
5717 * `members` to a `role`, where the members can be user accounts, Google groups, 5403 /// groups,
5718 * Google domains, and service accounts. A `role` is a named list of permissions 5404 /// Google domains, and service accounts. A `role` is a named list of
5719 * defined by IAM. 5405 /// permissions
5720 * 5406 /// defined by IAM.
5721 * **Example** 5407 ///
5722 * 5408 /// **Example**
5723 * { 5409 ///
5724 * "bindings": [ 5410 /// {
5725 * { 5411 /// "bindings": [
5726 * "role": "roles/owner", 5412 /// {
5727 * "members": [ 5413 /// "role": "roles/owner",
5728 * "user:mike@example.com", 5414 /// "members": [
5729 * "group:admins@example.com", 5415 /// "user:mike@example.com",
5730 * "domain:google.com", 5416 /// "group:admins@example.com",
5731 * "serviceAccount:my-other-app@appspot.gserviceaccount.com", 5417 /// "domain:google.com",
5732 * ] 5418 /// "serviceAccount:my-other-app@appspot.gserviceaccount.com",
5733 * }, 5419 /// ]
5734 * { 5420 /// },
5735 * "role": "roles/viewer", 5421 /// {
5736 * "members": ["user:sean@example.com"] 5422 /// "role": "roles/viewer",
5737 * } 5423 /// "members": ["user:sean@example.com"]
5738 * ] 5424 /// }
5739 * } 5425 /// ]
5740 * 5426 /// }
5741 * For a description of IAM and its features, see the 5427 ///
5742 * [IAM developer's guide](https://cloud.google.com/iam). 5428 /// For a description of IAM and its features, see the
5743 */ 5429 /// [IAM developer's guide](https://cloud.google.com/iam).
5744 class Policy { 5430 class Policy {
5745 /** Specifies cloud audit logging configuration for this policy. */ 5431 /// Specifies cloud audit logging configuration for this policy.
5746 core.List<AuditConfig> auditConfigs; 5432 core.List<AuditConfig> auditConfigs;
5747 /** 5433
5748 * Associates a list of `members` to a `role`. 5434 /// Associates a list of `members` to a `role`.
5749 * `bindings` with no members will result in an error. 5435 /// `bindings` with no members will result in an error.
5750 */
5751 core.List<Binding> bindings; 5436 core.List<Binding> bindings;
5752 /** 5437
5753 * `etag` is used for optimistic concurrency control as a way to help 5438 /// `etag` is used for optimistic concurrency control as a way to help
5754 * prevent simultaneous updates of a policy from overwriting each other. 5439 /// prevent simultaneous updates of a policy from overwriting each other.
5755 * It is strongly suggested that systems make use of the `etag` in the 5440 /// It is strongly suggested that systems make use of the `etag` in the
5756 * read-modify-write cycle to perform policy updates in order to avoid race 5441 /// read-modify-write cycle to perform policy updates in order to avoid race
5757 * conditions: An `etag` is returned in the response to `getIamPolicy`, and 5442 /// conditions: An `etag` is returned in the response to `getIamPolicy`, and
5758 * systems are expected to put that etag in the request to `setIamPolicy` to 5443 /// systems are expected to put that etag in the request to `setIamPolicy` to
5759 * ensure that their change will be applied to the same version of the policy. 5444 /// ensure that their change will be applied to the same version of the
5760 * 5445 /// policy.
5761 * If no `etag` is provided in the call to `setIamPolicy`, then the existing 5446 ///
5762 * policy is overwritten blindly. 5447 /// If no `etag` is provided in the call to `setIamPolicy`, then the existing
5763 */ 5448 /// policy is overwritten blindly.
5764 core.String etag; 5449 core.String etag;
5765 core.List<core.int> get etagAsBytes { 5450 core.List<core.int> get etagAsBytes {
5766 return convert.BASE64.decode(etag); 5451 return convert.BASE64.decode(etag);
5767 } 5452 }
5768 5453
5769 void set etagAsBytes(core.List<core.int> _bytes) { 5454 void set etagAsBytes(core.List<core.int> _bytes) {
5770 etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "- "); 5455 etag =
5456 convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
5771 } 5457 }
5458
5772 core.bool iamOwned; 5459 core.bool iamOwned;
5773 /** 5460
5774 * If more than one rule is specified, the rules are applied in the following 5461 /// Version of the `Policy`. The default version is 0.
5775 * manner:
5776 * - All matching LOG rules are always applied.
5777 * - If any DENY/DENY_WITH_LOG rule matches, permission is denied.
5778 * Logging will be applied if one or more matching rule requires logging.
5779 * - Otherwise, if any ALLOW/ALLOW_WITH_LOG rule matches, permission is
5780 * granted.
5781 * Logging will be applied if one or more matching rule requires logging.
5782 * - Otherwise, if no rule applies, permission is denied.
5783 */
5784 core.List<Rule> rules;
5785 /** Version of the `Policy`. The default version is 0. */
5786 core.int version; 5462 core.int version;
5787 5463
5788 Policy(); 5464 Policy();
5789 5465
5790 Policy.fromJson(core.Map _json) { 5466 Policy.fromJson(core.Map _json) {
5791 if (_json.containsKey("auditConfigs")) { 5467 if (_json.containsKey("auditConfigs")) {
5792 auditConfigs = _json["auditConfigs"].map((value) => new AuditConfig.fromJs on(value)).toList(); 5468 auditConfigs = _json["auditConfigs"]
5469 .map((value) => new AuditConfig.fromJson(value))
5470 .toList();
5793 } 5471 }
5794 if (_json.containsKey("bindings")) { 5472 if (_json.containsKey("bindings")) {
5795 bindings = _json["bindings"].map((value) => new Binding.fromJson(value)).t oList(); 5473 bindings = _json["bindings"]
5474 .map((value) => new Binding.fromJson(value))
5475 .toList();
5796 } 5476 }
5797 if (_json.containsKey("etag")) { 5477 if (_json.containsKey("etag")) {
5798 etag = _json["etag"]; 5478 etag = _json["etag"];
5799 } 5479 }
5800 if (_json.containsKey("iamOwned")) { 5480 if (_json.containsKey("iamOwned")) {
5801 iamOwned = _json["iamOwned"]; 5481 iamOwned = _json["iamOwned"];
5802 } 5482 }
5803 if (_json.containsKey("rules")) {
5804 rules = _json["rules"].map((value) => new Rule.fromJson(value)).toList();
5805 }
5806 if (_json.containsKey("version")) { 5483 if (_json.containsKey("version")) {
5807 version = _json["version"]; 5484 version = _json["version"];
5808 } 5485 }
5809 } 5486 }
5810 5487
5811 core.Map<core.String, core.Object> toJson() { 5488 core.Map<core.String, core.Object> toJson() {
5812 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5489 final core.Map<core.String, core.Object> _json =
5490 new core.Map<core.String, core.Object>();
5813 if (auditConfigs != null) { 5491 if (auditConfigs != null) {
5814 _json["auditConfigs"] = auditConfigs.map((value) => (value).toJson()).toLi st(); 5492 _json["auditConfigs"] =
5493 auditConfigs.map((value) => (value).toJson()).toList();
5815 } 5494 }
5816 if (bindings != null) { 5495 if (bindings != null) {
5817 _json["bindings"] = bindings.map((value) => (value).toJson()).toList(); 5496 _json["bindings"] = bindings.map((value) => (value).toJson()).toList();
5818 } 5497 }
5819 if (etag != null) { 5498 if (etag != null) {
5820 _json["etag"] = etag; 5499 _json["etag"] = etag;
5821 } 5500 }
5822 if (iamOwned != null) { 5501 if (iamOwned != null) {
5823 _json["iamOwned"] = iamOwned; 5502 _json["iamOwned"] = iamOwned;
5824 } 5503 }
5825 if (rules != null) {
5826 _json["rules"] = rules.map((value) => (value).toJson()).toList();
5827 }
5828 if (version != null) { 5504 if (version != null) {
5829 _json["version"] = version; 5505 _json["version"] = version;
5830 } 5506 }
5831 return _json; 5507 return _json;
5832 } 5508 }
5833 } 5509 }
5834 5510
5835 /** 5511 /// Quota configuration helps to achieve fairness and budgeting in service
5836 * Quota configuration helps to achieve fairness and budgeting in service 5512 /// usage.
5837 * usage. 5513 ///
5838 * 5514 /// The quota configuration works this way:
5839 * The quota configuration works this way: 5515 /// - The service configuration defines a set of metrics.
5840 * - The service configuration defines a set of metrics. 5516 /// - For API calls, the quota.metric_rules maps methods to metrics with
5841 * - For API calls, the quota.metric_rules maps methods to metrics with 5517 /// corresponding costs.
5842 * corresponding costs. 5518 /// - The quota.limits defines limits on the metrics, which will be used for
5843 * - The quota.limits defines limits on the metrics, which will be used for 5519 /// quota checks at runtime.
5844 * quota checks at runtime. 5520 ///
5845 * 5521 /// An example quota configuration in yaml format:
5846 * An example quota configuration in yaml format: 5522 ///
5847 * 5523 /// quota:
5848 * quota: 5524 ///
5849 * 5525 /// - name: apiWriteQpsPerProject
5850 * - name: apiWriteQpsPerProject 5526 /// metric: library.googleapis.com/write_calls
5851 * metric: library.googleapis.com/write_calls 5527 /// unit: "1/min/{project}" # rate limit for consumer projects
5852 * unit: "1/min/{project}" # rate limit for consumer projects 5528 /// values:
5853 * values: 5529 /// STANDARD: 10000
5854 * STANDARD: 10000 5530 ///
5855 * 5531 ///
5856 * 5532 /// # The metric rules bind all methods to the read_calls metric,
5857 * # The metric rules bind all methods to the read_calls metric, 5533 /// # except for the UpdateBook and DeleteBook methods. These two methods
5858 * # except for the UpdateBook and DeleteBook methods. These two methods 5534 /// # are mapped to the write_calls metric, with the UpdateBook method
5859 * # are mapped to the write_calls metric, with the UpdateBook method 5535 /// # consuming at twice rate as the DeleteBook method.
5860 * # consuming at twice rate as the DeleteBook method. 5536 /// metric_rules:
5861 * metric_rules: 5537 /// - selector: "*"
5862 * - selector: "*" 5538 /// metric_costs:
5863 * metric_costs: 5539 /// library.googleapis.com/read_calls: 1
5864 * library.googleapis.com/read_calls: 1 5540 /// - selector: google.example.library.v1.LibraryService.UpdateBook
5865 * - selector: google.example.library.v1.LibraryService.UpdateBook 5541 /// metric_costs:
5866 * metric_costs: 5542 /// library.googleapis.com/write_calls: 2
5867 * library.googleapis.com/write_calls: 2 5543 /// - selector: google.example.library.v1.LibraryService.DeleteBook
5868 * - selector: google.example.library.v1.LibraryService.DeleteBook 5544 /// metric_costs:
5869 * metric_costs: 5545 /// library.googleapis.com/write_calls: 1
5870 * library.googleapis.com/write_calls: 1 5546 ///
5871 * 5547 /// Corresponding Metric definition:
5872 * Corresponding Metric definition: 5548 ///
5873 * 5549 /// metrics:
5874 * metrics: 5550 /// - name: library.googleapis.com/read_calls
5875 * - name: library.googleapis.com/read_calls 5551 /// display_name: Read requests
5876 * display_name: Read requests 5552 /// metric_kind: DELTA
5877 * metric_kind: DELTA 5553 /// value_type: INT64
5878 * value_type: INT64 5554 ///
5879 * 5555 /// - name: library.googleapis.com/write_calls
5880 * - name: library.googleapis.com/write_calls 5556 /// display_name: Write requests
5881 * display_name: Write requests 5557 /// metric_kind: DELTA
5882 * metric_kind: DELTA 5558 /// value_type: INT64
5883 * value_type: INT64
5884 */
5885 class Quota { 5559 class Quota {
5886 /** List of `QuotaLimit` definitions for the service. */ 5560 /// List of `QuotaLimit` definitions for the service.
5887 core.List<QuotaLimit> limits; 5561 core.List<QuotaLimit> limits;
5888 /** 5562
5889 * List of `MetricRule` definitions, each one mapping a selected method to one 5563 /// List of `MetricRule` definitions, each one mapping a selected method to
5890 * or more metrics. 5564 /// one
5891 */ 5565 /// or more metrics.
5892 core.List<MetricRule> metricRules; 5566 core.List<MetricRule> metricRules;
5893 5567
5894 Quota(); 5568 Quota();
5895 5569
5896 Quota.fromJson(core.Map _json) { 5570 Quota.fromJson(core.Map _json) {
5897 if (_json.containsKey("limits")) { 5571 if (_json.containsKey("limits")) {
5898 limits = _json["limits"].map((value) => new QuotaLimit.fromJson(value)).to List(); 5572 limits = _json["limits"]
5573 .map((value) => new QuotaLimit.fromJson(value))
5574 .toList();
5899 } 5575 }
5900 if (_json.containsKey("metricRules")) { 5576 if (_json.containsKey("metricRules")) {
5901 metricRules = _json["metricRules"].map((value) => new MetricRule.fromJson( value)).toList(); 5577 metricRules = _json["metricRules"]
5578 .map((value) => new MetricRule.fromJson(value))
5579 .toList();
5902 } 5580 }
5903 } 5581 }
5904 5582
5905 core.Map<core.String, core.Object> toJson() { 5583 core.Map<core.String, core.Object> toJson() {
5906 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5584 final core.Map<core.String, core.Object> _json =
5585 new core.Map<core.String, core.Object>();
5907 if (limits != null) { 5586 if (limits != null) {
5908 _json["limits"] = limits.map((value) => (value).toJson()).toList(); 5587 _json["limits"] = limits.map((value) => (value).toJson()).toList();
5909 } 5588 }
5910 if (metricRules != null) { 5589 if (metricRules != null) {
5911 _json["metricRules"] = metricRules.map((value) => (value).toJson()).toList (); 5590 _json["metricRules"] =
5591 metricRules.map((value) => (value).toJson()).toList();
5912 } 5592 }
5913 return _json; 5593 return _json;
5914 } 5594 }
5915 } 5595 }
5916 5596
5917 /** 5597 /// `QuotaLimit` defines a specific limit that applies over a specified
5918 * `QuotaLimit` defines a specific limit that applies over a specified duration 5598 /// duration
5919 * for a limit type. There can be at most one limit for a duration and limit 5599 /// for a limit type. There can be at most one limit for a duration and limit
5920 * type combination defined within a `QuotaGroup`. 5600 /// type combination defined within a `QuotaGroup`.
5921 */
5922 class QuotaLimit { 5601 class QuotaLimit {
5923 /** 5602 /// Default number of tokens that can be consumed during the specified
5924 * Default number of tokens that can be consumed during the specified 5603 /// duration. This is the number of tokens assigned when a client
5925 * duration. This is the number of tokens assigned when a client 5604 /// application developer activates the service for his/her project.
5926 * application developer activates the service for his/her project. 5605 ///
5927 * 5606 /// Specifying a value of 0 will block all requests. This can be used if you
5928 * Specifying a value of 0 will block all requests. This can be used if you 5607 /// are provisioning quota to selected consumers and blocking others.
5929 * are provisioning quota to selected consumers and blocking others. 5608 /// Similarly, a value of -1 will indicate an unlimited quota. No other
5930 * Similarly, a value of -1 will indicate an unlimited quota. No other 5609 /// negative values are allowed.
5931 * negative values are allowed. 5610 ///
5932 * 5611 /// Used by group-based quotas only.
5933 * Used by group-based quotas only.
5934 */
5935 core.String defaultLimit; 5612 core.String defaultLimit;
5936 /** 5613
5937 * Optional. User-visible, extended description for this quota limit. 5614 /// Optional. User-visible, extended description for this quota limit.
5938 * Should be used only when more context is needed to understand this limit 5615 /// Should be used only when more context is needed to understand this limit
5939 * than provided by the limit's display name (see: `display_name`). 5616 /// than provided by the limit's display name (see: `display_name`).
5940 */
5941 core.String description; 5617 core.String description;
5942 /** 5618
5943 * User-visible display name for this limit. 5619 /// User-visible display name for this limit.
5944 * Optional. If not set, the UI will provide a default display name based on 5620 /// Optional. If not set, the UI will provide a default display name based on
5945 * the quota configuration. This field can be used to override the default 5621 /// the quota configuration. This field can be used to override the default
5946 * display name generated from the configuration. 5622 /// display name generated from the configuration.
5947 */
5948 core.String displayName; 5623 core.String displayName;
5949 /** 5624
5950 * Duration of this limit in textual notation. Example: "100s", "24h", "1d". 5625 /// Duration of this limit in textual notation. Example: "100s", "24h", "1d".
5951 * For duration longer than a day, only multiple of days is supported. We 5626 /// For duration longer than a day, only multiple of days is supported. We
5952 * support only "100s" and "1d" for now. Additional support will be added in 5627 /// support only "100s" and "1d" for now. Additional support will be added in
5953 * the future. "0" indicates indefinite duration. 5628 /// the future. "0" indicates indefinite duration.
5954 * 5629 ///
5955 * Used by group-based quotas only. 5630 /// Used by group-based quotas only.
5956 */
5957 core.String duration; 5631 core.String duration;
5958 /** 5632
5959 * Free tier value displayed in the Developers Console for this limit. 5633 /// Free tier value displayed in the Developers Console for this limit.
5960 * The free tier is the number of tokens that will be subtracted from the 5634 /// The free tier is the number of tokens that will be subtracted from the
5961 * billed amount when billing is enabled. 5635 /// billed amount when billing is enabled.
5962 * This field can only be set on a limit with duration "1d", in a billable 5636 /// This field can only be set on a limit with duration "1d", in a billable
5963 * group; it is invalid on any other limit. If this field is not set, it 5637 /// group; it is invalid on any other limit. If this field is not set, it
5964 * defaults to 0, indicating that there is no free tier for this service. 5638 /// defaults to 0, indicating that there is no free tier for this service.
5965 * 5639 ///
5966 * Used by group-based quotas only. 5640 /// Used by group-based quotas only.
5967 */
5968 core.String freeTier; 5641 core.String freeTier;
5969 /** 5642
5970 * Maximum number of tokens that can be consumed during the specified 5643 /// Maximum number of tokens that can be consumed during the specified
5971 * duration. Client application developers can override the default limit up 5644 /// duration. Client application developers can override the default limit up
5972 * to this maximum. If specified, this value cannot be set to a value less 5645 /// to this maximum. If specified, this value cannot be set to a value less
5973 * than the default limit. If not specified, it is set to the default limit. 5646 /// than the default limit. If not specified, it is set to the default limit.
5974 * 5647 ///
5975 * To allow clients to apply overrides with no upper bound, set this to -1, 5648 /// To allow clients to apply overrides with no upper bound, set this to -1,
5976 * indicating unlimited maximum quota. 5649 /// indicating unlimited maximum quota.
5977 * 5650 ///
5978 * Used by group-based quotas only. 5651 /// Used by group-based quotas only.
5979 */
5980 core.String maxLimit; 5652 core.String maxLimit;
5981 /** 5653
5982 * The name of the metric this quota limit applies to. The quota limits with 5654 /// The name of the metric this quota limit applies to. The quota limits with
5983 * the same metric will be checked together during runtime. The metric must be 5655 /// the same metric will be checked together during runtime. The metric must
5984 * defined within the service config. 5656 /// be
5985 * 5657 /// defined within the service config.
5986 * Used by metric-based quotas only. 5658 ///
5987 */ 5659 /// Used by metric-based quotas only.
5988 core.String metric; 5660 core.String metric;
5989 /** 5661
5990 * Name of the quota limit. The name is used to refer to the limit when 5662 /// Name of the quota limit. The name is used to refer to the limit when
5991 * overriding the default limit on per-consumer basis. 5663 /// overriding the default limit on per-consumer basis.
5992 * 5664 ///
5993 * For metric-based quota limits, the name must be provided, and it must be 5665 /// For metric-based quota limits, the name must be provided, and it must be
5994 * unique within the service. The name can only include alphanumeric 5666 /// unique within the service. The name can only include alphanumeric
5995 * characters as well as '-'. 5667 /// characters as well as '-'.
5996 * 5668 ///
5997 * The maximum length of the limit name is 64 characters. 5669 /// The maximum length of the limit name is 64 characters.
5998 * 5670 ///
5999 * The name of a limit is used as a unique identifier for this limit. 5671 /// The name of a limit is used as a unique identifier for this limit.
6000 * Therefore, once a limit has been put into use, its name should be 5672 /// Therefore, once a limit has been put into use, its name should be
6001 * immutable. You can use the display_name field to provide a user-friendly 5673 /// immutable. You can use the display_name field to provide a user-friendly
6002 * name for the limit. The display name can be evolved over time without 5674 /// name for the limit. The display name can be evolved over time without
6003 * affecting the identity of the limit. 5675 /// affecting the identity of the limit.
6004 */
6005 core.String name; 5676 core.String name;
6006 /** 5677
6007 * Specify the unit of the quota limit. It uses the same syntax as 5678 /// Specify the unit of the quota limit. It uses the same syntax as
6008 * Metric.unit. The supported unit kinds are determined by the quota 5679 /// Metric.unit. The supported unit kinds are determined by the quota
6009 * backend system. 5680 /// backend system.
6010 * 5681 ///
6011 * The [Google Service Control](https://cloud.google.com/service-control) 5682 /// The [Google Service Control](https://cloud.google.com/service-control)
6012 * supports the following unit components: 5683 /// supports the following unit components:
6013 * * One of the time intevals: 5684 /// * One of the time intevals:
6014 * * "/min" for quota every minute. 5685 /// * "/min" for quota every minute.
6015 * * "/d" for quota every 24 hours, starting 00:00 US Pacific Time. 5686 /// * "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
6016 * * Otherwise the quota won't be reset by time, such as storage limit. 5687 /// * Otherwise the quota won't be reset by time, such as storage limit.
6017 * * One and only one of the granted containers: 5688 /// * One and only one of the granted containers:
6018 * * "/{project}" quota for a project 5689 /// * "/{project}" quota for a project
6019 * 5690 ///
6020 * Here are some examples: 5691 /// Here are some examples:
6021 * * "1/min/{project}" for quota per minute per project. 5692 /// * "1/min/{project}" for quota per minute per project.
6022 * 5693 ///
6023 * Note: the order of unit components is insignificant. 5694 /// Note: the order of unit components is insignificant.
6024 * The "1" at the beginning is required to follow the metric unit syntax. 5695 /// The "1" at the beginning is required to follow the metric unit syntax.
6025 * 5696 ///
6026 * Used by metric-based quotas only. 5697 /// Used by metric-based quotas only.
6027 */
6028 core.String unit; 5698 core.String unit;
6029 /** Tiered limit values, currently only STANDARD is supported. */ 5699
5700 /// Tiered limit values, currently only STANDARD is supported.
6030 core.Map<core.String, core.String> values; 5701 core.Map<core.String, core.String> values;
6031 5702
6032 QuotaLimit(); 5703 QuotaLimit();
6033 5704
6034 QuotaLimit.fromJson(core.Map _json) { 5705 QuotaLimit.fromJson(core.Map _json) {
6035 if (_json.containsKey("defaultLimit")) { 5706 if (_json.containsKey("defaultLimit")) {
6036 defaultLimit = _json["defaultLimit"]; 5707 defaultLimit = _json["defaultLimit"];
6037 } 5708 }
6038 if (_json.containsKey("description")) { 5709 if (_json.containsKey("description")) {
6039 description = _json["description"]; 5710 description = _json["description"];
(...skipping 18 matching lines...) Expand all
6058 } 5729 }
6059 if (_json.containsKey("unit")) { 5730 if (_json.containsKey("unit")) {
6060 unit = _json["unit"]; 5731 unit = _json["unit"];
6061 } 5732 }
6062 if (_json.containsKey("values")) { 5733 if (_json.containsKey("values")) {
6063 values = _json["values"]; 5734 values = _json["values"];
6064 } 5735 }
6065 } 5736 }
6066 5737
6067 core.Map<core.String, core.Object> toJson() { 5738 core.Map<core.String, core.Object> toJson() {
6068 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5739 final core.Map<core.String, core.Object> _json =
5740 new core.Map<core.String, core.Object>();
6069 if (defaultLimit != null) { 5741 if (defaultLimit != null) {
6070 _json["defaultLimit"] = defaultLimit; 5742 _json["defaultLimit"] = defaultLimit;
6071 } 5743 }
6072 if (description != null) { 5744 if (description != null) {
6073 _json["description"] = description; 5745 _json["description"] = description;
6074 } 5746 }
6075 if (displayName != null) { 5747 if (displayName != null) {
6076 _json["displayName"] = displayName; 5748 _json["displayName"] = displayName;
6077 } 5749 }
6078 if (duration != null) { 5750 if (duration != null) {
(...skipping 14 matching lines...) Expand all
6093 if (unit != null) { 5765 if (unit != null) {
6094 _json["unit"] = unit; 5766 _json["unit"] = unit;
6095 } 5767 }
6096 if (values != null) { 5768 if (values != null) {
6097 _json["values"] = values; 5769 _json["values"] = values;
6098 } 5770 }
6099 return _json; 5771 return _json;
6100 } 5772 }
6101 } 5773 }
6102 5774
6103 /** 5775 /// A rollout resource that defines how service configuration versions are
6104 * A rollout resource that defines how service configuration versions are pushed 5776 /// pushed
6105 * to control plane systems. Typically, you create a new version of the 5777 /// to control plane systems. Typically, you create a new version of the
6106 * service config, and then create a Rollout to push the service config. 5778 /// service config, and then create a Rollout to push the service config.
6107 */
6108 class Rollout { 5779 class Rollout {
6109 /** Creation time of the rollout. Readonly. */ 5780 /// Creation time of the rollout. Readonly.
6110 core.String createTime; 5781 core.String createTime;
6111 /** The user who created the Rollout. Readonly. */ 5782
5783 /// The user who created the Rollout. Readonly.
6112 core.String createdBy; 5784 core.String createdBy;
6113 /** 5785
6114 * The strategy associated with a rollout to delete a `ManagedService`. 5786 /// The strategy associated with a rollout to delete a `ManagedService`.
6115 * Readonly. 5787 /// Readonly.
6116 */
6117 DeleteServiceStrategy deleteServiceStrategy; 5788 DeleteServiceStrategy deleteServiceStrategy;
6118 /** 5789
6119 * Optional unique identifier of this Rollout. Only lower case letters, digits 5790 /// Optional unique identifier of this Rollout. Only lower case letters,
6120 * and '-' are allowed. 5791 /// digits
6121 * 5792 /// and '-' are allowed.
6122 * If not specified by client, the server will generate one. The generated id 5793 ///
6123 * will have the form of <date><revision number>, where "date" is the create 5794 /// If not specified by client, the server will generate one. The generated
6124 * date in ISO 8601 format. "revision number" is a monotonically increasing 5795 /// id
6125 * positive number that is reset every day for each service. 5796 /// will have the form of <date><revision number>, where "date" is the create
6126 * An example of the generated rollout_id is '2016-02-16r1' 5797 /// date in ISO 8601 format. "revision number" is a monotonically increasing
6127 */ 5798 /// positive number that is reset every day for each service.
5799 /// An example of the generated rollout_id is '2016-02-16r1'
6128 core.String rolloutId; 5800 core.String rolloutId;
6129 /** The name of the service associated with this Rollout. */ 5801
5802 /// The name of the service associated with this Rollout.
6130 core.String serviceName; 5803 core.String serviceName;
6131 /** 5804
6132 * The status of this rollout. Readonly. In case of a failed rollout, 5805 /// The status of this rollout. Readonly. In case of a failed rollout,
6133 * the system will automatically rollback to the current Rollout 5806 /// the system will automatically rollback to the current Rollout
6134 * version. Readonly. 5807 /// version. Readonly.
6135 * Possible string values are: 5808 /// Possible string values are:
6136 * - "ROLLOUT_STATUS_UNSPECIFIED" : No status specified. 5809 /// - "ROLLOUT_STATUS_UNSPECIFIED" : No status specified.
6137 * - "IN_PROGRESS" : The Rollout is in progress. 5810 /// - "IN_PROGRESS" : The Rollout is in progress.
6138 * - "SUCCESS" : The Rollout has completed successfully. 5811 /// - "SUCCESS" : The Rollout has completed successfully.
6139 * - "CANCELLED" : The Rollout has been cancelled. This can happen if you have 5812 /// - "CANCELLED" : The Rollout has been cancelled. This can happen if you
6140 * overlapping 5813 /// have overlapping
6141 * Rollout pushes, and the previous ones will be cancelled. 5814 /// Rollout pushes, and the previous ones will be cancelled.
6142 * - "FAILED" : The Rollout has failed and the rollback attempt has failed 5815 /// - "FAILED" : The Rollout has failed and the rollback attempt has failed
6143 * too. 5816 /// too.
6144 * - "PENDING" : The Rollout has not started yet and is pending for execution. 5817 /// - "PENDING" : The Rollout has not started yet and is pending for
6145 * - "FAILED_ROLLED_BACK" : The Rollout has failed and rolled back to the 5818 /// execution.
6146 * previous successful 5819 /// - "FAILED_ROLLED_BACK" : The Rollout has failed and rolled back to the
6147 * Rollout. 5820 /// previous successful
6148 */ 5821 /// Rollout.
6149 core.String status; 5822 core.String status;
6150 /** 5823
6151 * Google Service Control selects service configurations based on 5824 /// Google Service Control selects service configurations based on
6152 * traffic percentage. 5825 /// traffic percentage.
6153 */
6154 TrafficPercentStrategy trafficPercentStrategy; 5826 TrafficPercentStrategy trafficPercentStrategy;
6155 5827
6156 Rollout(); 5828 Rollout();
6157 5829
6158 Rollout.fromJson(core.Map _json) { 5830 Rollout.fromJson(core.Map _json) {
6159 if (_json.containsKey("createTime")) { 5831 if (_json.containsKey("createTime")) {
6160 createTime = _json["createTime"]; 5832 createTime = _json["createTime"];
6161 } 5833 }
6162 if (_json.containsKey("createdBy")) { 5834 if (_json.containsKey("createdBy")) {
6163 createdBy = _json["createdBy"]; 5835 createdBy = _json["createdBy"];
6164 } 5836 }
6165 if (_json.containsKey("deleteServiceStrategy")) { 5837 if (_json.containsKey("deleteServiceStrategy")) {
6166 deleteServiceStrategy = new DeleteServiceStrategy.fromJson(_json["deleteSe rviceStrategy"]); 5838 deleteServiceStrategy =
5839 new DeleteServiceStrategy.fromJson(_json["deleteServiceStrategy"]);
6167 } 5840 }
6168 if (_json.containsKey("rolloutId")) { 5841 if (_json.containsKey("rolloutId")) {
6169 rolloutId = _json["rolloutId"]; 5842 rolloutId = _json["rolloutId"];
6170 } 5843 }
6171 if (_json.containsKey("serviceName")) { 5844 if (_json.containsKey("serviceName")) {
6172 serviceName = _json["serviceName"]; 5845 serviceName = _json["serviceName"];
6173 } 5846 }
6174 if (_json.containsKey("status")) { 5847 if (_json.containsKey("status")) {
6175 status = _json["status"]; 5848 status = _json["status"];
6176 } 5849 }
6177 if (_json.containsKey("trafficPercentStrategy")) { 5850 if (_json.containsKey("trafficPercentStrategy")) {
6178 trafficPercentStrategy = new TrafficPercentStrategy.fromJson(_json["traffi cPercentStrategy"]); 5851 trafficPercentStrategy =
5852 new TrafficPercentStrategy.fromJson(_json["trafficPercentStrategy"]);
6179 } 5853 }
6180 } 5854 }
6181 5855
6182 core.Map<core.String, core.Object> toJson() { 5856 core.Map<core.String, core.Object> toJson() {
6183 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5857 final core.Map<core.String, core.Object> _json =
5858 new core.Map<core.String, core.Object>();
6184 if (createTime != null) { 5859 if (createTime != null) {
6185 _json["createTime"] = createTime; 5860 _json["createTime"] = createTime;
6186 } 5861 }
6187 if (createdBy != null) { 5862 if (createdBy != null) {
6188 _json["createdBy"] = createdBy; 5863 _json["createdBy"] = createdBy;
6189 } 5864 }
6190 if (deleteServiceStrategy != null) { 5865 if (deleteServiceStrategy != null) {
6191 _json["deleteServiceStrategy"] = (deleteServiceStrategy).toJson(); 5866 _json["deleteServiceStrategy"] = (deleteServiceStrategy).toJson();
6192 } 5867 }
6193 if (rolloutId != null) { 5868 if (rolloutId != null) {
6194 _json["rolloutId"] = rolloutId; 5869 _json["rolloutId"] = rolloutId;
6195 } 5870 }
6196 if (serviceName != null) { 5871 if (serviceName != null) {
6197 _json["serviceName"] = serviceName; 5872 _json["serviceName"] = serviceName;
6198 } 5873 }
6199 if (status != null) { 5874 if (status != null) {
6200 _json["status"] = status; 5875 _json["status"] = status;
6201 } 5876 }
6202 if (trafficPercentStrategy != null) { 5877 if (trafficPercentStrategy != null) {
6203 _json["trafficPercentStrategy"] = (trafficPercentStrategy).toJson(); 5878 _json["trafficPercentStrategy"] = (trafficPercentStrategy).toJson();
6204 } 5879 }
6205 return _json; 5880 return _json;
6206 } 5881 }
6207 } 5882 }
6208 5883
6209 /** A rule to be applied in a Policy. */ 5884 /// `Service` is the root object of Google service configuration schema. It
6210 class Rule { 5885 /// describes basic information about a service, such as the name and the
6211 /** 5886 /// title, and delegates other aspects to sub-sections. Each sub-section is
6212 * Required 5887 /// either a proto message or a repeated proto message that configures a
6213 * Possible string values are: 5888 /// specific aspect, such as auth. See each proto message definition for
6214 * - "NO_ACTION" : Default no action. 5889 /// details.
6215 * - "ALLOW" : Matching 'Entries' grant access. 5890 ///
6216 * - "ALLOW_WITH_LOG" : Matching 'Entries' grant access and the caller 5891 /// Example:
6217 * promises to log 5892 ///
6218 * the request per the returned log_configs. 5893 /// type: google.api.Service
6219 * - "DENY" : Matching 'Entries' deny access. 5894 /// config_version: 3
6220 * - "DENY_WITH_LOG" : Matching 'Entries' deny access and the caller promises 5895 /// name: calendar.googleapis.com
6221 * to log 5896 /// title: Google Calendar API
6222 * the request per the returned log_configs. 5897 /// apis:
6223 * - "LOG" : Matching 'Entries' tell IAM.Check callers to generate logs. 5898 /// - name: google.calendar.v3.Calendar
6224 */ 5899 /// authentication:
6225 core.String action; 5900 /// providers:
6226 /** Additional restrictions that must be met */ 5901 /// - id: google_calendar_auth
6227 core.List<Condition> conditions; 5902 /// jwks_uri: https://www.googleapis.com/oauth2/v1/certs
6228 /** Human-readable description of the rule. */ 5903 /// issuer: https://securetoken.google.com
6229 core.String description; 5904 /// rules:
6230 /** 5905 /// - selector: "*"
6231 * If one or more 'in' clauses are specified, the rule matches if 5906 /// requirements:
6232 * the PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries. 5907 /// provider_id: google_calendar_auth
6233 */ 5908 class Service {
6234 core.List<core.String> in_; 5909 /// A list of API interfaces exported by this service. Only the `name` field
6235 /** 5910 /// of the google.protobuf.Api needs to be provided by the configuration
6236 * The config returned to callers of tech.iam.IAM.CheckPolicy for any entries 5911 /// author, as the remaining fields will be derived from the IDL during the
6237 * that match the LOG action. 5912 /// normalization process. It is an error to specify an API interface here
6238 */ 5913 /// which cannot be resolved against the associated IDL files.
6239 core.List<LogConfig> logConfig; 5914 core.List<Api> apis;
6240 /**
6241 * If one or more 'not_in' clauses are specified, the rule matches
6242 * if the PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
6243 * The format for in and not_in entries is the same as for members in a
6244 * Binding (see google/iam/v1/policy.proto).
6245 */
6246 core.List<core.String> notIn;
6247 /**
6248 * A permission is a string of form '<service>.<resource type>.<verb>'
6249 * (e.g., 'storage.buckets.list'). A value of '*' matches all permissions,
6250 * and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.
6251 */
6252 core.List<core.String> permissions;
6253 5915
6254 Rule(); 5916 /// Auth configuration.
5917 Authentication authentication;
6255 5918
6256 Rule.fromJson(core.Map _json) { 5919 /// API backend configuration.
6257 if (_json.containsKey("action")) { 5920 Backend backend;
6258 action = _json["action"];
6259 }
6260 if (_json.containsKey("conditions")) {
6261 conditions = _json["conditions"].map((value) => new Condition.fromJson(val ue)).toList();
6262 }
6263 if (_json.containsKey("description")) {
6264 description = _json["description"];
6265 }
6266 if (_json.containsKey("in")) {
6267 in_ = _json["in"];
6268 }
6269 if (_json.containsKey("logConfig")) {
6270 logConfig = _json["logConfig"].map((value) => new LogConfig.fromJson(value )).toList();
6271 }
6272 if (_json.containsKey("notIn")) {
6273 notIn = _json["notIn"];
6274 }
6275 if (_json.containsKey("permissions")) {
6276 permissions = _json["permissions"];
6277 }
6278 }
6279 5921
6280 core.Map<core.String, core.Object> toJson() { 5922 /// The semantic version of the service configuration. The config version
6281 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 5923 /// affects the interpretation of the service configuration. For example,
6282 if (action != null) { 5924 /// certain features are enabled by default for certain config versions.
6283 _json["action"] = action; 5925 /// The latest config version is `3`.
6284 } 5926 core.int configVersion;
6285 if (conditions != null) {
6286 _json["conditions"] = conditions.map((value) => (value).toJson()).toList() ;
6287 }
6288 if (description != null) {
6289 _json["description"] = description;
6290 }
6291 if (in_ != null) {
6292 _json["in"] = in_;
6293 }
6294 if (logConfig != null) {
6295 _json["logConfig"] = logConfig.map((value) => (value).toJson()).toList();
6296 }
6297 if (notIn != null) {
6298 _json["notIn"] = notIn;
6299 }
6300 if (permissions != null) {
6301 _json["permissions"] = permissions;
6302 }
6303 return _json;
6304 }
6305 }
6306 5927
6307 /** 5928 /// Context configuration.
6308 * `Service` is the root object of Google service configuration schema. It
6309 * describes basic information about a service, such as the name and the
6310 * title, and delegates other aspects to sub-sections. Each sub-section is
6311 * either a proto message or a repeated proto message that configures a
6312 * specific aspect, such as auth. See each proto message definition for details.
6313 *
6314 * Example:
6315 *
6316 * type: google.api.Service
6317 * config_version: 3
6318 * name: calendar.googleapis.com
6319 * title: Google Calendar API
6320 * apis:
6321 * - name: google.calendar.v3.Calendar
6322 * authentication:
6323 * providers:
6324 * - id: google_calendar_auth
6325 * jwks_uri: https://www.googleapis.com/oauth2/v1/certs
6326 * issuer: https://securetoken.google.com
6327 * rules:
6328 * - selector: "*"
6329 * requirements:
6330 * provider_id: google_calendar_auth
6331 */
6332 class Service {
6333 /**
6334 * A list of API interfaces exported by this service. Only the `name` field
6335 * of the google.protobuf.Api needs to be provided by the configuration
6336 * author, as the remaining fields will be derived from the IDL during the
6337 * normalization process. It is an error to specify an API interface here
6338 * which cannot be resolved against the associated IDL files.
6339 */
6340 core.List<Api> apis;
6341 /** Auth configuration. */
6342 Authentication authentication;
6343 /** API backend configuration. */
6344 Backend backend;
6345 /**
6346 * The semantic version of the service configuration. The config version
6347 * affects the interpretation of the service configuration. For example,
6348 * certain features are enabled by default for certain config versions.
6349 * The latest config version is `3`.
6350 */
6351 core.int configVersion;
6352 /** Context configuration. */
6353 Context context; 5929 Context context;
6354 /** Configuration for the service control plane. */ 5930
5931 /// Configuration for the service control plane.
6355 Control control; 5932 Control control;
6356 /** Custom error configuration. */ 5933
5934 /// Custom error configuration.
6357 CustomError customError; 5935 CustomError customError;
6358 /** Additional API documentation. */ 5936
5937 /// Additional API documentation.
6359 Documentation documentation; 5938 Documentation documentation;
6360 /** 5939
6361 * Configuration for network endpoints. If this is empty, then an endpoint 5940 /// Configuration for network endpoints. If this is empty, then an endpoint
6362 * with the same name as the service is automatically generated to service all 5941 /// with the same name as the service is automatically generated to service
6363 * defined APIs. 5942 /// all
6364 */ 5943 /// defined APIs.
6365 core.List<Endpoint> endpoints; 5944 core.List<Endpoint> endpoints;
6366 /** 5945
6367 * A list of all enum types included in this API service. Enums 5946 /// A list of all enum types included in this API service. Enums
6368 * referenced directly or indirectly by the `apis` are automatically 5947 /// referenced directly or indirectly by the `apis` are automatically
6369 * included. Enums which are not referenced but shall be included 5948 /// included. Enums which are not referenced but shall be included
6370 * should be listed here by name. Example: 5949 /// should be listed here by name. Example:
6371 * 5950 ///
6372 * enums: 5951 /// enums:
6373 * - name: google.someapi.v1.SomeEnum 5952 /// - name: google.someapi.v1.SomeEnum
6374 */
6375 core.List<Enum> enums; 5953 core.List<Enum> enums;
6376 /** Experimental configuration. */ 5954
5955 /// Experimental configuration.
6377 Experimental experimental; 5956 Experimental experimental;
6378 /** HTTP configuration. */ 5957
5958 /// HTTP configuration.
6379 Http http; 5959 Http http;
6380 /** 5960
6381 * A unique ID for a specific instance of this message, typically assigned 5961 /// A unique ID for a specific instance of this message, typically assigned
6382 * by the client for tracking purpose. If empty, the server may choose to 5962 /// by the client for tracking purpose. If empty, the server may choose to
6383 * generate one instead. 5963 /// generate one instead.
6384 */
6385 core.String id; 5964 core.String id;
6386 /** Logging configuration. */ 5965
5966 /// Logging configuration.
6387 Logging logging; 5967 Logging logging;
6388 /** Defines the logs used by this service. */ 5968
5969 /// Defines the logs used by this service.
6389 core.List<LogDescriptor> logs; 5970 core.List<LogDescriptor> logs;
6390 /** Defines the metrics used by this service. */ 5971
5972 /// Defines the metrics used by this service.
6391 core.List<MetricDescriptor> metrics; 5973 core.List<MetricDescriptor> metrics;
6392 /** 5974
6393 * Defines the monitored resources used by this service. This is required 5975 /// Defines the monitored resources used by this service. This is required
6394 * by the Service.monitoring and Service.logging configurations. 5976 /// by the Service.monitoring and Service.logging configurations.
6395 */
6396 core.List<MonitoredResourceDescriptor> monitoredResources; 5977 core.List<MonitoredResourceDescriptor> monitoredResources;
6397 /** Monitoring configuration. */ 5978
5979 /// Monitoring configuration.
6398 Monitoring monitoring; 5980 Monitoring monitoring;
6399 /** 5981
6400 * The DNS address at which this service is available, 5982 /// The DNS address at which this service is available,
6401 * e.g. `calendar.googleapis.com`. 5983 /// e.g. `calendar.googleapis.com`.
6402 */
6403 core.String name; 5984 core.String name;
6404 /** The Google project that owns this service. */ 5985
5986 /// The Google project that owns this service.
6405 core.String producerProjectId; 5987 core.String producerProjectId;
6406 /** Quota configuration. */ 5988
5989 /// Quota configuration.
6407 Quota quota; 5990 Quota quota;
6408 /** 5991
6409 * Output only. The source information for this configuration if available. 5992 /// Output only. The source information for this configuration if available.
6410 */
6411 SourceInfo sourceInfo; 5993 SourceInfo sourceInfo;
6412 /** System parameter configuration. */ 5994
5995 /// System parameter configuration.
6413 SystemParameters systemParameters; 5996 SystemParameters systemParameters;
6414 /** 5997
6415 * A list of all proto message types included in this API service. 5998 /// A list of all proto message types included in this API service.
6416 * It serves similar purpose as [google.api.Service.types], except that 5999 /// It serves similar purpose as [google.api.Service.types], except that
6417 * these types are not needed by user-defined APIs. Therefore, they will not 6000 /// these types are not needed by user-defined APIs. Therefore, they will not
6418 * show up in the generated discovery doc. This field should only be used 6001 /// show up in the generated discovery doc. This field should only be used
6419 * to define system APIs in ESF. 6002 /// to define system APIs in ESF.
6420 */
6421 core.List<Type> systemTypes; 6003 core.List<Type> systemTypes;
6422 /** The product title for this service. */ 6004
6005 /// The product title for this service.
6423 core.String title; 6006 core.String title;
6424 /** 6007
6425 * A list of all proto message types included in this API service. 6008 /// A list of all proto message types included in this API service.
6426 * Types referenced directly or indirectly by the `apis` are 6009 /// Types referenced directly or indirectly by the `apis` are
6427 * automatically included. Messages which are not referenced but 6010 /// automatically included. Messages which are not referenced but
6428 * shall be included, such as types used by the `google.protobuf.Any` type, 6011 /// shall be included, such as types used by the `google.protobuf.Any` type,
6429 * should be listed here by name. Example: 6012 /// should be listed here by name. Example:
6430 * 6013 ///
6431 * types: 6014 /// types:
6432 * - name: google.protobuf.Int32 6015 /// - name: google.protobuf.Int32
6433 */
6434 core.List<Type> types; 6016 core.List<Type> types;
6435 /** Configuration controlling usage of this service. */ 6017
6018 /// Configuration controlling usage of this service.
6436 Usage usage; 6019 Usage usage;
6437 /** API visibility configuration. */ 6020
6021 /// API visibility configuration.
6438 Visibility visibility; 6022 Visibility visibility;
6439 6023
6440 Service(); 6024 Service();
6441 6025
6442 Service.fromJson(core.Map _json) { 6026 Service.fromJson(core.Map _json) {
6443 if (_json.containsKey("apis")) { 6027 if (_json.containsKey("apis")) {
6444 apis = _json["apis"].map((value) => new Api.fromJson(value)).toList(); 6028 apis = _json["apis"].map((value) => new Api.fromJson(value)).toList();
6445 } 6029 }
6446 if (_json.containsKey("authentication")) { 6030 if (_json.containsKey("authentication")) {
6447 authentication = new Authentication.fromJson(_json["authentication"]); 6031 authentication = new Authentication.fromJson(_json["authentication"]);
(...skipping 10 matching lines...) Expand all
6458 if (_json.containsKey("control")) { 6042 if (_json.containsKey("control")) {
6459 control = new Control.fromJson(_json["control"]); 6043 control = new Control.fromJson(_json["control"]);
6460 } 6044 }
6461 if (_json.containsKey("customError")) { 6045 if (_json.containsKey("customError")) {
6462 customError = new CustomError.fromJson(_json["customError"]); 6046 customError = new CustomError.fromJson(_json["customError"]);
6463 } 6047 }
6464 if (_json.containsKey("documentation")) { 6048 if (_json.containsKey("documentation")) {
6465 documentation = new Documentation.fromJson(_json["documentation"]); 6049 documentation = new Documentation.fromJson(_json["documentation"]);
6466 } 6050 }
6467 if (_json.containsKey("endpoints")) { 6051 if (_json.containsKey("endpoints")) {
6468 endpoints = _json["endpoints"].map((value) => new Endpoint.fromJson(value) ).toList(); 6052 endpoints = _json["endpoints"]
6053 .map((value) => new Endpoint.fromJson(value))
6054 .toList();
6469 } 6055 }
6470 if (_json.containsKey("enums")) { 6056 if (_json.containsKey("enums")) {
6471 enums = _json["enums"].map((value) => new Enum.fromJson(value)).toList(); 6057 enums = _json["enums"].map((value) => new Enum.fromJson(value)).toList();
6472 } 6058 }
6473 if (_json.containsKey("experimental")) { 6059 if (_json.containsKey("experimental")) {
6474 experimental = new Experimental.fromJson(_json["experimental"]); 6060 experimental = new Experimental.fromJson(_json["experimental"]);
6475 } 6061 }
6476 if (_json.containsKey("http")) { 6062 if (_json.containsKey("http")) {
6477 http = new Http.fromJson(_json["http"]); 6063 http = new Http.fromJson(_json["http"]);
6478 } 6064 }
6479 if (_json.containsKey("id")) { 6065 if (_json.containsKey("id")) {
6480 id = _json["id"]; 6066 id = _json["id"];
6481 } 6067 }
6482 if (_json.containsKey("logging")) { 6068 if (_json.containsKey("logging")) {
6483 logging = new Logging.fromJson(_json["logging"]); 6069 logging = new Logging.fromJson(_json["logging"]);
6484 } 6070 }
6485 if (_json.containsKey("logs")) { 6071 if (_json.containsKey("logs")) {
6486 logs = _json["logs"].map((value) => new LogDescriptor.fromJson(value)).toL ist(); 6072 logs = _json["logs"]
6073 .map((value) => new LogDescriptor.fromJson(value))
6074 .toList();
6487 } 6075 }
6488 if (_json.containsKey("metrics")) { 6076 if (_json.containsKey("metrics")) {
6489 metrics = _json["metrics"].map((value) => new MetricDescriptor.fromJson(va lue)).toList(); 6077 metrics = _json["metrics"]
6078 .map((value) => new MetricDescriptor.fromJson(value))
6079 .toList();
6490 } 6080 }
6491 if (_json.containsKey("monitoredResources")) { 6081 if (_json.containsKey("monitoredResources")) {
6492 monitoredResources = _json["monitoredResources"].map((value) => new Monito redResourceDescriptor.fromJson(value)).toList(); 6082 monitoredResources = _json["monitoredResources"]
6083 .map((value) => new MonitoredResourceDescriptor.fromJson(value))
6084 .toList();
6493 } 6085 }
6494 if (_json.containsKey("monitoring")) { 6086 if (_json.containsKey("monitoring")) {
6495 monitoring = new Monitoring.fromJson(_json["monitoring"]); 6087 monitoring = new Monitoring.fromJson(_json["monitoring"]);
6496 } 6088 }
6497 if (_json.containsKey("name")) { 6089 if (_json.containsKey("name")) {
6498 name = _json["name"]; 6090 name = _json["name"];
6499 } 6091 }
6500 if (_json.containsKey("producerProjectId")) { 6092 if (_json.containsKey("producerProjectId")) {
6501 producerProjectId = _json["producerProjectId"]; 6093 producerProjectId = _json["producerProjectId"];
6502 } 6094 }
6503 if (_json.containsKey("quota")) { 6095 if (_json.containsKey("quota")) {
6504 quota = new Quota.fromJson(_json["quota"]); 6096 quota = new Quota.fromJson(_json["quota"]);
6505 } 6097 }
6506 if (_json.containsKey("sourceInfo")) { 6098 if (_json.containsKey("sourceInfo")) {
6507 sourceInfo = new SourceInfo.fromJson(_json["sourceInfo"]); 6099 sourceInfo = new SourceInfo.fromJson(_json["sourceInfo"]);
6508 } 6100 }
6509 if (_json.containsKey("systemParameters")) { 6101 if (_json.containsKey("systemParameters")) {
6510 systemParameters = new SystemParameters.fromJson(_json["systemParameters"] ); 6102 systemParameters =
6103 new SystemParameters.fromJson(_json["systemParameters"]);
6511 } 6104 }
6512 if (_json.containsKey("systemTypes")) { 6105 if (_json.containsKey("systemTypes")) {
6513 systemTypes = _json["systemTypes"].map((value) => new Type.fromJson(value) ).toList(); 6106 systemTypes = _json["systemTypes"]
6107 .map((value) => new Type.fromJson(value))
6108 .toList();
6514 } 6109 }
6515 if (_json.containsKey("title")) { 6110 if (_json.containsKey("title")) {
6516 title = _json["title"]; 6111 title = _json["title"];
6517 } 6112 }
6518 if (_json.containsKey("types")) { 6113 if (_json.containsKey("types")) {
6519 types = _json["types"].map((value) => new Type.fromJson(value)).toList(); 6114 types = _json["types"].map((value) => new Type.fromJson(value)).toList();
6520 } 6115 }
6521 if (_json.containsKey("usage")) { 6116 if (_json.containsKey("usage")) {
6522 usage = new Usage.fromJson(_json["usage"]); 6117 usage = new Usage.fromJson(_json["usage"]);
6523 } 6118 }
6524 if (_json.containsKey("visibility")) { 6119 if (_json.containsKey("visibility")) {
6525 visibility = new Visibility.fromJson(_json["visibility"]); 6120 visibility = new Visibility.fromJson(_json["visibility"]);
6526 } 6121 }
6527 } 6122 }
6528 6123
6529 core.Map<core.String, core.Object> toJson() { 6124 core.Map<core.String, core.Object> toJson() {
6530 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6125 final core.Map<core.String, core.Object> _json =
6126 new core.Map<core.String, core.Object>();
6531 if (apis != null) { 6127 if (apis != null) {
6532 _json["apis"] = apis.map((value) => (value).toJson()).toList(); 6128 _json["apis"] = apis.map((value) => (value).toJson()).toList();
6533 } 6129 }
6534 if (authentication != null) { 6130 if (authentication != null) {
6535 _json["authentication"] = (authentication).toJson(); 6131 _json["authentication"] = (authentication).toJson();
6536 } 6132 }
6537 if (backend != null) { 6133 if (backend != null) {
6538 _json["backend"] = (backend).toJson(); 6134 _json["backend"] = (backend).toJson();
6539 } 6135 }
6540 if (configVersion != null) { 6136 if (configVersion != null) {
(...skipping 29 matching lines...) Expand all
6570 if (logging != null) { 6166 if (logging != null) {
6571 _json["logging"] = (logging).toJson(); 6167 _json["logging"] = (logging).toJson();
6572 } 6168 }
6573 if (logs != null) { 6169 if (logs != null) {
6574 _json["logs"] = logs.map((value) => (value).toJson()).toList(); 6170 _json["logs"] = logs.map((value) => (value).toJson()).toList();
6575 } 6171 }
6576 if (metrics != null) { 6172 if (metrics != null) {
6577 _json["metrics"] = metrics.map((value) => (value).toJson()).toList(); 6173 _json["metrics"] = metrics.map((value) => (value).toJson()).toList();
6578 } 6174 }
6579 if (monitoredResources != null) { 6175 if (monitoredResources != null) {
6580 _json["monitoredResources"] = monitoredResources.map((value) => (value).to Json()).toList(); 6176 _json["monitoredResources"] =
6177 monitoredResources.map((value) => (value).toJson()).toList();
6581 } 6178 }
6582 if (monitoring != null) { 6179 if (monitoring != null) {
6583 _json["monitoring"] = (monitoring).toJson(); 6180 _json["monitoring"] = (monitoring).toJson();
6584 } 6181 }
6585 if (name != null) { 6182 if (name != null) {
6586 _json["name"] = name; 6183 _json["name"] = name;
6587 } 6184 }
6588 if (producerProjectId != null) { 6185 if (producerProjectId != null) {
6589 _json["producerProjectId"] = producerProjectId; 6186 _json["producerProjectId"] = producerProjectId;
6590 } 6187 }
6591 if (quota != null) { 6188 if (quota != null) {
6592 _json["quota"] = (quota).toJson(); 6189 _json["quota"] = (quota).toJson();
6593 } 6190 }
6594 if (sourceInfo != null) { 6191 if (sourceInfo != null) {
6595 _json["sourceInfo"] = (sourceInfo).toJson(); 6192 _json["sourceInfo"] = (sourceInfo).toJson();
6596 } 6193 }
6597 if (systemParameters != null) { 6194 if (systemParameters != null) {
6598 _json["systemParameters"] = (systemParameters).toJson(); 6195 _json["systemParameters"] = (systemParameters).toJson();
6599 } 6196 }
6600 if (systemTypes != null) { 6197 if (systemTypes != null) {
6601 _json["systemTypes"] = systemTypes.map((value) => (value).toJson()).toList (); 6198 _json["systemTypes"] =
6199 systemTypes.map((value) => (value).toJson()).toList();
6602 } 6200 }
6603 if (title != null) { 6201 if (title != null) {
6604 _json["title"] = title; 6202 _json["title"] = title;
6605 } 6203 }
6606 if (types != null) { 6204 if (types != null) {
6607 _json["types"] = types.map((value) => (value).toJson()).toList(); 6205 _json["types"] = types.map((value) => (value).toJson()).toList();
6608 } 6206 }
6609 if (usage != null) { 6207 if (usage != null) {
6610 _json["usage"] = (usage).toJson(); 6208 _json["usage"] = (usage).toJson();
6611 } 6209 }
6612 if (visibility != null) { 6210 if (visibility != null) {
6613 _json["visibility"] = (visibility).toJson(); 6211 _json["visibility"] = (visibility).toJson();
6614 } 6212 }
6615 return _json; 6213 return _json;
6616 } 6214 }
6617 } 6215 }
6618 6216
6619 /** Request message for `SetIamPolicy` method. */ 6217 /// Request message for `SetIamPolicy` method.
6620 class SetIamPolicyRequest { 6218 class SetIamPolicyRequest {
6621 /** 6219 /// REQUIRED: The complete policy to be applied to the `resource`. The size
6622 * REQUIRED: The complete policy to be applied to the `resource`. The size of 6220 /// of
6623 * the policy is limited to a few 10s of KB. An empty policy is a 6221 /// the policy is limited to a few 10s of KB. An empty policy is a
6624 * valid policy but certain Cloud Platform services (such as Projects) 6222 /// valid policy but certain Cloud Platform services (such as Projects)
6625 * might reject them. 6223 /// might reject them.
6626 */
6627 Policy policy; 6224 Policy policy;
6628 /** 6225
6629 * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only 6226 /// OPTIONAL: A FieldMask specifying which fields of the policy to modify.
6630 * the fields in the mask will be modified. If no mask is provided, the 6227 /// Only
6631 * following default mask is used: 6228 /// the fields in the mask will be modified. If no mask is provided, the
6632 * paths: "bindings, etag" 6229 /// following default mask is used:
6633 * This field is only used by Cloud IAM. 6230 /// paths: "bindings, etag"
6634 */ 6231 /// This field is only used by Cloud IAM.
6635 core.String updateMask; 6232 core.String updateMask;
6636 6233
6637 SetIamPolicyRequest(); 6234 SetIamPolicyRequest();
6638 6235
6639 SetIamPolicyRequest.fromJson(core.Map _json) { 6236 SetIamPolicyRequest.fromJson(core.Map _json) {
6640 if (_json.containsKey("policy")) { 6237 if (_json.containsKey("policy")) {
6641 policy = new Policy.fromJson(_json["policy"]); 6238 policy = new Policy.fromJson(_json["policy"]);
6642 } 6239 }
6643 if (_json.containsKey("updateMask")) { 6240 if (_json.containsKey("updateMask")) {
6644 updateMask = _json["updateMask"]; 6241 updateMask = _json["updateMask"];
6645 } 6242 }
6646 } 6243 }
6647 6244
6648 core.Map<core.String, core.Object> toJson() { 6245 core.Map<core.String, core.Object> toJson() {
6649 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6246 final core.Map<core.String, core.Object> _json =
6247 new core.Map<core.String, core.Object>();
6650 if (policy != null) { 6248 if (policy != null) {
6651 _json["policy"] = (policy).toJson(); 6249 _json["policy"] = (policy).toJson();
6652 } 6250 }
6653 if (updateMask != null) { 6251 if (updateMask != null) {
6654 _json["updateMask"] = updateMask; 6252 _json["updateMask"] = updateMask;
6655 } 6253 }
6656 return _json; 6254 return _json;
6657 } 6255 }
6658 } 6256 }
6659 6257
6660 /** 6258 /// `SourceContext` represents information about the source of a
6661 * `SourceContext` represents information about the source of a 6259 /// protobuf element, like the file in which it is defined.
6662 * protobuf element, like the file in which it is defined.
6663 */
6664 class SourceContext { 6260 class SourceContext {
6665 /** 6261 /// The path-qualified name of the .proto file that contained the associated
6666 * The path-qualified name of the .proto file that contained the associated 6262 /// protobuf element. For example: `"google/protobuf/source_context.proto"`.
6667 * protobuf element. For example: `"google/protobuf/source_context.proto"`.
6668 */
6669 core.String fileName; 6263 core.String fileName;
6670 6264
6671 SourceContext(); 6265 SourceContext();
6672 6266
6673 SourceContext.fromJson(core.Map _json) { 6267 SourceContext.fromJson(core.Map _json) {
6674 if (_json.containsKey("fileName")) { 6268 if (_json.containsKey("fileName")) {
6675 fileName = _json["fileName"]; 6269 fileName = _json["fileName"];
6676 } 6270 }
6677 } 6271 }
6678 6272
6679 core.Map<core.String, core.Object> toJson() { 6273 core.Map<core.String, core.Object> toJson() {
6680 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6274 final core.Map<core.String, core.Object> _json =
6275 new core.Map<core.String, core.Object>();
6681 if (fileName != null) { 6276 if (fileName != null) {
6682 _json["fileName"] = fileName; 6277 _json["fileName"] = fileName;
6683 } 6278 }
6684 return _json; 6279 return _json;
6685 } 6280 }
6686 } 6281 }
6687 6282
6688 /** Source information used to create a Service Config */ 6283 /// Source information used to create a Service Config
6689 class SourceInfo { 6284 class SourceInfo {
6690 /** 6285 /// All files used during config generation.
6691 * All files used during config generation. 6286 ///
6692 * 6287 /// The values for Object must be JSON objects. It can consist of `num`,
6693 * The values for Object must be JSON objects. It can consist of `num`, 6288 /// `String`, `bool` and `null` as well as `Map` and `List` values.
6694 * `String`, `bool` and `null` as well as `Map` and `List` values.
6695 */
6696 core.List<core.Map<core.String, core.Object>> sourceFiles; 6289 core.List<core.Map<core.String, core.Object>> sourceFiles;
6697 6290
6698 SourceInfo(); 6291 SourceInfo();
6699 6292
6700 SourceInfo.fromJson(core.Map _json) { 6293 SourceInfo.fromJson(core.Map _json) {
6701 if (_json.containsKey("sourceFiles")) { 6294 if (_json.containsKey("sourceFiles")) {
6702 sourceFiles = _json["sourceFiles"]; 6295 sourceFiles = _json["sourceFiles"];
6703 } 6296 }
6704 } 6297 }
6705 6298
6706 core.Map<core.String, core.Object> toJson() { 6299 core.Map<core.String, core.Object> toJson() {
6707 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6300 final core.Map<core.String, core.Object> _json =
6301 new core.Map<core.String, core.Object>();
6708 if (sourceFiles != null) { 6302 if (sourceFiles != null) {
6709 _json["sourceFiles"] = sourceFiles; 6303 _json["sourceFiles"] = sourceFiles;
6710 } 6304 }
6711 return _json; 6305 return _json;
6712 } 6306 }
6713 } 6307 }
6714 6308
6715 /** 6309 /// The `Status` type defines a logical error model that is suitable for
6716 * The `Status` type defines a logical error model that is suitable for 6310 /// different
6717 * different 6311 /// programming environments, including REST APIs and RPC APIs. It is used by
6718 * programming environments, including REST APIs and RPC APIs. It is used by 6312 /// [gRPC](https://github.com/grpc). The error model is designed to be:
6719 * [gRPC](https://github.com/grpc). The error model is designed to be: 6313 ///
6720 * 6314 /// - Simple to use and understand for most users
6721 * - Simple to use and understand for most users 6315 /// - Flexible enough to meet unexpected needs
6722 * - Flexible enough to meet unexpected needs 6316 ///
6723 * 6317 /// # Overview
6724 * # Overview 6318 ///
6725 * 6319 /// The `Status` message contains three pieces of data: error code, error
6726 * The `Status` message contains three pieces of data: error code, error 6320 /// message,
6727 * message, 6321 /// and error details. The error code should be an enum value of
6728 * and error details. The error code should be an enum value of 6322 /// google.rpc.Code, but it may accept additional error codes if needed. The
6729 * google.rpc.Code, but it may accept additional error codes if needed. The 6323 /// error message should be a developer-facing English message that helps
6730 * error message should be a developer-facing English message that helps 6324 /// developers *understand* and *resolve* the error. If a localized user-facing
6731 * developers *understand* and *resolve* the error. If a localized user-facing 6325 /// error message is needed, put the localized message in the error details or
6732 * error message is needed, put the localized message in the error details or 6326 /// localize it in the client. The optional error details may contain arbitrary
6733 * localize it in the client. The optional error details may contain arbitrary 6327 /// information about the error. There is a predefined set of error detail
6734 * information about the error. There is a predefined set of error detail types 6328 /// types
6735 * in the package `google.rpc` that can be used for common error conditions. 6329 /// in the package `google.rpc` that can be used for common error conditions.
6736 * 6330 ///
6737 * # Language mapping 6331 /// # Language mapping
6738 * 6332 ///
6739 * The `Status` message is the logical representation of the error model, but it 6333 /// The `Status` message is the logical representation of the error model, but
6740 * is not necessarily the actual wire format. When the `Status` message is 6334 /// it
6741 * exposed in different client libraries and different wire protocols, it can be 6335 /// is not necessarily the actual wire format. When the `Status` message is
6742 * mapped differently. For example, it will likely be mapped to some exceptions 6336 /// exposed in different client libraries and different wire protocols, it can
6743 * in Java, but more likely mapped to some error codes in C. 6337 /// be
6744 * 6338 /// mapped differently. For example, it will likely be mapped to some
6745 * # Other uses 6339 /// exceptions
6746 * 6340 /// in Java, but more likely mapped to some error codes in C.
6747 * The error model and the `Status` message can be used in a variety of 6341 ///
6748 * environments, either with or without APIs, to provide a 6342 /// # Other uses
6749 * consistent developer experience across different environments. 6343 ///
6750 * 6344 /// The error model and the `Status` message can be used in a variety of
6751 * Example uses of this error model include: 6345 /// environments, either with or without APIs, to provide a
6752 * 6346 /// consistent developer experience across different environments.
6753 * - Partial errors. If a service needs to return partial errors to the client, 6347 ///
6754 * it may embed the `Status` in the normal response to indicate the partial 6348 /// Example uses of this error model include:
6755 * errors. 6349 ///
6756 * 6350 /// - Partial errors. If a service needs to return partial errors to the
6757 * - Workflow errors. A typical workflow has multiple steps. Each step may 6351 /// client,
6758 * have a `Status` message for error reporting. 6352 /// it may embed the `Status` in the normal response to indicate the partial
6759 * 6353 /// errors.
6760 * - Batch operations. If a client uses batch request and batch response, the 6354 ///
6761 * `Status` message should be used directly inside batch response, one for 6355 /// - Workflow errors. A typical workflow has multiple steps. Each step may
6762 * each error sub-response. 6356 /// have a `Status` message for error reporting.
6763 * 6357 ///
6764 * - Asynchronous operations. If an API call embeds asynchronous operation 6358 /// - Batch operations. If a client uses batch request and batch response, the
6765 * results in its response, the status of those operations should be 6359 /// `Status` message should be used directly inside batch response, one for
6766 * represented directly using the `Status` message. 6360 /// each error sub-response.
6767 * 6361 ///
6768 * - Logging. If some API errors are stored in logs, the message `Status` could 6362 /// - Asynchronous operations. If an API call embeds asynchronous operation
6769 * be used directly after any stripping needed for security/privacy reasons. 6363 /// results in its response, the status of those operations should be
6770 */ 6364 /// represented directly using the `Status` message.
6365 ///
6366 /// - Logging. If some API errors are stored in logs, the message `Status`
6367 /// could
6368 /// be used directly after any stripping needed for security/privacy reasons.
6771 class Status { 6369 class Status {
6772 /** The status code, which should be an enum value of google.rpc.Code. */ 6370 /// The status code, which should be an enum value of google.rpc.Code.
6773 core.int code; 6371 core.int code;
6774 /** 6372
6775 * A list of messages that carry the error details. There is a common set of 6373 /// A list of messages that carry the error details. There is a common set
6776 * message types for APIs to use. 6374 /// of
6777 * 6375 /// message types for APIs to use.
6778 * The values for Object must be JSON objects. It can consist of `num`, 6376 ///
6779 * `String`, `bool` and `null` as well as `Map` and `List` values. 6377 /// The values for Object must be JSON objects. It can consist of `num`,
6780 */ 6378 /// `String`, `bool` and `null` as well as `Map` and `List` values.
6781 core.List<core.Map<core.String, core.Object>> details; 6379 core.List<core.Map<core.String, core.Object>> details;
6782 /** 6380
6783 * A developer-facing error message, which should be in English. Any 6381 /// A developer-facing error message, which should be in English. Any
6784 * user-facing error message should be localized and sent in the 6382 /// user-facing error message should be localized and sent in the
6785 * google.rpc.Status.details field, or localized by the client. 6383 /// google.rpc.Status.details field, or localized by the client.
6786 */
6787 core.String message; 6384 core.String message;
6788 6385
6789 Status(); 6386 Status();
6790 6387
6791 Status.fromJson(core.Map _json) { 6388 Status.fromJson(core.Map _json) {
6792 if (_json.containsKey("code")) { 6389 if (_json.containsKey("code")) {
6793 code = _json["code"]; 6390 code = _json["code"];
6794 } 6391 }
6795 if (_json.containsKey("details")) { 6392 if (_json.containsKey("details")) {
6796 details = _json["details"]; 6393 details = _json["details"];
6797 } 6394 }
6798 if (_json.containsKey("message")) { 6395 if (_json.containsKey("message")) {
6799 message = _json["message"]; 6396 message = _json["message"];
6800 } 6397 }
6801 } 6398 }
6802 6399
6803 core.Map<core.String, core.Object> toJson() { 6400 core.Map<core.String, core.Object> toJson() {
6804 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6401 final core.Map<core.String, core.Object> _json =
6402 new core.Map<core.String, core.Object>();
6805 if (code != null) { 6403 if (code != null) {
6806 _json["code"] = code; 6404 _json["code"] = code;
6807 } 6405 }
6808 if (details != null) { 6406 if (details != null) {
6809 _json["details"] = details; 6407 _json["details"] = details;
6810 } 6408 }
6811 if (message != null) { 6409 if (message != null) {
6812 _json["message"] = message; 6410 _json["message"] = message;
6813 } 6411 }
6814 return _json; 6412 return _json;
6815 } 6413 }
6816 } 6414 }
6817 6415
6818 /** Represents the status of one operation step. */ 6416 /// Represents the status of one operation step.
6819 class Step { 6417 class Step {
6820 /** The short description of the step. */ 6418 /// The short description of the step.
6821 core.String description; 6419 core.String description;
6822 /** 6420
6823 * The status code. 6421 /// The status code.
6824 * Possible string values are: 6422 /// Possible string values are:
6825 * - "STATUS_UNSPECIFIED" : Unspecifed code. 6423 /// - "STATUS_UNSPECIFIED" : Unspecifed code.
6826 * - "DONE" : The operation or step has completed without errors. 6424 /// - "DONE" : The operation or step has completed without errors.
6827 * - "NOT_STARTED" : The operation or step has not started yet. 6425 /// - "NOT_STARTED" : The operation or step has not started yet.
6828 * - "IN_PROGRESS" : The operation or step is in progress. 6426 /// - "IN_PROGRESS" : The operation or step is in progress.
6829 * - "FAILED" : The operation or step has completed with errors. If the 6427 /// - "FAILED" : The operation or step has completed with errors. If the
6830 * operation is 6428 /// operation is
6831 * rollbackable, the rollback completed with errors too. 6429 /// rollbackable, the rollback completed with errors too.
6832 * - "CANCELLED" : The operation or step has completed with cancellation. 6430 /// - "CANCELLED" : The operation or step has completed with cancellation.
6833 */
6834 core.String status; 6431 core.String status;
6835 6432
6836 Step(); 6433 Step();
6837 6434
6838 Step.fromJson(core.Map _json) { 6435 Step.fromJson(core.Map _json) {
6839 if (_json.containsKey("description")) { 6436 if (_json.containsKey("description")) {
6840 description = _json["description"]; 6437 description = _json["description"];
6841 } 6438 }
6842 if (_json.containsKey("status")) { 6439 if (_json.containsKey("status")) {
6843 status = _json["status"]; 6440 status = _json["status"];
6844 } 6441 }
6845 } 6442 }
6846 6443
6847 core.Map<core.String, core.Object> toJson() { 6444 core.Map<core.String, core.Object> toJson() {
6848 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6445 final core.Map<core.String, core.Object> _json =
6446 new core.Map<core.String, core.Object>();
6849 if (description != null) { 6447 if (description != null) {
6850 _json["description"] = description; 6448 _json["description"] = description;
6851 } 6449 }
6852 if (status != null) { 6450 if (status != null) {
6853 _json["status"] = status; 6451 _json["status"] = status;
6854 } 6452 }
6855 return _json; 6453 return _json;
6856 } 6454 }
6857 } 6455 }
6858 6456
6859 /** Request message for SubmitConfigSource method. */ 6457 /// Request message for SubmitConfigSource method.
6860 class SubmitConfigSourceRequest { 6458 class SubmitConfigSourceRequest {
6861 /** The source configuration for the service. */ 6459 /// The source configuration for the service.
6862 ConfigSource configSource; 6460 ConfigSource configSource;
6863 /** 6461
6864 * Optional. If set, this will result in the generation of a 6462 /// Optional. If set, this will result in the generation of a
6865 * `google.api.Service` configuration based on the `ConfigSource` provided, 6463 /// `google.api.Service` configuration based on the `ConfigSource` provided,
6866 * but the generated config and the sources will NOT be persisted. 6464 /// but the generated config and the sources will NOT be persisted.
6867 */
6868 core.bool validateOnly; 6465 core.bool validateOnly;
6869 6466
6870 SubmitConfigSourceRequest(); 6467 SubmitConfigSourceRequest();
6871 6468
6872 SubmitConfigSourceRequest.fromJson(core.Map _json) { 6469 SubmitConfigSourceRequest.fromJson(core.Map _json) {
6873 if (_json.containsKey("configSource")) { 6470 if (_json.containsKey("configSource")) {
6874 configSource = new ConfigSource.fromJson(_json["configSource"]); 6471 configSource = new ConfigSource.fromJson(_json["configSource"]);
6875 } 6472 }
6876 if (_json.containsKey("validateOnly")) { 6473 if (_json.containsKey("validateOnly")) {
6877 validateOnly = _json["validateOnly"]; 6474 validateOnly = _json["validateOnly"];
6878 } 6475 }
6879 } 6476 }
6880 6477
6881 core.Map<core.String, core.Object> toJson() { 6478 core.Map<core.String, core.Object> toJson() {
6882 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6479 final core.Map<core.String, core.Object> _json =
6480 new core.Map<core.String, core.Object>();
6883 if (configSource != null) { 6481 if (configSource != null) {
6884 _json["configSource"] = (configSource).toJson(); 6482 _json["configSource"] = (configSource).toJson();
6885 } 6483 }
6886 if (validateOnly != null) { 6484 if (validateOnly != null) {
6887 _json["validateOnly"] = validateOnly; 6485 _json["validateOnly"] = validateOnly;
6888 } 6486 }
6889 return _json; 6487 return _json;
6890 } 6488 }
6891 } 6489 }
6892 6490
6893 /** Response message for SubmitConfigSource method. */ 6491 /// Response message for SubmitConfigSource method.
6894 class SubmitConfigSourceResponse { 6492 class SubmitConfigSourceResponse {
6895 /** The generated service configuration. */ 6493 /// The generated service configuration.
6896 Service serviceConfig; 6494 Service serviceConfig;
6897 6495
6898 SubmitConfigSourceResponse(); 6496 SubmitConfigSourceResponse();
6899 6497
6900 SubmitConfigSourceResponse.fromJson(core.Map _json) { 6498 SubmitConfigSourceResponse.fromJson(core.Map _json) {
6901 if (_json.containsKey("serviceConfig")) { 6499 if (_json.containsKey("serviceConfig")) {
6902 serviceConfig = new Service.fromJson(_json["serviceConfig"]); 6500 serviceConfig = new Service.fromJson(_json["serviceConfig"]);
6903 } 6501 }
6904 } 6502 }
6905 6503
6906 core.Map<core.String, core.Object> toJson() { 6504 core.Map<core.String, core.Object> toJson() {
6907 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6505 final core.Map<core.String, core.Object> _json =
6506 new core.Map<core.String, core.Object>();
6908 if (serviceConfig != null) { 6507 if (serviceConfig != null) {
6909 _json["serviceConfig"] = (serviceConfig).toJson(); 6508 _json["serviceConfig"] = (serviceConfig).toJson();
6910 } 6509 }
6911 return _json; 6510 return _json;
6912 } 6511 }
6913 } 6512 }
6914 6513
6915 /** 6514 /// Define a parameter's name and location. The parameter may be passed as
6916 * Define a parameter's name and location. The parameter may be passed as either 6515 /// either
6917 * an HTTP header or a URL query parameter, and if both are passed the behavior 6516 /// an HTTP header or a URL query parameter, and if both are passed the
6918 * is implementation-dependent. 6517 /// behavior
6919 */ 6518 /// is implementation-dependent.
6920 class SystemParameter { 6519 class SystemParameter {
6921 /** 6520 /// Define the HTTP header name to use for the parameter. It is case
6922 * Define the HTTP header name to use for the parameter. It is case 6521 /// insensitive.
6923 * insensitive.
6924 */
6925 core.String httpHeader; 6522 core.String httpHeader;
6926 /** 6523
6927 * Define the name of the parameter, such as "api_key" . It is case sensitive. 6524 /// Define the name of the parameter, such as "api_key" . It is case
6928 */ 6525 /// sensitive.
6929 core.String name; 6526 core.String name;
6930 /** 6527
6931 * Define the URL query parameter name to use for the parameter. It is case 6528 /// Define the URL query parameter name to use for the parameter. It is case
6932 * sensitive. 6529 /// sensitive.
6933 */
6934 core.String urlQueryParameter; 6530 core.String urlQueryParameter;
6935 6531
6936 SystemParameter(); 6532 SystemParameter();
6937 6533
6938 SystemParameter.fromJson(core.Map _json) { 6534 SystemParameter.fromJson(core.Map _json) {
6939 if (_json.containsKey("httpHeader")) { 6535 if (_json.containsKey("httpHeader")) {
6940 httpHeader = _json["httpHeader"]; 6536 httpHeader = _json["httpHeader"];
6941 } 6537 }
6942 if (_json.containsKey("name")) { 6538 if (_json.containsKey("name")) {
6943 name = _json["name"]; 6539 name = _json["name"];
6944 } 6540 }
6945 if (_json.containsKey("urlQueryParameter")) { 6541 if (_json.containsKey("urlQueryParameter")) {
6946 urlQueryParameter = _json["urlQueryParameter"]; 6542 urlQueryParameter = _json["urlQueryParameter"];
6947 } 6543 }
6948 } 6544 }
6949 6545
6950 core.Map<core.String, core.Object> toJson() { 6546 core.Map<core.String, core.Object> toJson() {
6951 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6547 final core.Map<core.String, core.Object> _json =
6548 new core.Map<core.String, core.Object>();
6952 if (httpHeader != null) { 6549 if (httpHeader != null) {
6953 _json["httpHeader"] = httpHeader; 6550 _json["httpHeader"] = httpHeader;
6954 } 6551 }
6955 if (name != null) { 6552 if (name != null) {
6956 _json["name"] = name; 6553 _json["name"] = name;
6957 } 6554 }
6958 if (urlQueryParameter != null) { 6555 if (urlQueryParameter != null) {
6959 _json["urlQueryParameter"] = urlQueryParameter; 6556 _json["urlQueryParameter"] = urlQueryParameter;
6960 } 6557 }
6961 return _json; 6558 return _json;
6962 } 6559 }
6963 } 6560 }
6964 6561
6965 /** 6562 /// Define a system parameter rule mapping system parameter definitions to
6966 * Define a system parameter rule mapping system parameter definitions to 6563 /// methods.
6967 * methods.
6968 */
6969 class SystemParameterRule { 6564 class SystemParameterRule {
6970 /** 6565 /// Define parameters. Multiple names may be defined for a parameter.
6971 * Define parameters. Multiple names may be defined for a parameter. 6566 /// For a given method call, only one of them should be used. If multiple
6972 * For a given method call, only one of them should be used. If multiple 6567 /// names are used the behavior is implementation-dependent.
6973 * names are used the behavior is implementation-dependent. 6568 /// If none of the specified names are present the behavior is
6974 * If none of the specified names are present the behavior is 6569 /// parameter-dependent.
6975 * parameter-dependent.
6976 */
6977 core.List<SystemParameter> parameters; 6570 core.List<SystemParameter> parameters;
6978 /** 6571
6979 * Selects the methods to which this rule applies. Use '*' to indicate all 6572 /// Selects the methods to which this rule applies. Use '*' to indicate all
6980 * methods in all APIs. 6573 /// methods in all APIs.
6981 * 6574 ///
6982 * Refer to selector for syntax details. 6575 /// Refer to selector for syntax details.
6983 */
6984 core.String selector; 6576 core.String selector;
6985 6577
6986 SystemParameterRule(); 6578 SystemParameterRule();
6987 6579
6988 SystemParameterRule.fromJson(core.Map _json) { 6580 SystemParameterRule.fromJson(core.Map _json) {
6989 if (_json.containsKey("parameters")) { 6581 if (_json.containsKey("parameters")) {
6990 parameters = _json["parameters"].map((value) => new SystemParameter.fromJs on(value)).toList(); 6582 parameters = _json["parameters"]
6583 .map((value) => new SystemParameter.fromJson(value))
6584 .toList();
6991 } 6585 }
6992 if (_json.containsKey("selector")) { 6586 if (_json.containsKey("selector")) {
6993 selector = _json["selector"]; 6587 selector = _json["selector"];
6994 } 6588 }
6995 } 6589 }
6996 6590
6997 core.Map<core.String, core.Object> toJson() { 6591 core.Map<core.String, core.Object> toJson() {
6998 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6592 final core.Map<core.String, core.Object> _json =
6593 new core.Map<core.String, core.Object>();
6999 if (parameters != null) { 6594 if (parameters != null) {
7000 _json["parameters"] = parameters.map((value) => (value).toJson()).toList() ; 6595 _json["parameters"] =
6596 parameters.map((value) => (value).toJson()).toList();
7001 } 6597 }
7002 if (selector != null) { 6598 if (selector != null) {
7003 _json["selector"] = selector; 6599 _json["selector"] = selector;
7004 } 6600 }
7005 return _json; 6601 return _json;
7006 } 6602 }
7007 } 6603 }
7008 6604
7009 /** 6605 /// ### System parameter configuration
7010 * ### System parameter configuration 6606 ///
7011 * 6607 /// A system parameter is a special kind of parameter defined by the API
7012 * A system parameter is a special kind of parameter defined by the API 6608 /// system, not by an individual API. It is typically mapped to an HTTP header
7013 * system, not by an individual API. It is typically mapped to an HTTP header 6609 /// and/or a URL query parameter. This configuration specifies which methods
7014 * and/or a URL query parameter. This configuration specifies which methods 6610 /// change the names of the system parameters.
7015 * change the names of the system parameters.
7016 */
7017 class SystemParameters { 6611 class SystemParameters {
7018 /** 6612 /// Define system parameters.
7019 * Define system parameters. 6613 ///
7020 * 6614 /// The parameters defined here will override the default parameters
7021 * The parameters defined here will override the default parameters 6615 /// implemented by the system. If this field is missing from the service
7022 * implemented by the system. If this field is missing from the service 6616 /// config, default system parameters will be used. Default system parameters
7023 * config, default system parameters will be used. Default system parameters 6617 /// and names is implementation-dependent.
7024 * and names is implementation-dependent. 6618 ///
7025 * 6619 /// Example: define api key for all methods
7026 * Example: define api key for all methods 6620 ///
7027 * 6621 /// system_parameters
7028 * system_parameters 6622 /// rules:
7029 * rules: 6623 /// - selector: "*"
7030 * - selector: "*" 6624 /// parameters:
7031 * parameters: 6625 /// - name: api_key
7032 * - name: api_key 6626 /// url_query_parameter: api_key
7033 * url_query_parameter: api_key 6627 ///
7034 * 6628 ///
7035 * 6629 /// Example: define 2 api key names for a specific method.
7036 * Example: define 2 api key names for a specific method. 6630 ///
7037 * 6631 /// system_parameters
7038 * system_parameters 6632 /// rules:
7039 * rules: 6633 /// - selector: "/ListShelves"
7040 * - selector: "/ListShelves" 6634 /// parameters:
7041 * parameters: 6635 /// - name: api_key
7042 * - name: api_key 6636 /// http_header: Api-Key1
7043 * http_header: Api-Key1 6637 /// - name: api_key
7044 * - name: api_key 6638 /// http_header: Api-Key2
7045 * http_header: Api-Key2 6639 ///
7046 * 6640 /// **NOTE:** All service configuration rules follow "last one wins" order.
7047 * **NOTE:** All service configuration rules follow "last one wins" order.
7048 */
7049 core.List<SystemParameterRule> rules; 6641 core.List<SystemParameterRule> rules;
7050 6642
7051 SystemParameters(); 6643 SystemParameters();
7052 6644
7053 SystemParameters.fromJson(core.Map _json) { 6645 SystemParameters.fromJson(core.Map _json) {
7054 if (_json.containsKey("rules")) { 6646 if (_json.containsKey("rules")) {
7055 rules = _json["rules"].map((value) => new SystemParameterRule.fromJson(val ue)).toList(); 6647 rules = _json["rules"]
6648 .map((value) => new SystemParameterRule.fromJson(value))
6649 .toList();
7056 } 6650 }
7057 } 6651 }
7058 6652
7059 core.Map<core.String, core.Object> toJson() { 6653 core.Map<core.String, core.Object> toJson() {
7060 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6654 final core.Map<core.String, core.Object> _json =
6655 new core.Map<core.String, core.Object>();
7061 if (rules != null) { 6656 if (rules != null) {
7062 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 6657 _json["rules"] = rules.map((value) => (value).toJson()).toList();
7063 } 6658 }
7064 return _json; 6659 return _json;
7065 } 6660 }
7066 } 6661 }
7067 6662
7068 /** Request message for `TestIamPermissions` method. */ 6663 /// Request message for `TestIamPermissions` method.
7069 class TestIamPermissionsRequest { 6664 class TestIamPermissionsRequest {
7070 /** 6665 /// The set of permissions to check for the `resource`. Permissions with
7071 * The set of permissions to check for the `resource`. Permissions with 6666 /// wildcards (such as '*' or 'storage.*') are not allowed. For more
7072 * wildcards (such as '*' or 'storage.*') are not allowed. For more 6667 /// information see
7073 * information see 6668 /// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
7074 * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
7075 */
7076 core.List<core.String> permissions; 6669 core.List<core.String> permissions;
7077 6670
7078 TestIamPermissionsRequest(); 6671 TestIamPermissionsRequest();
7079 6672
7080 TestIamPermissionsRequest.fromJson(core.Map _json) { 6673 TestIamPermissionsRequest.fromJson(core.Map _json) {
7081 if (_json.containsKey("permissions")) { 6674 if (_json.containsKey("permissions")) {
7082 permissions = _json["permissions"]; 6675 permissions = _json["permissions"];
7083 } 6676 }
7084 } 6677 }
7085 6678
7086 core.Map<core.String, core.Object> toJson() { 6679 core.Map<core.String, core.Object> toJson() {
7087 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6680 final core.Map<core.String, core.Object> _json =
6681 new core.Map<core.String, core.Object>();
7088 if (permissions != null) { 6682 if (permissions != null) {
7089 _json["permissions"] = permissions; 6683 _json["permissions"] = permissions;
7090 } 6684 }
7091 return _json; 6685 return _json;
7092 } 6686 }
7093 } 6687 }
7094 6688
7095 /** Response message for `TestIamPermissions` method. */ 6689 /// Response message for `TestIamPermissions` method.
7096 class TestIamPermissionsResponse { 6690 class TestIamPermissionsResponse {
7097 /** 6691 /// A subset of `TestPermissionsRequest.permissions` that the caller is
7098 * A subset of `TestPermissionsRequest.permissions` that the caller is 6692 /// allowed.
7099 * allowed.
7100 */
7101 core.List<core.String> permissions; 6693 core.List<core.String> permissions;
7102 6694
7103 TestIamPermissionsResponse(); 6695 TestIamPermissionsResponse();
7104 6696
7105 TestIamPermissionsResponse.fromJson(core.Map _json) { 6697 TestIamPermissionsResponse.fromJson(core.Map _json) {
7106 if (_json.containsKey("permissions")) { 6698 if (_json.containsKey("permissions")) {
7107 permissions = _json["permissions"]; 6699 permissions = _json["permissions"];
7108 } 6700 }
7109 } 6701 }
7110 6702
7111 core.Map<core.String, core.Object> toJson() { 6703 core.Map<core.String, core.Object> toJson() {
7112 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6704 final core.Map<core.String, core.Object> _json =
6705 new core.Map<core.String, core.Object>();
7113 if (permissions != null) { 6706 if (permissions != null) {
7114 _json["permissions"] = permissions; 6707 _json["permissions"] = permissions;
7115 } 6708 }
7116 return _json; 6709 return _json;
7117 } 6710 }
7118 } 6711 }
7119 6712
7120 /** 6713 /// Strategy that specifies how clients of Google Service Controller want to
7121 * Strategy that specifies how clients of Google Service Controller want to 6714 /// send traffic to use different config versions. This is generally
7122 * send traffic to use different config versions. This is generally 6715 /// used by API proxy to split traffic based on your configured precentage for
7123 * used by API proxy to split traffic based on your configured precentage for 6716 /// each config version.
7124 * each config version. 6717 ///
7125 * 6718 /// One example of how to gradually rollout a new service configuration using
7126 * One example of how to gradually rollout a new service configuration using 6719 /// this
7127 * this 6720 /// strategy:
7128 * strategy: 6721 /// Day 1
7129 * Day 1 6722 ///
7130 * 6723 /// Rollout {
7131 * Rollout { 6724 /// id: "example.googleapis.com/rollout_20160206"
7132 * id: "example.googleapis.com/rollout_20160206" 6725 /// traffic_percent_strategy {
7133 * traffic_percent_strategy { 6726 /// percentages: {
7134 * percentages: { 6727 /// "example.googleapis.com/20160201": 70.00
7135 * "example.googleapis.com/20160201": 70.00 6728 /// "example.googleapis.com/20160206": 30.00
7136 * "example.googleapis.com/20160206": 30.00 6729 /// }
7137 * } 6730 /// }
7138 * } 6731 /// }
7139 * } 6732 ///
7140 * 6733 /// Day 2
7141 * Day 2 6734 ///
7142 * 6735 /// Rollout {
7143 * Rollout { 6736 /// id: "example.googleapis.com/rollout_20160207"
7144 * id: "example.googleapis.com/rollout_20160207" 6737 /// traffic_percent_strategy: {
7145 * traffic_percent_strategy: { 6738 /// percentages: {
7146 * percentages: { 6739 /// "example.googleapis.com/20160206": 100.00
7147 * "example.googleapis.com/20160206": 100.00 6740 /// }
7148 * } 6741 /// }
7149 * } 6742 /// }
7150 * }
7151 */
7152 class TrafficPercentStrategy { 6743 class TrafficPercentStrategy {
7153 /** 6744 /// Maps service configuration IDs to their corresponding traffic percentage.
7154 * Maps service configuration IDs to their corresponding traffic percentage. 6745 /// Key is the service configuration ID, Value is the traffic percentage
7155 * Key is the service configuration ID, Value is the traffic percentage 6746 /// which must be greater than 0.0 and the sum must equal to 100.0.
7156 * which must be greater than 0.0 and the sum must equal to 100.0.
7157 */
7158 core.Map<core.String, core.double> percentages; 6747 core.Map<core.String, core.double> percentages;
7159 6748
7160 TrafficPercentStrategy(); 6749 TrafficPercentStrategy();
7161 6750
7162 TrafficPercentStrategy.fromJson(core.Map _json) { 6751 TrafficPercentStrategy.fromJson(core.Map _json) {
7163 if (_json.containsKey("percentages")) { 6752 if (_json.containsKey("percentages")) {
7164 percentages = _json["percentages"]; 6753 percentages = _json["percentages"];
7165 } 6754 }
7166 } 6755 }
7167 6756
7168 core.Map<core.String, core.Object> toJson() { 6757 core.Map<core.String, core.Object> toJson() {
7169 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6758 final core.Map<core.String, core.Object> _json =
6759 new core.Map<core.String, core.Object>();
7170 if (percentages != null) { 6760 if (percentages != null) {
7171 _json["percentages"] = percentages; 6761 _json["percentages"] = percentages;
7172 } 6762 }
7173 return _json; 6763 return _json;
7174 } 6764 }
7175 } 6765 }
7176 6766
7177 /** A protocol buffer message type. */ 6767 /// A protocol buffer message type.
7178 class Type { 6768 class Type {
7179 /** The list of fields. */ 6769 /// The list of fields.
7180 core.List<Field> fields; 6770 core.List<Field> fields;
7181 /** The fully qualified message name. */ 6771
6772 /// The fully qualified message name.
7182 core.String name; 6773 core.String name;
7183 /** The list of types appearing in `oneof` definitions in this type. */ 6774
6775 /// The list of types appearing in `oneof` definitions in this type.
7184 core.List<core.String> oneofs; 6776 core.List<core.String> oneofs;
7185 /** The protocol buffer options. */ 6777
6778 /// The protocol buffer options.
7186 core.List<Option> options; 6779 core.List<Option> options;
7187 /** The source context. */ 6780
6781 /// The source context.
7188 SourceContext sourceContext; 6782 SourceContext sourceContext;
7189 /** 6783
7190 * The source syntax. 6784 /// The source syntax.
7191 * Possible string values are: 6785 /// Possible string values are:
7192 * - "SYNTAX_PROTO2" : Syntax `proto2`. 6786 /// - "SYNTAX_PROTO2" : Syntax `proto2`.
7193 * - "SYNTAX_PROTO3" : Syntax `proto3`. 6787 /// - "SYNTAX_PROTO3" : Syntax `proto3`.
7194 */
7195 core.String syntax; 6788 core.String syntax;
7196 6789
7197 Type(); 6790 Type();
7198 6791
7199 Type.fromJson(core.Map _json) { 6792 Type.fromJson(core.Map _json) {
7200 if (_json.containsKey("fields")) { 6793 if (_json.containsKey("fields")) {
7201 fields = _json["fields"].map((value) => new Field.fromJson(value)).toList( ); 6794 fields =
6795 _json["fields"].map((value) => new Field.fromJson(value)).toList();
7202 } 6796 }
7203 if (_json.containsKey("name")) { 6797 if (_json.containsKey("name")) {
7204 name = _json["name"]; 6798 name = _json["name"];
7205 } 6799 }
7206 if (_json.containsKey("oneofs")) { 6800 if (_json.containsKey("oneofs")) {
7207 oneofs = _json["oneofs"]; 6801 oneofs = _json["oneofs"];
7208 } 6802 }
7209 if (_json.containsKey("options")) { 6803 if (_json.containsKey("options")) {
7210 options = _json["options"].map((value) => new Option.fromJson(value)).toLi st(); 6804 options =
6805 _json["options"].map((value) => new Option.fromJson(value)).toList();
7211 } 6806 }
7212 if (_json.containsKey("sourceContext")) { 6807 if (_json.containsKey("sourceContext")) {
7213 sourceContext = new SourceContext.fromJson(_json["sourceContext"]); 6808 sourceContext = new SourceContext.fromJson(_json["sourceContext"]);
7214 } 6809 }
7215 if (_json.containsKey("syntax")) { 6810 if (_json.containsKey("syntax")) {
7216 syntax = _json["syntax"]; 6811 syntax = _json["syntax"];
7217 } 6812 }
7218 } 6813 }
7219 6814
7220 core.Map<core.String, core.Object> toJson() { 6815 core.Map<core.String, core.Object> toJson() {
7221 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6816 final core.Map<core.String, core.Object> _json =
6817 new core.Map<core.String, core.Object>();
7222 if (fields != null) { 6818 if (fields != null) {
7223 _json["fields"] = fields.map((value) => (value).toJson()).toList(); 6819 _json["fields"] = fields.map((value) => (value).toJson()).toList();
7224 } 6820 }
7225 if (name != null) { 6821 if (name != null) {
7226 _json["name"] = name; 6822 _json["name"] = name;
7227 } 6823 }
7228 if (oneofs != null) { 6824 if (oneofs != null) {
7229 _json["oneofs"] = oneofs; 6825 _json["oneofs"] = oneofs;
7230 } 6826 }
7231 if (options != null) { 6827 if (options != null) {
7232 _json["options"] = options.map((value) => (value).toJson()).toList(); 6828 _json["options"] = options.map((value) => (value).toJson()).toList();
7233 } 6829 }
7234 if (sourceContext != null) { 6830 if (sourceContext != null) {
7235 _json["sourceContext"] = (sourceContext).toJson(); 6831 _json["sourceContext"] = (sourceContext).toJson();
7236 } 6832 }
7237 if (syntax != null) { 6833 if (syntax != null) {
7238 _json["syntax"] = syntax; 6834 _json["syntax"] = syntax;
7239 } 6835 }
7240 return _json; 6836 return _json;
7241 } 6837 }
7242 } 6838 }
7243 6839
7244 /** Response message for UndeleteService method. */ 6840 /// Response message for UndeleteService method.
7245 class UndeleteServiceResponse { 6841 class UndeleteServiceResponse {
7246 /** Revived service resource. */ 6842 /// Revived service resource.
7247 ManagedService service; 6843 ManagedService service;
7248 6844
7249 UndeleteServiceResponse(); 6845 UndeleteServiceResponse();
7250 6846
7251 UndeleteServiceResponse.fromJson(core.Map _json) { 6847 UndeleteServiceResponse.fromJson(core.Map _json) {
7252 if (_json.containsKey("service")) { 6848 if (_json.containsKey("service")) {
7253 service = new ManagedService.fromJson(_json["service"]); 6849 service = new ManagedService.fromJson(_json["service"]);
7254 } 6850 }
7255 } 6851 }
7256 6852
7257 core.Map<core.String, core.Object> toJson() { 6853 core.Map<core.String, core.Object> toJson() {
7258 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6854 final core.Map<core.String, core.Object> _json =
6855 new core.Map<core.String, core.Object>();
7259 if (service != null) { 6856 if (service != null) {
7260 _json["service"] = (service).toJson(); 6857 _json["service"] = (service).toJson();
7261 } 6858 }
7262 return _json; 6859 return _json;
7263 } 6860 }
7264 } 6861 }
7265 6862
7266 /** Configuration controlling usage of a service. */ 6863 /// Configuration controlling usage of a service.
7267 class Usage { 6864 class Usage {
7268 /** 6865 /// The full resource name of a channel used for sending notifications to the
7269 * The full resource name of a channel used for sending notifications to the 6866 /// service producer.
7270 * service producer. 6867 ///
7271 * 6868 /// Google Service Management currently only supports
7272 * Google Service Management currently only supports 6869 /// [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
7273 * [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification 6870 /// channel. To use Google Cloud Pub/Sub as the channel, this must be the
7274 * channel. To use Google Cloud Pub/Sub as the channel, this must be the name 6871 /// name
7275 * of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format 6872 /// of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
7276 * documented in https://cloud.google.com/pubsub/docs/overview. 6873 /// documented in https://cloud.google.com/pubsub/docs/overview.
7277 */
7278 core.String producerNotificationChannel; 6874 core.String producerNotificationChannel;
7279 /** 6875
7280 * Requirements that must be satisfied before a consumer project can use the 6876 /// Requirements that must be satisfied before a consumer project can use the
7281 * service. Each requirement is of the form <service.name>/<requirement-id>; 6877 /// service. Each requirement is of the form <service.name>/<requirement-id>;
7282 * for example 'serviceusage.googleapis.com/billing-enabled'. 6878 /// for example 'serviceusage.googleapis.com/billing-enabled'.
7283 */
7284 core.List<core.String> requirements; 6879 core.List<core.String> requirements;
7285 /** 6880
7286 * A list of usage rules that apply to individual API methods. 6881 /// A list of usage rules that apply to individual API methods.
7287 * 6882 ///
7288 * **NOTE:** All service configuration rules follow "last one wins" order. 6883 /// **NOTE:** All service configuration rules follow "last one wins" order.
7289 */
7290 core.List<UsageRule> rules; 6884 core.List<UsageRule> rules;
7291 6885
7292 Usage(); 6886 Usage();
7293 6887
7294 Usage.fromJson(core.Map _json) { 6888 Usage.fromJson(core.Map _json) {
7295 if (_json.containsKey("producerNotificationChannel")) { 6889 if (_json.containsKey("producerNotificationChannel")) {
7296 producerNotificationChannel = _json["producerNotificationChannel"]; 6890 producerNotificationChannel = _json["producerNotificationChannel"];
7297 } 6891 }
7298 if (_json.containsKey("requirements")) { 6892 if (_json.containsKey("requirements")) {
7299 requirements = _json["requirements"]; 6893 requirements = _json["requirements"];
7300 } 6894 }
7301 if (_json.containsKey("rules")) { 6895 if (_json.containsKey("rules")) {
7302 rules = _json["rules"].map((value) => new UsageRule.fromJson(value)).toLis t(); 6896 rules =
6897 _json["rules"].map((value) => new UsageRule.fromJson(value)).toList();
7303 } 6898 }
7304 } 6899 }
7305 6900
7306 core.Map<core.String, core.Object> toJson() { 6901 core.Map<core.String, core.Object> toJson() {
7307 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6902 final core.Map<core.String, core.Object> _json =
6903 new core.Map<core.String, core.Object>();
7308 if (producerNotificationChannel != null) { 6904 if (producerNotificationChannel != null) {
7309 _json["producerNotificationChannel"] = producerNotificationChannel; 6905 _json["producerNotificationChannel"] = producerNotificationChannel;
7310 } 6906 }
7311 if (requirements != null) { 6907 if (requirements != null) {
7312 _json["requirements"] = requirements; 6908 _json["requirements"] = requirements;
7313 } 6909 }
7314 if (rules != null) { 6910 if (rules != null) {
7315 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 6911 _json["rules"] = rules.map((value) => (value).toJson()).toList();
7316 } 6912 }
7317 return _json; 6913 return _json;
7318 } 6914 }
7319 } 6915 }
7320 6916
7321 /** 6917 /// Usage configuration rules for the service.
7322 * Usage configuration rules for the service. 6918 ///
7323 * 6919 /// NOTE: Under development.
7324 * NOTE: Under development. 6920 ///
7325 * 6921 ///
7326 * 6922 /// Use this rule to configure unregistered calls for the service. Unregistered
7327 * Use this rule to configure unregistered calls for the service. Unregistered 6923 /// calls are calls that do not contain consumer project identity.
7328 * calls are calls that do not contain consumer project identity. 6924 /// (Example: calls that do not contain an API key).
7329 * (Example: calls that do not contain an API key). 6925 /// By default, API methods do not allow unregistered calls, and each method
7330 * By default, API methods do not allow unregistered calls, and each method call 6926 /// call
7331 * must be identified by a consumer project identity. Use this rule to 6927 /// must be identified by a consumer project identity. Use this rule to
7332 * allow/disallow unregistered calls. 6928 /// allow/disallow unregistered calls.
7333 * 6929 ///
7334 * Example of an API that wants to allow unregistered calls for entire service. 6930 /// Example of an API that wants to allow unregistered calls for entire
7335 * 6931 /// service.
7336 * usage: 6932 ///
7337 * rules: 6933 /// usage:
7338 * - selector: "*" 6934 /// rules:
7339 * allow_unregistered_calls: true 6935 /// - selector: "*"
7340 * 6936 /// allow_unregistered_calls: true
7341 * Example of a method that wants to allow unregistered calls. 6937 ///
7342 * 6938 /// Example of a method that wants to allow unregistered calls.
7343 * usage: 6939 ///
7344 * rules: 6940 /// usage:
7345 * - selector: "google.example.library.v1.LibraryService.CreateBook" 6941 /// rules:
7346 * allow_unregistered_calls: true 6942 /// - selector: "google.example.library.v1.LibraryService.CreateBook"
7347 */ 6943 /// allow_unregistered_calls: true
7348 class UsageRule { 6944 class UsageRule {
7349 /** True, if the method allows unregistered calls; false otherwise. */ 6945 /// True, if the method allows unregistered calls; false otherwise.
7350 core.bool allowUnregisteredCalls; 6946 core.bool allowUnregisteredCalls;
7351 /** 6947
7352 * Selects the methods to which this rule applies. Use '*' to indicate all 6948 /// Selects the methods to which this rule applies. Use '*' to indicate all
7353 * methods in all APIs. 6949 /// methods in all APIs.
7354 * 6950 ///
7355 * Refer to selector for syntax details. 6951 /// Refer to selector for syntax details.
7356 */
7357 core.String selector; 6952 core.String selector;
7358 /** 6953
7359 * True, if the method should skip service control. If so, no control plane 6954 /// True, if the method should skip service control. If so, no control plane
7360 * feature (like quota and billing) will be enabled. 6955 /// feature (like quota and billing) will be enabled.
7361 */
7362 core.bool skipServiceControl; 6956 core.bool skipServiceControl;
7363 6957
7364 UsageRule(); 6958 UsageRule();
7365 6959
7366 UsageRule.fromJson(core.Map _json) { 6960 UsageRule.fromJson(core.Map _json) {
7367 if (_json.containsKey("allowUnregisteredCalls")) { 6961 if (_json.containsKey("allowUnregisteredCalls")) {
7368 allowUnregisteredCalls = _json["allowUnregisteredCalls"]; 6962 allowUnregisteredCalls = _json["allowUnregisteredCalls"];
7369 } 6963 }
7370 if (_json.containsKey("selector")) { 6964 if (_json.containsKey("selector")) {
7371 selector = _json["selector"]; 6965 selector = _json["selector"];
7372 } 6966 }
7373 if (_json.containsKey("skipServiceControl")) { 6967 if (_json.containsKey("skipServiceControl")) {
7374 skipServiceControl = _json["skipServiceControl"]; 6968 skipServiceControl = _json["skipServiceControl"];
7375 } 6969 }
7376 } 6970 }
7377 6971
7378 core.Map<core.String, core.Object> toJson() { 6972 core.Map<core.String, core.Object> toJson() {
7379 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 6973 final core.Map<core.String, core.Object> _json =
6974 new core.Map<core.String, core.Object>();
7380 if (allowUnregisteredCalls != null) { 6975 if (allowUnregisteredCalls != null) {
7381 _json["allowUnregisteredCalls"] = allowUnregisteredCalls; 6976 _json["allowUnregisteredCalls"] = allowUnregisteredCalls;
7382 } 6977 }
7383 if (selector != null) { 6978 if (selector != null) {
7384 _json["selector"] = selector; 6979 _json["selector"] = selector;
7385 } 6980 }
7386 if (skipServiceControl != null) { 6981 if (skipServiceControl != null) {
7387 _json["skipServiceControl"] = skipServiceControl; 6982 _json["skipServiceControl"] = skipServiceControl;
7388 } 6983 }
7389 return _json; 6984 return _json;
7390 } 6985 }
7391 } 6986 }
7392 6987
7393 /** 6988 /// `Visibility` defines restrictions for the visibility of service
7394 * `Visibility` defines restrictions for the visibility of service 6989 /// elements. Restrictions are specified using visibility labels
7395 * elements. Restrictions are specified using visibility labels 6990 /// (e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects.
7396 * (e.g., TRUSTED_TESTER) that are elsewhere linked to users and projects. 6991 ///
7397 * 6992 /// Users and projects can have access to more than one visibility label. The
7398 * Users and projects can have access to more than one visibility label. The 6993 /// effective visibility for multiple labels is the union of each label's
7399 * effective visibility for multiple labels is the union of each label's 6994 /// elements, plus any unrestricted elements.
7400 * elements, plus any unrestricted elements. 6995 ///
7401 * 6996 /// If an element and its parents have no restrictions, visibility is
7402 * If an element and its parents have no restrictions, visibility is 6997 /// unconditionally granted.
7403 * unconditionally granted. 6998 ///
7404 * 6999 /// Example:
7405 * Example: 7000 ///
7406 * 7001 /// visibility:
7407 * visibility: 7002 /// rules:
7408 * rules: 7003 /// - selector: google.calendar.Calendar.EnhancedSearch
7409 * - selector: google.calendar.Calendar.EnhancedSearch 7004 /// restriction: TRUSTED_TESTER
7410 * restriction: TRUSTED_TESTER 7005 /// - selector: google.calendar.Calendar.Delegate
7411 * - selector: google.calendar.Calendar.Delegate 7006 /// restriction: GOOGLE_INTERNAL
7412 * restriction: GOOGLE_INTERNAL 7007 ///
7413 * 7008 /// Here, all methods are publicly visible except for the restricted methods
7414 * Here, all methods are publicly visible except for the restricted methods 7009 /// EnhancedSearch and Delegate.
7415 * EnhancedSearch and Delegate.
7416 */
7417 class Visibility { 7010 class Visibility {
7418 /** 7011 /// A list of visibility rules that apply to individual API elements.
7419 * A list of visibility rules that apply to individual API elements. 7012 ///
7420 * 7013 /// **NOTE:** All service configuration rules follow "last one wins" order.
7421 * **NOTE:** All service configuration rules follow "last one wins" order.
7422 */
7423 core.List<VisibilityRule> rules; 7014 core.List<VisibilityRule> rules;
7424 7015
7425 Visibility(); 7016 Visibility();
7426 7017
7427 Visibility.fromJson(core.Map _json) { 7018 Visibility.fromJson(core.Map _json) {
7428 if (_json.containsKey("rules")) { 7019 if (_json.containsKey("rules")) {
7429 rules = _json["rules"].map((value) => new VisibilityRule.fromJson(value)). toList(); 7020 rules = _json["rules"]
7021 .map((value) => new VisibilityRule.fromJson(value))
7022 .toList();
7430 } 7023 }
7431 } 7024 }
7432 7025
7433 core.Map<core.String, core.Object> toJson() { 7026 core.Map<core.String, core.Object> toJson() {
7434 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7027 final core.Map<core.String, core.Object> _json =
7028 new core.Map<core.String, core.Object>();
7435 if (rules != null) { 7029 if (rules != null) {
7436 _json["rules"] = rules.map((value) => (value).toJson()).toList(); 7030 _json["rules"] = rules.map((value) => (value).toJson()).toList();
7437 } 7031 }
7438 return _json; 7032 return _json;
7439 } 7033 }
7440 } 7034 }
7441 7035
7442 /** 7036 /// A visibility rule provides visibility configuration for an individual API
7443 * A visibility rule provides visibility configuration for an individual API 7037 /// element.
7444 * element.
7445 */
7446 class VisibilityRule { 7038 class VisibilityRule {
7447 /** 7039 /// A comma-separated list of visibility labels that apply to the `selector`.
7448 * A comma-separated list of visibility labels that apply to the `selector`. 7040 /// Any of the listed labels can be used to grant the visibility.
7449 * Any of the listed labels can be used to grant the visibility. 7041 ///
7450 * 7042 /// If a rule has multiple labels, removing one of the labels but not all of
7451 * If a rule has multiple labels, removing one of the labels but not all of 7043 /// them can break clients.
7452 * them can break clients. 7044 ///
7453 * 7045 /// Example:
7454 * Example: 7046 ///
7455 * 7047 /// visibility:
7456 * visibility: 7048 /// rules:
7457 * rules: 7049 /// - selector: google.calendar.Calendar.EnhancedSearch
7458 * - selector: google.calendar.Calendar.EnhancedSearch 7050 /// restriction: GOOGLE_INTERNAL, TRUSTED_TESTER
7459 * restriction: GOOGLE_INTERNAL, TRUSTED_TESTER 7051 ///
7460 * 7052 /// Removing GOOGLE_INTERNAL from this restriction will break clients that
7461 * Removing GOOGLE_INTERNAL from this restriction will break clients that 7053 /// rely on this method and only had access to it through GOOGLE_INTERNAL.
7462 * rely on this method and only had access to it through GOOGLE_INTERNAL.
7463 */
7464 core.String restriction; 7054 core.String restriction;
7465 /** 7055
7466 * Selects methods, messages, fields, enums, etc. to which this rule applies. 7056 /// Selects methods, messages, fields, enums, etc. to which this rule
7467 * 7057 /// applies.
7468 * Refer to selector for syntax details. 7058 ///
7469 */ 7059 /// Refer to selector for syntax details.
7470 core.String selector; 7060 core.String selector;
7471 7061
7472 VisibilityRule(); 7062 VisibilityRule();
7473 7063
7474 VisibilityRule.fromJson(core.Map _json) { 7064 VisibilityRule.fromJson(core.Map _json) {
7475 if (_json.containsKey("restriction")) { 7065 if (_json.containsKey("restriction")) {
7476 restriction = _json["restriction"]; 7066 restriction = _json["restriction"];
7477 } 7067 }
7478 if (_json.containsKey("selector")) { 7068 if (_json.containsKey("selector")) {
7479 selector = _json["selector"]; 7069 selector = _json["selector"];
7480 } 7070 }
7481 } 7071 }
7482 7072
7483 core.Map<core.String, core.Object> toJson() { 7073 core.Map<core.String, core.Object> toJson() {
7484 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 7074 final core.Map<core.String, core.Object> _json =
7075 new core.Map<core.String, core.Object>();
7485 if (restriction != null) { 7076 if (restriction != null) {
7486 _json["restriction"] = restriction; 7077 _json["restriction"] = restriction;
7487 } 7078 }
7488 if (selector != null) { 7079 if (selector != null) {
7489 _json["selector"] = selector; 7080 _json["selector"] = selector;
7490 } 7081 }
7491 return _json; 7082 return _json;
7492 } 7083 }
7493 } 7084 }
OLDNEW
« no previous file with comments | « generated/googleapis/lib/servicecontrol/v1.dart ('k') | generated/googleapis/lib/serviceuser/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698