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

Side by Side Diff: generated/googleapis/lib/firebaserules/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.firebaserules.v1; 3 library googleapis.firebaserules.v1;
4 4
5 import 'dart:core' as core; 5 import 'dart:core' as core;
6 import 'dart:async' as async; 6 import 'dart:async' as async;
7 import 'dart:convert' as convert; 7 import 'dart:convert' as convert;
8 8
9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; 9 import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
10 import 'package:http/http.dart' as http; 10 import 'package:http/http.dart' as http;
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 firebaserules/v1'; 15 const core.String USER_AGENT = 'dart-api-client firebaserules/v1';
16 16
17 /** 17 /// Creates and manages rules that determine when a Firebase Rules-enabled
18 * Creates and manages rules that determine when a Firebase Rules-enabled 18 /// service should permit a request.
19 * service should permit a request.
20 */
21 class FirebaserulesApi { 19 class FirebaserulesApi {
22 /** View and manage your data across Google Cloud Platform services */ 20 /// View and manage your data across Google Cloud Platform services
23 static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platf orm"; 21 static const CloudPlatformScope =
22 "https://www.googleapis.com/auth/cloud-platform";
24 23
25 /** View and administer all your Firebase data and settings */ 24 /// View and administer all your Firebase data and settings
26 static const FirebaseScope = "https://www.googleapis.com/auth/firebase"; 25 static const FirebaseScope = "https://www.googleapis.com/auth/firebase";
27 26
28 /** View all your Firebase data and settings */ 27 /// View all your Firebase data and settings
29 static const FirebaseReadonlyScope = "https://www.googleapis.com/auth/firebase .readonly"; 28 static const FirebaseReadonlyScope =
30 29 "https://www.googleapis.com/auth/firebase.readonly";
31 30
32 final commons.ApiRequester _requester; 31 final commons.ApiRequester _requester;
33 32
34 ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); 33 ProjectsResourceApi get projects => new ProjectsResourceApi(_requester);
35 34
36 FirebaserulesApi(http.Client client, {core.String rootUrl: "https://firebaseru les.googleapis.com/", core.String servicePath: ""}) : 35 FirebaserulesApi(http.Client client,
37 _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_A GENT); 36 {core.String rootUrl: "https://firebaserules.googleapis.com/",
37 core.String servicePath: ""})
38 : _requester =
39 new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
38 } 40 }
39 41
40
41 class ProjectsResourceApi { 42 class ProjectsResourceApi {
42 final commons.ApiRequester _requester; 43 final commons.ApiRequester _requester;
43 44
44 ProjectsReleasesResourceApi get releases => new ProjectsReleasesResourceApi(_r equester); 45 ProjectsReleasesResourceApi get releases =>
45 ProjectsRulesetsResourceApi get rulesets => new ProjectsRulesetsResourceApi(_r equester); 46 new ProjectsReleasesResourceApi(_requester);
47 ProjectsRulesetsResourceApi get rulesets =>
48 new ProjectsRulesetsResourceApi(_requester);
46 49
47 ProjectsResourceApi(commons.ApiRequester client) : 50 ProjectsResourceApi(commons.ApiRequester client) : _requester = client;
48 _requester = client;
49 51
50 /** 52 /// Test `Source` for syntactic and semantic correctness. Issues present, if
51 * Test `Source` for syntactic and semantic correctness. Issues present, if 53 /// any, will be returned to the caller with a description, severity, and
52 * any, will be returned to the caller with a description, severity, and 54 /// source location.
53 * source location. 55 ///
54 * 56 /// The test method may be executed with `Source` or a `Ruleset` name.
55 * The test method may be executed with `Source` or a `Ruleset` name. 57 /// Passing `Source` is useful for unit testing new rules. Passing a
56 * Passing `Source` is useful for unit testing new rules. Passing a `Ruleset` 58 /// `Ruleset`
57 * name is useful for regression testing an existing rule. 59 /// name is useful for regression testing an existing rule.
58 * 60 ///
59 * The following is an example of `Source` that permits users to upload images 61 /// The following is an example of `Source` that permits users to upload
60 * to a bucket bearing their user id and matching the correct metadata: 62 /// images
61 * 63 /// to a bucket bearing their user id and matching the correct metadata:
62 * _*Example*_ 64 ///
63 * 65 /// _*Example*_
64 * // Users are allowed to subscribe and unsubscribe to the blog. 66 ///
65 * service firebase.storage { 67 /// // Users are allowed to subscribe and unsubscribe to the blog.
66 * match /users/{userId}/images/{imageName} { 68 /// service firebase.storage {
67 * allow write: if userId == request.auth.uid 69 /// match /users/{userId}/images/{imageName} {
68 * && (imageName.matches('*.png$') 70 /// allow write: if userId == request.auth.uid
69 * || imageName.matches('*.jpg$')) 71 /// && (imageName.matches('*.png$')
70 * && resource.mimeType.matches('^image/') 72 /// || imageName.matches('*.jpg$'))
71 * } 73 /// && resource.mimeType.matches('^image/')
72 * } 74 /// }
73 * 75 /// }
74 * [request] - The metadata request object. 76 ///
75 * 77 /// [request] - The metadata request object.
76 * Request parameters: 78 ///
77 * 79 /// Request parameters:
78 * [name] - Tests may either provide `source` or a `Ruleset` resource name. 80 ///
79 * 81 /// [name] - Tests may either provide `source` or a `Ruleset` resource name.
80 * For tests against `source`, the resource name must refer to the project: 82 ///
81 * Format: `projects/{project_id}` 83 /// For tests against `source`, the resource name must refer to the project:
82 * 84 /// Format: `projects/{project_id}`
83 * For tests against a `Ruleset`, this must be the `Ruleset` resource name: 85 ///
84 * Format: `projects/{project_id}/rulesets/{ruleset_id}` 86 /// For tests against a `Ruleset`, this must be the `Ruleset` resource name:
85 * Value must have pattern "^projects/.+$". 87 /// Format: `projects/{project_id}/rulesets/{ruleset_id}`
86 * 88 /// Value must have pattern "^projects/.+$".
87 * Completes with a [TestRulesetResponse]. 89 ///
88 * 90 /// Completes with a [TestRulesetResponse].
89 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 91 ///
90 * error. 92 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
91 * 93 /// an error.
92 * If the used [http.Client] completes with an error when making a REST call, 94 ///
93 * this method will complete with the same error. 95 /// If the used [http.Client] completes with an error when making a REST
94 */ 96 /// call, this method will complete with the same error.
95 async.Future<TestRulesetResponse> test(TestRulesetRequest request, core.String name) { 97 async.Future<TestRulesetResponse> test(
98 TestRulesetRequest request, core.String name) {
96 var _url = null; 99 var _url = null;
97 var _queryParams = new core.Map(); 100 var _queryParams = new core.Map();
98 var _uploadMedia = null; 101 var _uploadMedia = null;
99 var _uploadOptions = null; 102 var _uploadOptions = null;
100 var _downloadOptions = commons.DownloadOptions.Metadata; 103 var _downloadOptions = commons.DownloadOptions.Metadata;
101 var _body = null; 104 var _body = null;
102 105
103 if (request != null) { 106 if (request != null) {
104 _body = convert.JSON.encode((request).toJson()); 107 _body = convert.JSON.encode((request).toJson());
105 } 108 }
106 if (name == null) { 109 if (name == null) {
107 throw new core.ArgumentError("Parameter name is required."); 110 throw new core.ArgumentError("Parameter name is required.");
108 } 111 }
109 112
110 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':test'; 113 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + ':test';
111 114
112 var _response = _requester.request(_url, 115 var _response = _requester.request(_url, "POST",
113 "POST", 116 body: _body,
114 body: _body, 117 queryParams: _queryParams,
115 queryParams: _queryParams, 118 uploadOptions: _uploadOptions,
116 uploadOptions: _uploadOptions, 119 uploadMedia: _uploadMedia,
117 uploadMedia: _uploadMedia, 120 downloadOptions: _downloadOptions);
118 downloadOptions: _downloadOptions);
119 return _response.then((data) => new TestRulesetResponse.fromJson(data)); 121 return _response.then((data) => new TestRulesetResponse.fromJson(data));
120 } 122 }
121
122 } 123 }
123 124
124
125 class ProjectsReleasesResourceApi { 125 class ProjectsReleasesResourceApi {
126 final commons.ApiRequester _requester; 126 final commons.ApiRequester _requester;
127 127
128 ProjectsReleasesResourceApi(commons.ApiRequester client) : 128 ProjectsReleasesResourceApi(commons.ApiRequester client)
129 _requester = client; 129 : _requester = client;
130 130
131 /** 131 /// Create a `Release`.
132 * Create a `Release`. 132 ///
133 * 133 /// Release names should reflect the developer's deployment practices. For
134 * Release names should reflect the developer's deployment practices. For 134 /// example, the release name may include the environment name, application
135 * example, the release name may include the environment name, application 135 /// name, application version, or any other name meaningful to the developer.
136 * name, application version, or any other name meaningful to the developer. 136 /// Once a `Release` refers to a `Ruleset`, the rules can be enforced by
137 * Once a `Release` refers to a `Ruleset`, the rules can be enforced by 137 /// Firebase Rules-enabled services.
138 * Firebase Rules-enabled services. 138 ///
139 * 139 /// More than one `Release` may be 'live' concurrently. Consider the
140 * More than one `Release` may be 'live' concurrently. Consider the following 140 /// following
141 * three `Release` names for `projects/foo` and the `Ruleset` to which they 141 /// three `Release` names for `projects/foo` and the `Ruleset` to which they
142 * refer. 142 /// refer.
143 * 143 ///
144 * Release Name | Ruleset Name 144 /// Release Name | Ruleset Name
145 * --------------------------------|------------- 145 /// --------------------------------|-------------
146 * projects/foo/releases/prod | projects/foo/rulesets/uuid123 146 /// projects/foo/releases/prod | projects/foo/rulesets/uuid123
147 * projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123 147 /// projects/foo/releases/prod/beta | projects/foo/rulesets/uuid123
148 * projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456 148 /// projects/foo/releases/prod/v23 | projects/foo/rulesets/uuid456
149 * 149 ///
150 * The table reflects the `Ruleset` rollout in progress. The `prod` and 150 /// The table reflects the `Ruleset` rollout in progress. The `prod` and
151 * `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23` 151 /// `prod/beta` releases refer to the same `Ruleset`. However, `prod/v23`
152 * refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be 152 /// refers to a new `Ruleset`. The `Ruleset` reference for a `Release` may be
153 * updated using the UpdateRelease method. 153 /// updated using the UpdateRelease method.
154 * 154 ///
155 * [request] - The metadata request object. 155 /// [request] - The metadata request object.
156 * 156 ///
157 * Request parameters: 157 /// Request parameters:
158 * 158 ///
159 * [name] - Resource name for the project which owns this `Release`. 159 /// [name] - Resource name for the project which owns this `Release`.
160 * 160 ///
161 * Format: `projects/{project_id}` 161 /// Format: `projects/{project_id}`
162 * Value must have pattern "^projects/[^/]+$". 162 /// Value must have pattern "^projects/[^/]+$".
163 * 163 ///
164 * Completes with a [Release]. 164 /// Completes with a [Release].
165 * 165 ///
166 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 166 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
167 * error. 167 /// an error.
168 * 168 ///
169 * If the used [http.Client] completes with an error when making a REST call, 169 /// If the used [http.Client] completes with an error when making a REST
170 * this method will complete with the same error. 170 /// call, this method will complete with the same error.
171 */
172 async.Future<Release> create(Release request, core.String name) { 171 async.Future<Release> create(Release request, core.String name) {
173 var _url = null; 172 var _url = null;
174 var _queryParams = new core.Map(); 173 var _queryParams = new core.Map();
175 var _uploadMedia = null; 174 var _uploadMedia = null;
176 var _uploadOptions = null; 175 var _uploadOptions = null;
177 var _downloadOptions = commons.DownloadOptions.Metadata; 176 var _downloadOptions = commons.DownloadOptions.Metadata;
178 var _body = null; 177 var _body = null;
179 178
180 if (request != null) { 179 if (request != null) {
181 _body = convert.JSON.encode((request).toJson()); 180 _body = convert.JSON.encode((request).toJson());
182 } 181 }
183 if (name == null) { 182 if (name == null) {
184 throw new core.ArgumentError("Parameter name is required."); 183 throw new core.ArgumentError("Parameter name is required.");
185 } 184 }
186 185
187 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases'; 186 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases';
188 187
189 var _response = _requester.request(_url, 188 var _response = _requester.request(_url, "POST",
190 "POST", 189 body: _body,
191 body: _body, 190 queryParams: _queryParams,
192 queryParams: _queryParams, 191 uploadOptions: _uploadOptions,
193 uploadOptions: _uploadOptions, 192 uploadMedia: _uploadMedia,
194 uploadMedia: _uploadMedia, 193 downloadOptions: _downloadOptions);
195 downloadOptions: _downloadOptions);
196 return _response.then((data) => new Release.fromJson(data)); 194 return _response.then((data) => new Release.fromJson(data));
197 } 195 }
198 196
199 /** 197 /// Delete a `Release` by resource name.
200 * Delete a `Release` by resource name. 198 ///
201 * 199 /// Request parameters:
202 * Request parameters: 200 ///
203 * 201 /// [name] - Resource name for the `Release` to delete.
204 * [name] - Resource name for the `Release` to delete. 202 ///
205 * 203 /// Format: `projects/{project_id}/releases/{release_id}`
206 * Format: `projects/{project_id}/releases/{release_id}` 204 /// Value must have pattern "^projects/[^/]+/releases/.+$".
207 * Value must have pattern "^projects/[^/]+/releases/.+$". 205 ///
208 * 206 /// Completes with a [Empty].
209 * Completes with a [Empty]. 207 ///
210 * 208 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
211 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 209 /// an error.
212 * error. 210 ///
213 * 211 /// If the used [http.Client] completes with an error when making a REST
214 * If the used [http.Client] completes with an error when making a REST call, 212 /// call, this method will complete with the same error.
215 * this method will complete with the same error.
216 */
217 async.Future<Empty> delete(core.String name) { 213 async.Future<Empty> delete(core.String name) {
218 var _url = null; 214 var _url = null;
219 var _queryParams = new core.Map(); 215 var _queryParams = new core.Map();
220 var _uploadMedia = null; 216 var _uploadMedia = null;
221 var _uploadOptions = null; 217 var _uploadOptions = null;
222 var _downloadOptions = commons.DownloadOptions.Metadata; 218 var _downloadOptions = commons.DownloadOptions.Metadata;
223 var _body = null; 219 var _body = null;
224 220
225 if (name == null) { 221 if (name == null) {
226 throw new core.ArgumentError("Parameter name is required."); 222 throw new core.ArgumentError("Parameter name is required.");
227 } 223 }
228 224
229 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 225 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
230 226
231 var _response = _requester.request(_url, 227 var _response = _requester.request(_url, "DELETE",
232 "DELETE", 228 body: _body,
233 body: _body, 229 queryParams: _queryParams,
234 queryParams: _queryParams, 230 uploadOptions: _uploadOptions,
235 uploadOptions: _uploadOptions, 231 uploadMedia: _uploadMedia,
236 uploadMedia: _uploadMedia, 232 downloadOptions: _downloadOptions);
237 downloadOptions: _downloadOptions);
238 return _response.then((data) => new Empty.fromJson(data)); 233 return _response.then((data) => new Empty.fromJson(data));
239 } 234 }
240 235
241 /** 236 /// Get a `Release` by name.
242 * Get a `Release` by name. 237 ///
243 * 238 /// Request parameters:
244 * Request parameters: 239 ///
245 * 240 /// [name] - Resource name of the `Release`.
246 * [name] - Resource name of the `Release`. 241 ///
247 * 242 /// Format: `projects/{project_id}/releases/{release_id}`
248 * Format: `projects/{project_id}/releases/{release_id}` 243 /// Value must have pattern "^projects/[^/]+/releases/.+$".
249 * Value must have pattern "^projects/[^/]+/releases/.+$". 244 ///
250 * 245 /// Completes with a [Release].
251 * Completes with a [Release]. 246 ///
252 * 247 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
253 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 248 /// an error.
254 * error. 249 ///
255 * 250 /// If the used [http.Client] completes with an error when making a REST
256 * If the used [http.Client] completes with an error when making a REST call, 251 /// call, this method will complete with the same error.
257 * this method will complete with the same error.
258 */
259 async.Future<Release> get(core.String name) { 252 async.Future<Release> get(core.String name) {
260 var _url = null; 253 var _url = null;
261 var _queryParams = new core.Map(); 254 var _queryParams = new core.Map();
262 var _uploadMedia = null; 255 var _uploadMedia = null;
263 var _uploadOptions = null; 256 var _uploadOptions = null;
264 var _downloadOptions = commons.DownloadOptions.Metadata; 257 var _downloadOptions = commons.DownloadOptions.Metadata;
265 var _body = null; 258 var _body = null;
266 259
267 if (name == null) { 260 if (name == null) {
268 throw new core.ArgumentError("Parameter name is required."); 261 throw new core.ArgumentError("Parameter name is required.");
269 } 262 }
270 263
271 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 264 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
272 265
273 var _response = _requester.request(_url, 266 var _response = _requester.request(_url, "GET",
274 "GET", 267 body: _body,
275 body: _body, 268 queryParams: _queryParams,
276 queryParams: _queryParams, 269 uploadOptions: _uploadOptions,
277 uploadOptions: _uploadOptions, 270 uploadMedia: _uploadMedia,
278 uploadMedia: _uploadMedia, 271 downloadOptions: _downloadOptions);
279 downloadOptions: _downloadOptions);
280 return _response.then((data) => new Release.fromJson(data)); 272 return _response.then((data) => new Release.fromJson(data));
281 } 273 }
282 274
283 /** 275 /// List the `Release` values for a project. This list may optionally be
284 * List the `Release` values for a project. This list may optionally be 276 /// filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any
285 * filtered by `Release` name, `Ruleset` name, `TestSuite` name, or any 277 /// combination thereof.
286 * combination thereof. 278 ///
287 * 279 /// Request parameters:
288 * Request parameters: 280 ///
289 * 281 /// [name] - Resource name for the project.
290 * [name] - Resource name for the project. 282 ///
291 * 283 /// Format: `projects/{project_id}`
292 * Format: `projects/{project_id}` 284 /// Value must have pattern "^projects/[^/]+$".
293 * Value must have pattern "^projects/[^/]+$". 285 ///
294 * 286 /// [filter] - `Release` filter. The list method supports filters with
295 * [filter] - `Release` filter. The list method supports filters with 287 /// restrictions on the
296 * restrictions on the 288 /// `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`.
297 * `Release.name`, `Release.ruleset_name`, and `Release.test_suite_name`. 289 ///
298 * 290 /// Example 1: A filter of 'name=prod*' might return `Release`s with names
299 * Example 1: A filter of 'name=prod*' might return `Release`s with names 291 /// within 'projects/foo' prefixed with 'prod':
300 * within 'projects/foo' prefixed with 'prod': 292 ///
301 * 293 /// Name | Ruleset Name
302 * Name | Ruleset Name 294 /// ------------------------------|-------------
303 * ------------------------------|------------- 295 /// projects/foo/releases/prod | projects/foo/rulesets/uuid1234
304 * projects/foo/releases/prod | projects/foo/rulesets/uuid1234 296 /// projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234
305 * projects/foo/releases/prod/v1 | projects/foo/rulesets/uuid1234 297 /// projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888
306 * projects/foo/releases/prod/v2 | projects/foo/rulesets/uuid8888 298 ///
307 * 299 /// Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return
308 * Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only 300 /// only
309 * `Release` instances for 'projects/foo' with names prefixed with 'prod' 301 /// `Release` instances for 'projects/foo' with names prefixed with 'prod'
310 * referring to the same `Ruleset` name of 'uuid1234': 302 /// referring to the same `Ruleset` name of 'uuid1234':
311 * 303 ///
312 * Name | Ruleset Name 304 /// Name | Ruleset Name
313 * ------------------------------|------------- 305 /// ------------------------------|-------------
314 * projects/foo/releases/prod | projects/foo/rulesets/1234 306 /// projects/foo/releases/prod | projects/foo/rulesets/1234
315 * projects/foo/releases/prod/v1 | projects/foo/rulesets/1234 307 /// projects/foo/releases/prod/v1 | projects/foo/rulesets/1234
316 * 308 ///
317 * In the examples, the filter parameters refer to the search filters are 309 /// In the examples, the filter parameters refer to the search filters are
318 * relative to the project. Fully qualified prefixed may also be used. e.g. 310 /// relative to the project. Fully qualified prefixed may also be used. e.g.
319 * `test_suite_name=projects/foo/testsuites/uuid1` 311 /// `test_suite_name=projects/foo/testsuites/uuid1`
320 * 312 ///
321 * [pageToken] - Next page token for the next batch of `Release` instances. 313 /// [pageToken] - Next page token for the next batch of `Release` instances.
322 * 314 ///
323 * [pageSize] - Page size to load. Maximum of 100. Defaults to 10. 315 /// [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
324 * Note: `page_size` is just a hint and the service may choose to load fewer 316 /// Note: `page_size` is just a hint and the service may choose to load fewer
325 * than `page_size` results due to the size of the output. To traverse all of 317 /// than `page_size` results due to the size of the output. To traverse all
326 * the releases, the caller should iterate until the `page_token` on the 318 /// of
327 * response is empty. 319 /// the releases, the caller should iterate until the `page_token` on the
328 * 320 /// response is empty.
329 * Completes with a [ListReleasesResponse]. 321 ///
330 * 322 /// Completes with a [ListReleasesResponse].
331 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 323 ///
332 * error. 324 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
333 * 325 /// an error.
334 * If the used [http.Client] completes with an error when making a REST call, 326 ///
335 * this method will complete with the same error. 327 /// If the used [http.Client] completes with an error when making a REST
336 */ 328 /// call, this method will complete with the same error.
337 async.Future<ListReleasesResponse> list(core.String name, {core.String filter, core.String pageToken, core.int pageSize}) { 329 async.Future<ListReleasesResponse> list(core.String name,
330 {core.String filter, core.String pageToken, core.int pageSize}) {
338 var _url = null; 331 var _url = null;
339 var _queryParams = new core.Map(); 332 var _queryParams = new core.Map();
340 var _uploadMedia = null; 333 var _uploadMedia = null;
341 var _uploadOptions = null; 334 var _uploadOptions = null;
342 var _downloadOptions = commons.DownloadOptions.Metadata; 335 var _downloadOptions = commons.DownloadOptions.Metadata;
343 var _body = null; 336 var _body = null;
344 337
345 if (name == null) { 338 if (name == null) {
346 throw new core.ArgumentError("Parameter name is required."); 339 throw new core.ArgumentError("Parameter name is required.");
347 } 340 }
348 if (filter != null) { 341 if (filter != null) {
349 _queryParams["filter"] = [filter]; 342 _queryParams["filter"] = [filter];
350 } 343 }
351 if (pageToken != null) { 344 if (pageToken != null) {
352 _queryParams["pageToken"] = [pageToken]; 345 _queryParams["pageToken"] = [pageToken];
353 } 346 }
354 if (pageSize != null) { 347 if (pageSize != null) {
355 _queryParams["pageSize"] = ["${pageSize}"]; 348 _queryParams["pageSize"] = ["${pageSize}"];
356 } 349 }
357 350
358 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases'; 351 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/releases';
359 352
360 var _response = _requester.request(_url, 353 var _response = _requester.request(_url, "GET",
361 "GET", 354 body: _body,
362 body: _body, 355 queryParams: _queryParams,
363 queryParams: _queryParams, 356 uploadOptions: _uploadOptions,
364 uploadOptions: _uploadOptions, 357 uploadMedia: _uploadMedia,
365 uploadMedia: _uploadMedia, 358 downloadOptions: _downloadOptions);
366 downloadOptions: _downloadOptions);
367 return _response.then((data) => new ListReleasesResponse.fromJson(data)); 359 return _response.then((data) => new ListReleasesResponse.fromJson(data));
368 } 360 }
369 361
370 /** 362 /// Update a `Release`.
371 * Update a `Release`. 363 ///
372 * 364 /// Only updates to the `ruleset_name` and `test_suite_name` fields will be
373 * Only updates to the `ruleset_name` and `test_suite_name` fields will be 365 /// honored. `Release` rename is not supported. To create a `Release` use the
374 * honored. `Release` rename is not supported. To create a `Release` use the 366 /// CreateRelease method.
375 * CreateRelease method. 367 ///
376 * 368 /// [request] - The metadata request object.
377 * [request] - The metadata request object. 369 ///
378 * 370 /// Request parameters:
379 * Request parameters: 371 ///
380 * 372 /// [name] - Resource name for the `Release`.
381 * [name] - Resource name for the `Release`. 373 ///
382 * 374 /// `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
383 * `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` 375 /// which affords developers a great deal of flexibility in mapping the name
384 * which affords developers a great deal of flexibility in mapping the name 376 /// to the style that best fits their existing development practices. For
385 * to the style that best fits their existing development practices. For 377 /// example, a name could refer to an environment, an app, a version, or some
386 * example, a name could refer to an environment, an app, a version, or some 378 /// combination of three.
387 * combination of three. 379 ///
388 * 380 /// In the table below, for the project name `projects/foo`, the following
389 * In the table below, for the project name `projects/foo`, the following 381 /// relative release paths show how flat and structured names might be chosen
390 * relative release paths show how flat and structured names might be chosen 382 /// to match a desired development / deployment strategy.
391 * to match a desired development / deployment strategy. 383 ///
392 * 384 /// Use Case | Flat Name | Structured Name
393 * Use Case | Flat Name | Structured Name 385 /// -------------|---------------------|----------------
394 * -------------|---------------------|---------------- 386 /// Environments | releases/qa | releases/qa
395 * Environments | releases/qa | releases/qa 387 /// Apps | releases/app1_qa | releases/app1/qa
396 * Apps | releases/app1_qa | releases/app1/qa 388 /// Versions | releases/app1_v2_qa | releases/app1/v2/qa
397 * Versions | releases/app1_v2_qa | releases/app1/v2/qa 389 ///
398 * 390 /// The delimiter between the release name path elements can be almost
399 * The delimiter between the release name path elements can be almost anything 391 /// anything
400 * and it should work equally well with the release name list filter, but in 392 /// and it should work equally well with the release name list filter, but in
401 * many ways the structured paths provide a clearer picture of the 393 /// many ways the structured paths provide a clearer picture of the
402 * relationship between `Release` instances. 394 /// relationship between `Release` instances.
403 * 395 ///
404 * Format: `projects/{project_id}/releases/{release_id}` 396 /// Format: `projects/{project_id}/releases/{release_id}`
405 * Value must have pattern "^projects/[^/]+/releases/.+$". 397 /// Value must have pattern "^projects/[^/]+/releases/.+$".
406 * 398 ///
407 * Completes with a [Release]. 399 /// Completes with a [Release].
408 * 400 ///
409 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 401 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
410 * error. 402 /// an error.
411 * 403 ///
412 * If the used [http.Client] completes with an error when making a REST call, 404 /// If the used [http.Client] completes with an error when making a REST
413 * this method will complete with the same error. 405 /// call, this method will complete with the same error.
414 */
415 async.Future<Release> update(Release request, core.String name) { 406 async.Future<Release> update(Release request, core.String name) {
416 var _url = null; 407 var _url = null;
417 var _queryParams = new core.Map(); 408 var _queryParams = new core.Map();
418 var _uploadMedia = null; 409 var _uploadMedia = null;
419 var _uploadOptions = null; 410 var _uploadOptions = null;
420 var _downloadOptions = commons.DownloadOptions.Metadata; 411 var _downloadOptions = commons.DownloadOptions.Metadata;
421 var _body = null; 412 var _body = null;
422 413
423 if (request != null) { 414 if (request != null) {
424 _body = convert.JSON.encode((request).toJson()); 415 _body = convert.JSON.encode((request).toJson());
425 } 416 }
426 if (name == null) { 417 if (name == null) {
427 throw new core.ArgumentError("Parameter name is required."); 418 throw new core.ArgumentError("Parameter name is required.");
428 } 419 }
429 420
430 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 421 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
431 422
432 var _response = _requester.request(_url, 423 var _response = _requester.request(_url, "PUT",
433 "PUT", 424 body: _body,
434 body: _body, 425 queryParams: _queryParams,
435 queryParams: _queryParams, 426 uploadOptions: _uploadOptions,
436 uploadOptions: _uploadOptions, 427 uploadMedia: _uploadMedia,
437 uploadMedia: _uploadMedia, 428 downloadOptions: _downloadOptions);
438 downloadOptions: _downloadOptions);
439 return _response.then((data) => new Release.fromJson(data)); 429 return _response.then((data) => new Release.fromJson(data));
440 } 430 }
441
442 } 431 }
443 432
444
445 class ProjectsRulesetsResourceApi { 433 class ProjectsRulesetsResourceApi {
446 final commons.ApiRequester _requester; 434 final commons.ApiRequester _requester;
447 435
448 ProjectsRulesetsResourceApi(commons.ApiRequester client) : 436 ProjectsRulesetsResourceApi(commons.ApiRequester client)
449 _requester = client; 437 : _requester = client;
450 438
451 /** 439 /// Create a `Ruleset` from `Source`.
452 * Create a `Ruleset` from `Source`. 440 ///
453 * 441 /// The `Ruleset` is given a unique generated name which is returned to the
454 * The `Ruleset` is given a unique generated name which is returned to the 442 /// caller. `Source` containing syntactic or semantics errors will result in
455 * caller. `Source` containing syntactic or semantics errors will result in an 443 /// an
456 * error response indicating the first error encountered. For a detailed view 444 /// error response indicating the first error encountered. For a detailed
457 * of `Source` issues, use TestRuleset. 445 /// view
458 * 446 /// of `Source` issues, use TestRuleset.
459 * [request] - The metadata request object. 447 ///
460 * 448 /// [request] - The metadata request object.
461 * Request parameters: 449 ///
462 * 450 /// Request parameters:
463 * [name] - Resource name for Project which owns this `Ruleset`. 451 ///
464 * 452 /// [name] - Resource name for Project which owns this `Ruleset`.
465 * Format: `projects/{project_id}` 453 ///
466 * Value must have pattern "^projects/[^/]+$". 454 /// Format: `projects/{project_id}`
467 * 455 /// Value must have pattern "^projects/[^/]+$".
468 * Completes with a [Ruleset]. 456 ///
469 * 457 /// Completes with a [Ruleset].
470 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 458 ///
471 * error. 459 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
472 * 460 /// an error.
473 * If the used [http.Client] completes with an error when making a REST call, 461 ///
474 * this method will complete with the same error. 462 /// If the used [http.Client] completes with an error when making a REST
475 */ 463 /// call, this method will complete with the same error.
476 async.Future<Ruleset> create(Ruleset request, core.String name) { 464 async.Future<Ruleset> create(Ruleset request, core.String name) {
477 var _url = null; 465 var _url = null;
478 var _queryParams = new core.Map(); 466 var _queryParams = new core.Map();
479 var _uploadMedia = null; 467 var _uploadMedia = null;
480 var _uploadOptions = null; 468 var _uploadOptions = null;
481 var _downloadOptions = commons.DownloadOptions.Metadata; 469 var _downloadOptions = commons.DownloadOptions.Metadata;
482 var _body = null; 470 var _body = null;
483 471
484 if (request != null) { 472 if (request != null) {
485 _body = convert.JSON.encode((request).toJson()); 473 _body = convert.JSON.encode((request).toJson());
486 } 474 }
487 if (name == null) { 475 if (name == null) {
488 throw new core.ArgumentError("Parameter name is required."); 476 throw new core.ArgumentError("Parameter name is required.");
489 } 477 }
490 478
491 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets'; 479 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets';
492 480
493 var _response = _requester.request(_url, 481 var _response = _requester.request(_url, "POST",
494 "POST", 482 body: _body,
495 body: _body, 483 queryParams: _queryParams,
496 queryParams: _queryParams, 484 uploadOptions: _uploadOptions,
497 uploadOptions: _uploadOptions, 485 uploadMedia: _uploadMedia,
498 uploadMedia: _uploadMedia, 486 downloadOptions: _downloadOptions);
499 downloadOptions: _downloadOptions);
500 return _response.then((data) => new Ruleset.fromJson(data)); 487 return _response.then((data) => new Ruleset.fromJson(data));
501 } 488 }
502 489
503 /** 490 /// Delete a `Ruleset` by resource name.
504 * Delete a `Ruleset` by resource name. 491 ///
505 * 492 /// If the `Ruleset` is referenced by a `Release` the operation will fail.
506 * If the `Ruleset` is referenced by a `Release` the operation will fail. 493 ///
507 * 494 /// Request parameters:
508 * Request parameters: 495 ///
509 * 496 /// [name] - Resource name for the ruleset to delete.
510 * [name] - Resource name for the ruleset to delete. 497 ///
511 * 498 /// Format: `projects/{project_id}/rulesets/{ruleset_id}`
512 * Format: `projects/{project_id}/rulesets/{ruleset_id}` 499 /// Value must have pattern "^projects/[^/]+/rulesets/[^/]+$".
513 * Value must have pattern "^projects/[^/]+/rulesets/[^/]+$". 500 ///
514 * 501 /// Completes with a [Empty].
515 * Completes with a [Empty]. 502 ///
516 * 503 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
517 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 504 /// an error.
518 * error. 505 ///
519 * 506 /// If the used [http.Client] completes with an error when making a REST
520 * If the used [http.Client] completes with an error when making a REST call, 507 /// call, this method will complete with the same error.
521 * this method will complete with the same error.
522 */
523 async.Future<Empty> delete(core.String name) { 508 async.Future<Empty> delete(core.String name) {
524 var _url = null; 509 var _url = null;
525 var _queryParams = new core.Map(); 510 var _queryParams = new core.Map();
526 var _uploadMedia = null; 511 var _uploadMedia = null;
527 var _uploadOptions = null; 512 var _uploadOptions = null;
528 var _downloadOptions = commons.DownloadOptions.Metadata; 513 var _downloadOptions = commons.DownloadOptions.Metadata;
529 var _body = null; 514 var _body = null;
530 515
531 if (name == null) { 516 if (name == null) {
532 throw new core.ArgumentError("Parameter name is required."); 517 throw new core.ArgumentError("Parameter name is required.");
533 } 518 }
534 519
535 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 520 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
536 521
537 var _response = _requester.request(_url, 522 var _response = _requester.request(_url, "DELETE",
538 "DELETE", 523 body: _body,
539 body: _body, 524 queryParams: _queryParams,
540 queryParams: _queryParams, 525 uploadOptions: _uploadOptions,
541 uploadOptions: _uploadOptions, 526 uploadMedia: _uploadMedia,
542 uploadMedia: _uploadMedia, 527 downloadOptions: _downloadOptions);
543 downloadOptions: _downloadOptions);
544 return _response.then((data) => new Empty.fromJson(data)); 528 return _response.then((data) => new Empty.fromJson(data));
545 } 529 }
546 530
547 /** 531 /// Get a `Ruleset` by name including the full `Source` contents.
548 * Get a `Ruleset` by name including the full `Source` contents. 532 ///
549 * 533 /// Request parameters:
550 * Request parameters: 534 ///
551 * 535 /// [name] - Resource name for the ruleset to get.
552 * [name] - Resource name for the ruleset to get. 536 ///
553 * 537 /// Format: `projects/{project_id}/rulesets/{ruleset_id}`
554 * Format: `projects/{project_id}/rulesets/{ruleset_id}` 538 /// Value must have pattern "^projects/[^/]+/rulesets/[^/]+$".
555 * Value must have pattern "^projects/[^/]+/rulesets/[^/]+$". 539 ///
556 * 540 /// Completes with a [Ruleset].
557 * Completes with a [Ruleset]. 541 ///
558 * 542 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
559 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 543 /// an error.
560 * error. 544 ///
561 * 545 /// If the used [http.Client] completes with an error when making a REST
562 * If the used [http.Client] completes with an error when making a REST call, 546 /// call, this method will complete with the same error.
563 * this method will complete with the same error.
564 */
565 async.Future<Ruleset> get(core.String name) { 547 async.Future<Ruleset> get(core.String name) {
566 var _url = null; 548 var _url = null;
567 var _queryParams = new core.Map(); 549 var _queryParams = new core.Map();
568 var _uploadMedia = null; 550 var _uploadMedia = null;
569 var _uploadOptions = null; 551 var _uploadOptions = null;
570 var _downloadOptions = commons.DownloadOptions.Metadata; 552 var _downloadOptions = commons.DownloadOptions.Metadata;
571 var _body = null; 553 var _body = null;
572 554
573 if (name == null) { 555 if (name == null) {
574 throw new core.ArgumentError("Parameter name is required."); 556 throw new core.ArgumentError("Parameter name is required.");
575 } 557 }
576 558
577 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name'); 559 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
578 560
579 var _response = _requester.request(_url, 561 var _response = _requester.request(_url, "GET",
580 "GET", 562 body: _body,
581 body: _body, 563 queryParams: _queryParams,
582 queryParams: _queryParams, 564 uploadOptions: _uploadOptions,
583 uploadOptions: _uploadOptions, 565 uploadMedia: _uploadMedia,
584 uploadMedia: _uploadMedia, 566 downloadOptions: _downloadOptions);
585 downloadOptions: _downloadOptions);
586 return _response.then((data) => new Ruleset.fromJson(data)); 567 return _response.then((data) => new Ruleset.fromJson(data));
587 } 568 }
588 569
589 /** 570 /// List `Ruleset` metadata only and optionally filter the results by
590 * List `Ruleset` metadata only and optionally filter the results by `Ruleset` 571 /// `Ruleset`
591 * name. 572 /// name.
592 * 573 ///
593 * The full `Source` contents of a `Ruleset` may be retrieved with 574 /// The full `Source` contents of a `Ruleset` may be retrieved with
594 * GetRuleset. 575 /// GetRuleset.
595 * 576 ///
596 * Request parameters: 577 /// Request parameters:
597 * 578 ///
598 * [name] - Resource name for the project. 579 /// [name] - Resource name for the project.
599 * 580 ///
600 * Format: `projects/{project_id}` 581 /// Format: `projects/{project_id}`
601 * Value must have pattern "^projects/[^/]+$". 582 /// Value must have pattern "^projects/[^/]+$".
602 * 583 ///
603 * [pageToken] - Next page token for loading the next batch of `Ruleset` 584 /// [filter] - `Ruleset` filter. The list method supports filters with
604 * instances. 585 /// restrictions on
605 * 586 /// `Ruleset.name`.
606 * [pageSize] - Page size to load. Maximum of 100. Defaults to 10. 587 ///
607 * Note: `page_size` is just a hint and the service may choose to load less 588 /// Filters on `Ruleset.create_time` should use the `date` function which
608 * than `page_size` due to the size of the output. To traverse all of the 589 /// parses strings that conform to the RFC 3339 date/time specifications.
609 * releases, caller should iterate until the `page_token` is empty. 590 ///
610 * 591 /// Example: `create_time > date("2017-01-01") AND name=UUID-*`
611 * [filter] - `Ruleset` filter. The list method supports filters with 592 ///
612 * restrictions on 593 /// [pageToken] - Next page token for loading the next batch of `Ruleset`
613 * `Ruleset.name`. 594 /// instances.
614 * 595 ///
615 * Filters on `Ruleset.create_time` should use the `date` function which 596 /// [pageSize] - Page size to load. Maximum of 100. Defaults to 10.
616 * parses strings that conform to the RFC 3339 date/time specifications. 597 /// Note: `page_size` is just a hint and the service may choose to load less
617 * 598 /// than `page_size` due to the size of the output. To traverse all of the
618 * Example: `create_time > date("2017-01-01") AND name=UUID-*` 599 /// releases, caller should iterate until the `page_token` is empty.
619 * 600 ///
620 * Completes with a [ListRulesetsResponse]. 601 /// Completes with a [ListRulesetsResponse].
621 * 602 ///
622 * Completes with a [commons.ApiRequestError] if the API endpoint returned an 603 /// Completes with a [commons.ApiRequestError] if the API endpoint returned
623 * error. 604 /// an error.
624 * 605 ///
625 * If the used [http.Client] completes with an error when making a REST call, 606 /// If the used [http.Client] completes with an error when making a REST
626 * this method will complete with the same error. 607 /// call, this method will complete with the same error.
627 */ 608 async.Future<ListRulesetsResponse> list(core.String name,
628 async.Future<ListRulesetsResponse> list(core.String name, {core.String pageTok en, core.int pageSize, core.String filter}) { 609 {core.String filter, core.String pageToken, core.int pageSize}) {
629 var _url = null; 610 var _url = null;
630 var _queryParams = new core.Map(); 611 var _queryParams = new core.Map();
631 var _uploadMedia = null; 612 var _uploadMedia = null;
632 var _uploadOptions = null; 613 var _uploadOptions = null;
633 var _downloadOptions = commons.DownloadOptions.Metadata; 614 var _downloadOptions = commons.DownloadOptions.Metadata;
634 var _body = null; 615 var _body = null;
635 616
636 if (name == null) { 617 if (name == null) {
637 throw new core.ArgumentError("Parameter name is required."); 618 throw new core.ArgumentError("Parameter name is required.");
638 } 619 }
620 if (filter != null) {
621 _queryParams["filter"] = [filter];
622 }
639 if (pageToken != null) { 623 if (pageToken != null) {
640 _queryParams["pageToken"] = [pageToken]; 624 _queryParams["pageToken"] = [pageToken];
641 } 625 }
642 if (pageSize != null) { 626 if (pageSize != null) {
643 _queryParams["pageSize"] = ["${pageSize}"]; 627 _queryParams["pageSize"] = ["${pageSize}"];
644 } 628 }
645 if (filter != null) {
646 _queryParams["filter"] = [filter];
647 }
648 629
649 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets'; 630 _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name') + '/rulesets';
650 631
651 var _response = _requester.request(_url, 632 var _response = _requester.request(_url, "GET",
652 "GET", 633 body: _body,
653 body: _body, 634 queryParams: _queryParams,
654 queryParams: _queryParams, 635 uploadOptions: _uploadOptions,
655 uploadOptions: _uploadOptions, 636 uploadMedia: _uploadMedia,
656 uploadMedia: _uploadMedia, 637 downloadOptions: _downloadOptions);
657 downloadOptions: _downloadOptions);
658 return _response.then((data) => new ListRulesetsResponse.fromJson(data)); 638 return _response.then((data) => new ListRulesetsResponse.fromJson(data));
659 } 639 }
660
661 } 640 }
662 641
642 /// Arg matchers for the mock function.
643 class Arg {
644 /// Argument matches any value provided.
645 Empty anyValue;
663 646
664 647 /// Argument exactly matches value provided.
665 /** Arg matchers for the mock function. */ 648 ///
666 class Arg { 649 /// The values for Object must be JSON objects. It can consist of `num`,
667 /** Argument matches any value provided. */ 650 /// `String`, `bool` and `null` as well as `Map` and `List` values.
668 Empty anyValue;
669 /**
670 * Argument exactly matches value provided.
671 *
672 * The values for Object must be JSON objects. It can consist of `num`,
673 * `String`, `bool` and `null` as well as `Map` and `List` values.
674 */
675 core.Object exactValue; 651 core.Object exactValue;
676 652
677 Arg(); 653 Arg();
678 654
679 Arg.fromJson(core.Map _json) { 655 Arg.fromJson(core.Map _json) {
680 if (_json.containsKey("anyValue")) { 656 if (_json.containsKey("anyValue")) {
681 anyValue = new Empty.fromJson(_json["anyValue"]); 657 anyValue = new Empty.fromJson(_json["anyValue"]);
682 } 658 }
683 if (_json.containsKey("exactValue")) { 659 if (_json.containsKey("exactValue")) {
684 exactValue = _json["exactValue"]; 660 exactValue = _json["exactValue"];
685 } 661 }
686 } 662 }
687 663
688 core.Map<core.String, core.Object> toJson() { 664 core.Map<core.String, core.Object> toJson() {
689 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 665 final core.Map<core.String, core.Object> _json =
666 new core.Map<core.String, core.Object>();
690 if (anyValue != null) { 667 if (anyValue != null) {
691 _json["anyValue"] = (anyValue).toJson(); 668 _json["anyValue"] = (anyValue).toJson();
692 } 669 }
693 if (exactValue != null) { 670 if (exactValue != null) {
694 _json["exactValue"] = exactValue; 671 _json["exactValue"] = exactValue;
695 } 672 }
696 return _json; 673 return _json;
697 } 674 }
698 } 675 }
699 676
700 /** 677 /// A generic empty message that you can re-use to avoid defining duplicated
701 * A generic empty message that you can re-use to avoid defining duplicated 678 /// empty messages in your APIs. A typical example is to use it as the request
702 * empty messages in your APIs. A typical example is to use it as the request 679 /// or the response type of an API method. For instance:
703 * or the response type of an API method. For instance: 680 ///
704 * 681 /// service Foo {
705 * service Foo { 682 /// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
706 * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 683 /// }
707 * } 684 ///
708 * 685 /// The JSON representation for `Empty` is empty JSON object `{}`.
709 * The JSON representation for `Empty` is empty JSON object `{}`.
710 */
711 class Empty { 686 class Empty {
712
713 Empty(); 687 Empty();
714 688
715 Empty.fromJson(core.Map _json) { 689 Empty.fromJson(core.Map _json) {}
716 }
717 690
718 core.Map<core.String, core.Object> toJson() { 691 core.Map<core.String, core.Object> toJson() {
719 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 692 final core.Map<core.String, core.Object> _json =
693 new core.Map<core.String, core.Object>();
720 return _json; 694 return _json;
721 } 695 }
722 } 696 }
723 697
724 /** `File` containing source content. */ 698 /// `File` containing source content.
725 class File { 699 class File {
726 /** Textual Content. */ 700 /// Textual Content.
727 core.String content; 701 core.String content;
728 /** Fingerprint (e.g. github sha) associated with the `File`. */ 702
703 /// Fingerprint (e.g. github sha) associated with the `File`.
729 core.String fingerprint; 704 core.String fingerprint;
730 core.List<core.int> get fingerprintAsBytes { 705 core.List<core.int> get fingerprintAsBytes {
731 return convert.BASE64.decode(fingerprint); 706 return convert.BASE64.decode(fingerprint);
732 } 707 }
733 708
734 void set fingerprintAsBytes(core.List<core.int> _bytes) { 709 void set fingerprintAsBytes(core.List<core.int> _bytes) {
735 fingerprint = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll( "+", "-"); 710 fingerprint =
711 convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-");
736 } 712 }
737 /** File name. */ 713
714 /// File name.
738 core.String name; 715 core.String name;
739 716
740 File(); 717 File();
741 718
742 File.fromJson(core.Map _json) { 719 File.fromJson(core.Map _json) {
743 if (_json.containsKey("content")) { 720 if (_json.containsKey("content")) {
744 content = _json["content"]; 721 content = _json["content"];
745 } 722 }
746 if (_json.containsKey("fingerprint")) { 723 if (_json.containsKey("fingerprint")) {
747 fingerprint = _json["fingerprint"]; 724 fingerprint = _json["fingerprint"];
748 } 725 }
749 if (_json.containsKey("name")) { 726 if (_json.containsKey("name")) {
750 name = _json["name"]; 727 name = _json["name"];
751 } 728 }
752 } 729 }
753 730
754 core.Map<core.String, core.Object> toJson() { 731 core.Map<core.String, core.Object> toJson() {
755 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 732 final core.Map<core.String, core.Object> _json =
733 new core.Map<core.String, core.Object>();
756 if (content != null) { 734 if (content != null) {
757 _json["content"] = content; 735 _json["content"] = content;
758 } 736 }
759 if (fingerprint != null) { 737 if (fingerprint != null) {
760 _json["fingerprint"] = fingerprint; 738 _json["fingerprint"] = fingerprint;
761 } 739 }
762 if (name != null) { 740 if (name != null) {
763 _json["name"] = name; 741 _json["name"] = name;
764 } 742 }
765 return _json; 743 return _json;
766 } 744 }
767 } 745 }
768 746
769 /** 747 /// Represents a service-defined function call that was invoked during test
770 * Represents a service-defined function call that was invoked during test 748 /// execution.
771 * execution.
772 */
773 class FunctionCall { 749 class FunctionCall {
774 /** 750 /// The arguments that were provided to the function.
775 * The arguments that were provided to the function. 751 ///
776 * 752 /// The values for Object must be JSON objects. It can consist of `num`,
777 * The values for Object must be JSON objects. It can consist of `num`, 753 /// `String`, `bool` and `null` as well as `Map` and `List` values.
778 * `String`, `bool` and `null` as well as `Map` and `List` values.
779 */
780 core.List<core.Object> args; 754 core.List<core.Object> args;
781 /** Name of the function invoked. */ 755
756 /// Name of the function invoked.
782 core.String function; 757 core.String function;
783 758
784 FunctionCall(); 759 FunctionCall();
785 760
786 FunctionCall.fromJson(core.Map _json) { 761 FunctionCall.fromJson(core.Map _json) {
787 if (_json.containsKey("args")) { 762 if (_json.containsKey("args")) {
788 args = _json["args"]; 763 args = _json["args"];
789 } 764 }
790 if (_json.containsKey("function")) { 765 if (_json.containsKey("function")) {
791 function = _json["function"]; 766 function = _json["function"];
792 } 767 }
793 } 768 }
794 769
795 core.Map<core.String, core.Object> toJson() { 770 core.Map<core.String, core.Object> toJson() {
796 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 771 final core.Map<core.String, core.Object> _json =
772 new core.Map<core.String, core.Object>();
797 if (args != null) { 773 if (args != null) {
798 _json["args"] = args; 774 _json["args"] = args;
799 } 775 }
800 if (function != null) { 776 if (function != null) {
801 _json["function"] = function; 777 _json["function"] = function;
802 } 778 }
803 return _json; 779 return _json;
804 } 780 }
805 } 781 }
806 782
807 /** 783 /// Mock function definition.
808 * Mock function definition. 784 ///
809 * 785 /// Mocks must refer to a function declared by the target service. The type of
810 * Mocks must refer to a function declared by the target service. The type of 786 /// the function args and result will be inferred at test time. If either the
811 * the function args and result will be inferred at test time. If either the 787 /// arg or result values are not compatible with function type declaration, the
812 * arg or result values are not compatible with function type declaration, the 788 /// request will be considered invalid.
813 * request will be considered invalid. 789 ///
814 * 790 /// More than one `FunctionMock` may be provided for a given function name so
815 * More than one `FunctionMock` may be provided for a given function name so 791 /// long as the `Arg` matchers are distinct. There may be only one function
816 * long as the `Arg` matchers are distinct. There may be only one function 792 /// for a given overload where all `Arg` values are `Arg.any_value`.
817 * for a given overload where all `Arg` values are `Arg.any_value`.
818 */
819 class FunctionMock { 793 class FunctionMock {
820 /** 794 /// The list of `Arg` values to match. The order in which the arguments are
821 * The list of `Arg` values to match. The order in which the arguments are 795 /// provided is the order in which they must appear in the function
822 * provided is the order in which they must appear in the function 796 /// invocation.
823 * invocation.
824 */
825 core.List<Arg> args; 797 core.List<Arg> args;
826 /** 798
827 * The name of the function. 799 /// The name of the function.
828 * 800 ///
829 * The function name must match one provided by a service declaration. 801 /// The function name must match one provided by a service declaration.
830 */
831 core.String function; 802 core.String function;
832 /** The mock result of the function call. */ 803
804 /// The mock result of the function call.
833 Result result; 805 Result result;
834 806
835 FunctionMock(); 807 FunctionMock();
836 808
837 FunctionMock.fromJson(core.Map _json) { 809 FunctionMock.fromJson(core.Map _json) {
838 if (_json.containsKey("args")) { 810 if (_json.containsKey("args")) {
839 args = _json["args"].map((value) => new Arg.fromJson(value)).toList(); 811 args = _json["args"].map((value) => new Arg.fromJson(value)).toList();
840 } 812 }
841 if (_json.containsKey("function")) { 813 if (_json.containsKey("function")) {
842 function = _json["function"]; 814 function = _json["function"];
843 } 815 }
844 if (_json.containsKey("result")) { 816 if (_json.containsKey("result")) {
845 result = new Result.fromJson(_json["result"]); 817 result = new Result.fromJson(_json["result"]);
846 } 818 }
847 } 819 }
848 820
849 core.Map<core.String, core.Object> toJson() { 821 core.Map<core.String, core.Object> toJson() {
850 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 822 final core.Map<core.String, core.Object> _json =
823 new core.Map<core.String, core.Object>();
851 if (args != null) { 824 if (args != null) {
852 _json["args"] = args.map((value) => (value).toJson()).toList(); 825 _json["args"] = args.map((value) => (value).toJson()).toList();
853 } 826 }
854 if (function != null) { 827 if (function != null) {
855 _json["function"] = function; 828 _json["function"] = function;
856 } 829 }
857 if (result != null) { 830 if (result != null) {
858 _json["result"] = (result).toJson(); 831 _json["result"] = (result).toJson();
859 } 832 }
860 return _json; 833 return _json;
861 } 834 }
862 } 835 }
863 836
864 /** Issues include warnings, errors, and deprecation notices. */ 837 /// Issues include warnings, errors, and deprecation notices.
865 class Issue { 838 class Issue {
866 /** Short error description. */ 839 /// Short error description.
867 core.String description; 840 core.String description;
868 /** 841
869 * The severity of the issue. 842 /// The severity of the issue.
870 * Possible string values are: 843 /// Possible string values are:
871 * - "SEVERITY_UNSPECIFIED" : An unspecified severity. 844 /// - "SEVERITY_UNSPECIFIED" : An unspecified severity.
872 * - "DEPRECATION" : Deprecation issue for statements and method that may no 845 /// - "DEPRECATION" : Deprecation issue for statements and method that may no
873 * longer be 846 /// longer be
874 * supported or maintained. 847 /// supported or maintained.
875 * - "WARNING" : Warnings such as: unused variables. 848 /// - "WARNING" : Warnings such as: unused variables.
876 * - "ERROR" : Errors such as: unmatched curly braces or variable 849 /// - "ERROR" : Errors such as: unmatched curly braces or variable
877 * redefinition. 850 /// redefinition.
878 */
879 core.String severity; 851 core.String severity;
880 /** Position of the issue in the `Source`. */ 852
853 /// Position of the issue in the `Source`.
881 SourcePosition sourcePosition; 854 SourcePosition sourcePosition;
882 855
883 Issue(); 856 Issue();
884 857
885 Issue.fromJson(core.Map _json) { 858 Issue.fromJson(core.Map _json) {
886 if (_json.containsKey("description")) { 859 if (_json.containsKey("description")) {
887 description = _json["description"]; 860 description = _json["description"];
888 } 861 }
889 if (_json.containsKey("severity")) { 862 if (_json.containsKey("severity")) {
890 severity = _json["severity"]; 863 severity = _json["severity"];
891 } 864 }
892 if (_json.containsKey("sourcePosition")) { 865 if (_json.containsKey("sourcePosition")) {
893 sourcePosition = new SourcePosition.fromJson(_json["sourcePosition"]); 866 sourcePosition = new SourcePosition.fromJson(_json["sourcePosition"]);
894 } 867 }
895 } 868 }
896 869
897 core.Map<core.String, core.Object> toJson() { 870 core.Map<core.String, core.Object> toJson() {
898 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 871 final core.Map<core.String, core.Object> _json =
872 new core.Map<core.String, core.Object>();
899 if (description != null) { 873 if (description != null) {
900 _json["description"] = description; 874 _json["description"] = description;
901 } 875 }
902 if (severity != null) { 876 if (severity != null) {
903 _json["severity"] = severity; 877 _json["severity"] = severity;
904 } 878 }
905 if (sourcePosition != null) { 879 if (sourcePosition != null) {
906 _json["sourcePosition"] = (sourcePosition).toJson(); 880 _json["sourcePosition"] = (sourcePosition).toJson();
907 } 881 }
908 return _json; 882 return _json;
909 } 883 }
910 } 884 }
911 885
912 /** The response for FirebaseRulesService.ListReleases. */ 886 /// The response for FirebaseRulesService.ListReleases.
913 class ListReleasesResponse { 887 class ListReleasesResponse {
914 /** 888 /// The pagination token to retrieve the next page of results. If the value
915 * The pagination token to retrieve the next page of results. If the value is 889 /// is
916 * empty, no further results remain. 890 /// empty, no further results remain.
917 */
918 core.String nextPageToken; 891 core.String nextPageToken;
919 /** List of `Release` instances. */ 892
893 /// List of `Release` instances.
920 core.List<Release> releases; 894 core.List<Release> releases;
921 895
922 ListReleasesResponse(); 896 ListReleasesResponse();
923 897
924 ListReleasesResponse.fromJson(core.Map _json) { 898 ListReleasesResponse.fromJson(core.Map _json) {
925 if (_json.containsKey("nextPageToken")) { 899 if (_json.containsKey("nextPageToken")) {
926 nextPageToken = _json["nextPageToken"]; 900 nextPageToken = _json["nextPageToken"];
927 } 901 }
928 if (_json.containsKey("releases")) { 902 if (_json.containsKey("releases")) {
929 releases = _json["releases"].map((value) => new Release.fromJson(value)).t oList(); 903 releases = _json["releases"]
904 .map((value) => new Release.fromJson(value))
905 .toList();
930 } 906 }
931 } 907 }
932 908
933 core.Map<core.String, core.Object> toJson() { 909 core.Map<core.String, core.Object> toJson() {
934 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 910 final core.Map<core.String, core.Object> _json =
911 new core.Map<core.String, core.Object>();
935 if (nextPageToken != null) { 912 if (nextPageToken != null) {
936 _json["nextPageToken"] = nextPageToken; 913 _json["nextPageToken"] = nextPageToken;
937 } 914 }
938 if (releases != null) { 915 if (releases != null) {
939 _json["releases"] = releases.map((value) => (value).toJson()).toList(); 916 _json["releases"] = releases.map((value) => (value).toJson()).toList();
940 } 917 }
941 return _json; 918 return _json;
942 } 919 }
943 } 920 }
944 921
945 /** The response for FirebaseRulesService.ListRulesets. */ 922 /// The response for FirebaseRulesService.ListRulesets.
946 class ListRulesetsResponse { 923 class ListRulesetsResponse {
947 /** 924 /// The pagination token to retrieve the next page of results. If the value
948 * The pagination token to retrieve the next page of results. If the value is 925 /// is
949 * empty, no further results remain. 926 /// empty, no further results remain.
950 */
951 core.String nextPageToken; 927 core.String nextPageToken;
952 /** List of `Ruleset` instances. */ 928
929 /// List of `Ruleset` instances.
953 core.List<Ruleset> rulesets; 930 core.List<Ruleset> rulesets;
954 931
955 ListRulesetsResponse(); 932 ListRulesetsResponse();
956 933
957 ListRulesetsResponse.fromJson(core.Map _json) { 934 ListRulesetsResponse.fromJson(core.Map _json) {
958 if (_json.containsKey("nextPageToken")) { 935 if (_json.containsKey("nextPageToken")) {
959 nextPageToken = _json["nextPageToken"]; 936 nextPageToken = _json["nextPageToken"];
960 } 937 }
961 if (_json.containsKey("rulesets")) { 938 if (_json.containsKey("rulesets")) {
962 rulesets = _json["rulesets"].map((value) => new Ruleset.fromJson(value)).t oList(); 939 rulesets = _json["rulesets"]
940 .map((value) => new Ruleset.fromJson(value))
941 .toList();
963 } 942 }
964 } 943 }
965 944
966 core.Map<core.String, core.Object> toJson() { 945 core.Map<core.String, core.Object> toJson() {
967 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 946 final core.Map<core.String, core.Object> _json =
947 new core.Map<core.String, core.Object>();
968 if (nextPageToken != null) { 948 if (nextPageToken != null) {
969 _json["nextPageToken"] = nextPageToken; 949 _json["nextPageToken"] = nextPageToken;
970 } 950 }
971 if (rulesets != null) { 951 if (rulesets != null) {
972 _json["rulesets"] = rulesets.map((value) => (value).toJson()).toList(); 952 _json["rulesets"] = rulesets.map((value) => (value).toJson()).toList();
973 } 953 }
974 return _json; 954 return _json;
975 } 955 }
976 } 956 }
977 957
978 /** 958 /// `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a
979 * `Release` is a named reference to a `Ruleset`. Once a `Release` refers to a 959 /// `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
980 * `Ruleset`, rules-enabled services will be able to enforce the `Ruleset`.
981 */
982 class Release { 960 class Release {
983 /** 961 /// Time the release was created.
984 * Time the release was created. 962 /// Output only.
985 * Output only.
986 */
987 core.String createTime; 963 core.String createTime;
988 /** 964
989 * Resource name for the `Release`. 965 /// Resource name for the `Release`.
990 * 966 ///
991 * `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2` 967 /// `Release` names may be structured `app1/prod/v2` or flat `app1_prod_v2`
992 * which affords developers a great deal of flexibility in mapping the name 968 /// which affords developers a great deal of flexibility in mapping the name
993 * to the style that best fits their existing development practices. For 969 /// to the style that best fits their existing development practices. For
994 * example, a name could refer to an environment, an app, a version, or some 970 /// example, a name could refer to an environment, an app, a version, or some
995 * combination of three. 971 /// combination of three.
996 * 972 ///
997 * In the table below, for the project name `projects/foo`, the following 973 /// In the table below, for the project name `projects/foo`, the following
998 * relative release paths show how flat and structured names might be chosen 974 /// relative release paths show how flat and structured names might be chosen
999 * to match a desired development / deployment strategy. 975 /// to match a desired development / deployment strategy.
1000 * 976 ///
1001 * Use Case | Flat Name | Structured Name 977 /// Use Case | Flat Name | Structured Name
1002 * -------------|---------------------|---------------- 978 /// -------------|---------------------|----------------
1003 * Environments | releases/qa | releases/qa 979 /// Environments | releases/qa | releases/qa
1004 * Apps | releases/app1_qa | releases/app1/qa 980 /// Apps | releases/app1_qa | releases/app1/qa
1005 * Versions | releases/app1_v2_qa | releases/app1/v2/qa 981 /// Versions | releases/app1_v2_qa | releases/app1/v2/qa
1006 * 982 ///
1007 * The delimiter between the release name path elements can be almost anything 983 /// The delimiter between the release name path elements can be almost
1008 * and it should work equally well with the release name list filter, but in 984 /// anything
1009 * many ways the structured paths provide a clearer picture of the 985 /// and it should work equally well with the release name list filter, but in
1010 * relationship between `Release` instances. 986 /// many ways the structured paths provide a clearer picture of the
1011 * 987 /// relationship between `Release` instances.
1012 * Format: `projects/{project_id}/releases/{release_id}` 988 ///
1013 */ 989 /// Format: `projects/{project_id}/releases/{release_id}`
1014 core.String name; 990 core.String name;
1015 /** 991
1016 * Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must 992 /// Name of the `Ruleset` referred to by this `Release`. The `Ruleset` must
1017 * exist the `Release` to be created. 993 /// exist the `Release` to be created.
1018 */
1019 core.String rulesetName; 994 core.String rulesetName;
1020 /** 995
1021 * Time the release was updated. 996 /// Time the release was updated.
1022 * Output only. 997 /// Output only.
1023 */
1024 core.String updateTime; 998 core.String updateTime;
1025 999
1026 Release(); 1000 Release();
1027 1001
1028 Release.fromJson(core.Map _json) { 1002 Release.fromJson(core.Map _json) {
1029 if (_json.containsKey("createTime")) { 1003 if (_json.containsKey("createTime")) {
1030 createTime = _json["createTime"]; 1004 createTime = _json["createTime"];
1031 } 1005 }
1032 if (_json.containsKey("name")) { 1006 if (_json.containsKey("name")) {
1033 name = _json["name"]; 1007 name = _json["name"];
1034 } 1008 }
1035 if (_json.containsKey("rulesetName")) { 1009 if (_json.containsKey("rulesetName")) {
1036 rulesetName = _json["rulesetName"]; 1010 rulesetName = _json["rulesetName"];
1037 } 1011 }
1038 if (_json.containsKey("updateTime")) { 1012 if (_json.containsKey("updateTime")) {
1039 updateTime = _json["updateTime"]; 1013 updateTime = _json["updateTime"];
1040 } 1014 }
1041 } 1015 }
1042 1016
1043 core.Map<core.String, core.Object> toJson() { 1017 core.Map<core.String, core.Object> toJson() {
1044 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1018 final core.Map<core.String, core.Object> _json =
1019 new core.Map<core.String, core.Object>();
1045 if (createTime != null) { 1020 if (createTime != null) {
1046 _json["createTime"] = createTime; 1021 _json["createTime"] = createTime;
1047 } 1022 }
1048 if (name != null) { 1023 if (name != null) {
1049 _json["name"] = name; 1024 _json["name"] = name;
1050 } 1025 }
1051 if (rulesetName != null) { 1026 if (rulesetName != null) {
1052 _json["rulesetName"] = rulesetName; 1027 _json["rulesetName"] = rulesetName;
1053 } 1028 }
1054 if (updateTime != null) { 1029 if (updateTime != null) {
1055 _json["updateTime"] = updateTime; 1030 _json["updateTime"] = updateTime;
1056 } 1031 }
1057 return _json; 1032 return _json;
1058 } 1033 }
1059 } 1034 }
1060 1035
1061 /** Possible result values from the function mock invocation. */ 1036 /// Possible result values from the function mock invocation.
1062 class Result { 1037 class Result {
1063 /** The result is undefined, meaning the result could not be computed. */ 1038 /// The result is undefined, meaning the result could not be computed.
1064 Empty undefined; 1039 Empty undefined;
1065 /** 1040
1066 * The result is an actual value. The type of the value must match that 1041 /// The result is an actual value. The type of the value must match that
1067 * of the type declared by the service. 1042 /// of the type declared by the service.
1068 * 1043 ///
1069 * The values for Object must be JSON objects. It can consist of `num`, 1044 /// The values for Object must be JSON objects. It can consist of `num`,
1070 * `String`, `bool` and `null` as well as `Map` and `List` values. 1045 /// `String`, `bool` and `null` as well as `Map` and `List` values.
1071 */
1072 core.Object value; 1046 core.Object value;
1073 1047
1074 Result(); 1048 Result();
1075 1049
1076 Result.fromJson(core.Map _json) { 1050 Result.fromJson(core.Map _json) {
1077 if (_json.containsKey("undefined")) { 1051 if (_json.containsKey("undefined")) {
1078 undefined = new Empty.fromJson(_json["undefined"]); 1052 undefined = new Empty.fromJson(_json["undefined"]);
1079 } 1053 }
1080 if (_json.containsKey("value")) { 1054 if (_json.containsKey("value")) {
1081 value = _json["value"]; 1055 value = _json["value"];
1082 } 1056 }
1083 } 1057 }
1084 1058
1085 core.Map<core.String, core.Object> toJson() { 1059 core.Map<core.String, core.Object> toJson() {
1086 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1060 final core.Map<core.String, core.Object> _json =
1061 new core.Map<core.String, core.Object>();
1087 if (undefined != null) { 1062 if (undefined != null) {
1088 _json["undefined"] = (undefined).toJson(); 1063 _json["undefined"] = (undefined).toJson();
1089 } 1064 }
1090 if (value != null) { 1065 if (value != null) {
1091 _json["value"] = value; 1066 _json["value"] = value;
1092 } 1067 }
1093 return _json; 1068 return _json;
1094 } 1069 }
1095 } 1070 }
1096 1071
1097 /** 1072 /// `Ruleset` is an immutable copy of `Source` with a globally unique
1098 * `Ruleset` is an immutable copy of `Source` with a globally unique identifier 1073 /// identifier
1099 * and a creation time. 1074 /// and a creation time.
1100 */
1101 class Ruleset { 1075 class Ruleset {
1102 /** 1076 /// Time the `Ruleset` was created.
1103 * Time the `Ruleset` was created. 1077 /// Output only.
1104 * Output only.
1105 */
1106 core.String createTime; 1078 core.String createTime;
1107 /** 1079
1108 * Name of the `Ruleset`. The ruleset_id is auto generated by the service. 1080 /// Name of the `Ruleset`. The ruleset_id is auto generated by the service.
1109 * Format: `projects/{project_id}/rulesets/{ruleset_id}` 1081 /// Format: `projects/{project_id}/rulesets/{ruleset_id}`
1110 * Output only. 1082 /// Output only.
1111 */
1112 core.String name; 1083 core.String name;
1113 /** `Source` for the `Ruleset`. */ 1084
1085 /// `Source` for the `Ruleset`.
1114 Source source; 1086 Source source;
1115 1087
1116 Ruleset(); 1088 Ruleset();
1117 1089
1118 Ruleset.fromJson(core.Map _json) { 1090 Ruleset.fromJson(core.Map _json) {
1119 if (_json.containsKey("createTime")) { 1091 if (_json.containsKey("createTime")) {
1120 createTime = _json["createTime"]; 1092 createTime = _json["createTime"];
1121 } 1093 }
1122 if (_json.containsKey("name")) { 1094 if (_json.containsKey("name")) {
1123 name = _json["name"]; 1095 name = _json["name"];
1124 } 1096 }
1125 if (_json.containsKey("source")) { 1097 if (_json.containsKey("source")) {
1126 source = new Source.fromJson(_json["source"]); 1098 source = new Source.fromJson(_json["source"]);
1127 } 1099 }
1128 } 1100 }
1129 1101
1130 core.Map<core.String, core.Object> toJson() { 1102 core.Map<core.String, core.Object> toJson() {
1131 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1103 final core.Map<core.String, core.Object> _json =
1104 new core.Map<core.String, core.Object>();
1132 if (createTime != null) { 1105 if (createTime != null) {
1133 _json["createTime"] = createTime; 1106 _json["createTime"] = createTime;
1134 } 1107 }
1135 if (name != null) { 1108 if (name != null) {
1136 _json["name"] = name; 1109 _json["name"] = name;
1137 } 1110 }
1138 if (source != null) { 1111 if (source != null) {
1139 _json["source"] = (source).toJson(); 1112 _json["source"] = (source).toJson();
1140 } 1113 }
1141 return _json; 1114 return _json;
1142 } 1115 }
1143 } 1116 }
1144 1117
1145 /** 1118 /// `Source` is one or more `File` messages comprising a logical set of rules.
1146 * `Source` is one or more `File` messages comprising a logical set of rules.
1147 */
1148 class Source { 1119 class Source {
1149 /** `File` set constituting the `Source` bundle. */ 1120 /// `File` set constituting the `Source` bundle.
1150 core.List<File> files; 1121 core.List<File> files;
1151 1122
1152 Source(); 1123 Source();
1153 1124
1154 Source.fromJson(core.Map _json) { 1125 Source.fromJson(core.Map _json) {
1155 if (_json.containsKey("files")) { 1126 if (_json.containsKey("files")) {
1156 files = _json["files"].map((value) => new File.fromJson(value)).toList(); 1127 files = _json["files"].map((value) => new File.fromJson(value)).toList();
1157 } 1128 }
1158 } 1129 }
1159 1130
1160 core.Map<core.String, core.Object> toJson() { 1131 core.Map<core.String, core.Object> toJson() {
1161 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1132 final core.Map<core.String, core.Object> _json =
1133 new core.Map<core.String, core.Object>();
1162 if (files != null) { 1134 if (files != null) {
1163 _json["files"] = files.map((value) => (value).toJson()).toList(); 1135 _json["files"] = files.map((value) => (value).toJson()).toList();
1164 } 1136 }
1165 return _json; 1137 return _json;
1166 } 1138 }
1167 } 1139 }
1168 1140
1169 /** 1141 /// Position in the `Source` content including its line, column number, and an
1170 * Position in the `Source` content including its line, column number, and an 1142 /// index of the `File` in the `Source` message. Used for debug purposes.
1171 * index of the `File` in the `Source` message. Used for debug purposes.
1172 */
1173 class SourcePosition { 1143 class SourcePosition {
1174 /** First column on the source line associated with the source fragment. */ 1144 /// First column on the source line associated with the source fragment.
1175 core.int column; 1145 core.int column;
1176 /** Name of the `File`. */ 1146
1147 /// Name of the `File`.
1177 core.String fileName; 1148 core.String fileName;
1178 /** Line number of the source fragment. 1-based. */ 1149
1150 /// Line number of the source fragment. 1-based.
1179 core.int line; 1151 core.int line;
1180 1152
1181 SourcePosition(); 1153 SourcePosition();
1182 1154
1183 SourcePosition.fromJson(core.Map _json) { 1155 SourcePosition.fromJson(core.Map _json) {
1184 if (_json.containsKey("column")) { 1156 if (_json.containsKey("column")) {
1185 column = _json["column"]; 1157 column = _json["column"];
1186 } 1158 }
1187 if (_json.containsKey("fileName")) { 1159 if (_json.containsKey("fileName")) {
1188 fileName = _json["fileName"]; 1160 fileName = _json["fileName"];
1189 } 1161 }
1190 if (_json.containsKey("line")) { 1162 if (_json.containsKey("line")) {
1191 line = _json["line"]; 1163 line = _json["line"];
1192 } 1164 }
1193 } 1165 }
1194 1166
1195 core.Map<core.String, core.Object> toJson() { 1167 core.Map<core.String, core.Object> toJson() {
1196 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1168 final core.Map<core.String, core.Object> _json =
1169 new core.Map<core.String, core.Object>();
1197 if (column != null) { 1170 if (column != null) {
1198 _json["column"] = column; 1171 _json["column"] = column;
1199 } 1172 }
1200 if (fileName != null) { 1173 if (fileName != null) {
1201 _json["fileName"] = fileName; 1174 _json["fileName"] = fileName;
1202 } 1175 }
1203 if (line != null) { 1176 if (line != null) {
1204 _json["line"] = line; 1177 _json["line"] = line;
1205 } 1178 }
1206 return _json; 1179 return _json;
1207 } 1180 }
1208 } 1181 }
1209 1182
1210 /** 1183 /// `TestCase` messages provide the request context and an expectation as to
1211 * `TestCase` messages provide the request context and an expectation as to 1184 /// whether the given context will be allowed or denied. Test cases may specify
1212 * whether the given context will be allowed or denied. Test cases may specify 1185 /// the `request`, `resource`, and `function_mocks` to mock a function call to
1213 * the `request`, `resource`, and `function_mocks` to mock a function call to 1186 /// a service-provided function.
1214 * a service-provided function. 1187 ///
1215 * 1188 /// The `request` object represents context present at request-time.
1216 * The `request` object represents context present at request-time. 1189 ///
1217 * 1190 /// The `resource` is the value of the target resource as it appears in
1218 * The `resource` is the value of the target resource as it appears in 1191 /// persistent storage before the request is executed.
1219 * persistent storage before the request is executed.
1220 */
1221 class TestCase { 1192 class TestCase {
1222 /** 1193 /// Test expectation.
1223 * Test expectation. 1194 /// Possible string values are:
1224 * Possible string values are: 1195 /// - "EXPECTATION_UNSPECIFIED" : Unspecified expectation.
1225 * - "EXPECTATION_UNSPECIFIED" : Unspecified expectation. 1196 /// - "ALLOW" : Expect an allowed result.
1226 * - "ALLOW" : Expect an allowed result. 1197 /// - "DENY" : Expect a denied result.
1227 * - "DENY" : Expect a denied result.
1228 */
1229 core.String expectation; 1198 core.String expectation;
1230 /** 1199
1231 * Optional function mocks for service-defined functions. If not set, any 1200 /// Optional function mocks for service-defined functions. If not set, any
1232 * service defined function is expected to return an error, which may or may 1201 /// service defined function is expected to return an error, which may or may
1233 * not influence the test outcome. 1202 /// not influence the test outcome.
1234 */
1235 core.List<FunctionMock> functionMocks; 1203 core.List<FunctionMock> functionMocks;
1236 /** 1204
1237 * Request context. 1205 /// Request context.
1238 * 1206 ///
1239 * The exact format of the request context is service-dependent. See the 1207 /// The exact format of the request context is service-dependent. See the
1240 * appropriate service documentation for information about the supported 1208 /// appropriate service documentation for information about the supported
1241 * fields and types on the request. Minimally, all services support the 1209 /// fields and types on the request. Minimally, all services support the
1242 * following fields and types: 1210 /// following fields and types:
1243 * 1211 ///
1244 * Request field | Type 1212 /// Request field | Type
1245 * ---------------|----------------- 1213 /// ---------------|-----------------
1246 * auth.uid | `string` 1214 /// auth.uid | `string`
1247 * auth.token | `map<string, string>` 1215 /// auth.token | `map<string, string>`
1248 * headers | `map<string, string>` 1216 /// headers | `map<string, string>`
1249 * method | `string` 1217 /// method | `string`
1250 * params | `map<string, string>` 1218 /// params | `map<string, string>`
1251 * path | `string` 1219 /// path | `string`
1252 * time | `google.protobuf.Timestamp` 1220 /// time | `google.protobuf.Timestamp`
1253 * 1221 ///
1254 * If the request value is not well-formed for the service, the request will 1222 /// If the request value is not well-formed for the service, the request will
1255 * be rejected as an invalid argument. 1223 /// be rejected as an invalid argument.
1256 * 1224 ///
1257 * The values for Object must be JSON objects. It can consist of `num`, 1225 /// The values for Object must be JSON objects. It can consist of `num`,
1258 * `String`, `bool` and `null` as well as `Map` and `List` values. 1226 /// `String`, `bool` and `null` as well as `Map` and `List` values.
1259 */
1260 core.Object request; 1227 core.Object request;
1261 /** 1228
1262 * Optional resource value as it appears in persistent storage before the 1229 /// Optional resource value as it appears in persistent storage before the
1263 * request is fulfilled. 1230 /// request is fulfilled.
1264 * 1231 ///
1265 * The resource type depends on the `request.path` value. 1232 /// The resource type depends on the `request.path` value.
1266 * 1233 ///
1267 * The values for Object must be JSON objects. It can consist of `num`, 1234 /// The values for Object must be JSON objects. It can consist of `num`,
1268 * `String`, `bool` and `null` as well as `Map` and `List` values. 1235 /// `String`, `bool` and `null` as well as `Map` and `List` values.
1269 */
1270 core.Object resource; 1236 core.Object resource;
1271 1237
1272 TestCase(); 1238 TestCase();
1273 1239
1274 TestCase.fromJson(core.Map _json) { 1240 TestCase.fromJson(core.Map _json) {
1275 if (_json.containsKey("expectation")) { 1241 if (_json.containsKey("expectation")) {
1276 expectation = _json["expectation"]; 1242 expectation = _json["expectation"];
1277 } 1243 }
1278 if (_json.containsKey("functionMocks")) { 1244 if (_json.containsKey("functionMocks")) {
1279 functionMocks = _json["functionMocks"].map((value) => new FunctionMock.fro mJson(value)).toList(); 1245 functionMocks = _json["functionMocks"]
1246 .map((value) => new FunctionMock.fromJson(value))
1247 .toList();
1280 } 1248 }
1281 if (_json.containsKey("request")) { 1249 if (_json.containsKey("request")) {
1282 request = _json["request"]; 1250 request = _json["request"];
1283 } 1251 }
1284 if (_json.containsKey("resource")) { 1252 if (_json.containsKey("resource")) {
1285 resource = _json["resource"]; 1253 resource = _json["resource"];
1286 } 1254 }
1287 } 1255 }
1288 1256
1289 core.Map<core.String, core.Object> toJson() { 1257 core.Map<core.String, core.Object> toJson() {
1290 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1258 final core.Map<core.String, core.Object> _json =
1259 new core.Map<core.String, core.Object>();
1291 if (expectation != null) { 1260 if (expectation != null) {
1292 _json["expectation"] = expectation; 1261 _json["expectation"] = expectation;
1293 } 1262 }
1294 if (functionMocks != null) { 1263 if (functionMocks != null) {
1295 _json["functionMocks"] = functionMocks.map((value) => (value).toJson()).to List(); 1264 _json["functionMocks"] =
1265 functionMocks.map((value) => (value).toJson()).toList();
1296 } 1266 }
1297 if (request != null) { 1267 if (request != null) {
1298 _json["request"] = request; 1268 _json["request"] = request;
1299 } 1269 }
1300 if (resource != null) { 1270 if (resource != null) {
1301 _json["resource"] = resource; 1271 _json["resource"] = resource;
1302 } 1272 }
1303 return _json; 1273 return _json;
1304 } 1274 }
1305 } 1275 }
1306 1276
1307 /** 1277 /// Test result message containing the state of the test as well as a
1308 * Test result message containing the state of the test as well as a 1278 /// description and source position for test failures.
1309 * description and source position for test failures.
1310 */
1311 class TestResult { 1279 class TestResult {
1312 /** 1280 /// Debug messages related to test execution issues encountered during
1313 * Debug messages related to test execution issues encountered during 1281 /// evaluation.
1314 * evaluation. 1282 ///
1315 * 1283 /// Debug messages may be related to too many or too few invocations of
1316 * Debug messages may be related to too many or too few invocations of 1284 /// function mocks or to runtime errors that occur during evaluation.
1317 * function mocks or to runtime errors that occur during evaluation. 1285 ///
1318 * 1286 /// For example: ```Unable to read variable [name: "resource"]```
1319 * For example: ```Unable to read variable [name: "resource"]```
1320 */
1321 core.List<core.String> debugMessages; 1287 core.List<core.String> debugMessages;
1322 /** 1288
1323 * Position in the `Source` or `Ruleset` where the principle runtime error 1289 /// Position in the `Source` or `Ruleset` where the principle runtime error
1324 * occurs. 1290 /// occurs.
1325 * 1291 ///
1326 * Evaluation of an expression may result in an error. Rules are deny by 1292 /// Evaluation of an expression may result in an error. Rules are deny by
1327 * default, so a `DENY` expectation when an error is generated is valid. 1293 /// default, so a `DENY` expectation when an error is generated is valid.
1328 * When there is a `DENY` with an error, the `SourcePosition` is returned. 1294 /// When there is a `DENY` with an error, the `SourcePosition` is returned.
1329 * 1295 ///
1330 * E.g. `error_position { line: 19 column: 37 }` 1296 /// E.g. `error_position { line: 19 column: 37 }`
1331 */
1332 SourcePosition errorPosition; 1297 SourcePosition errorPosition;
1333 /** 1298
1334 * The set of function calls made to service-defined methods. 1299 /// The set of function calls made to service-defined methods.
1335 * 1300 ///
1336 * Function calls are included in the order in which they are encountered 1301 /// Function calls are included in the order in which they are encountered
1337 * during evaluation, are provided for both mocked and unmocked functions, 1302 /// during evaluation, are provided for both mocked and unmocked functions,
1338 * and included on the response regardless of the test `state`. 1303 /// and included on the response regardless of the test `state`.
1339 */
1340 core.List<FunctionCall> functionCalls; 1304 core.List<FunctionCall> functionCalls;
1341 /** 1305
1342 * State of the test. 1306 /// State of the test.
1343 * Possible string values are: 1307 /// Possible string values are:
1344 * - "STATE_UNSPECIFIED" : Test state is not set. 1308 /// - "STATE_UNSPECIFIED" : Test state is not set.
1345 * - "SUCCESS" : Test is a success. 1309 /// - "SUCCESS" : Test is a success.
1346 * - "FAILURE" : Test is a failure. 1310 /// - "FAILURE" : Test is a failure.
1347 */
1348 core.String state; 1311 core.String state;
1349 1312
1350 TestResult(); 1313 TestResult();
1351 1314
1352 TestResult.fromJson(core.Map _json) { 1315 TestResult.fromJson(core.Map _json) {
1353 if (_json.containsKey("debugMessages")) { 1316 if (_json.containsKey("debugMessages")) {
1354 debugMessages = _json["debugMessages"]; 1317 debugMessages = _json["debugMessages"];
1355 } 1318 }
1356 if (_json.containsKey("errorPosition")) { 1319 if (_json.containsKey("errorPosition")) {
1357 errorPosition = new SourcePosition.fromJson(_json["errorPosition"]); 1320 errorPosition = new SourcePosition.fromJson(_json["errorPosition"]);
1358 } 1321 }
1359 if (_json.containsKey("functionCalls")) { 1322 if (_json.containsKey("functionCalls")) {
1360 functionCalls = _json["functionCalls"].map((value) => new FunctionCall.fro mJson(value)).toList(); 1323 functionCalls = _json["functionCalls"]
1324 .map((value) => new FunctionCall.fromJson(value))
1325 .toList();
1361 } 1326 }
1362 if (_json.containsKey("state")) { 1327 if (_json.containsKey("state")) {
1363 state = _json["state"]; 1328 state = _json["state"];
1364 } 1329 }
1365 } 1330 }
1366 1331
1367 core.Map<core.String, core.Object> toJson() { 1332 core.Map<core.String, core.Object> toJson() {
1368 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1333 final core.Map<core.String, core.Object> _json =
1334 new core.Map<core.String, core.Object>();
1369 if (debugMessages != null) { 1335 if (debugMessages != null) {
1370 _json["debugMessages"] = debugMessages; 1336 _json["debugMessages"] = debugMessages;
1371 } 1337 }
1372 if (errorPosition != null) { 1338 if (errorPosition != null) {
1373 _json["errorPosition"] = (errorPosition).toJson(); 1339 _json["errorPosition"] = (errorPosition).toJson();
1374 } 1340 }
1375 if (functionCalls != null) { 1341 if (functionCalls != null) {
1376 _json["functionCalls"] = functionCalls.map((value) => (value).toJson()).to List(); 1342 _json["functionCalls"] =
1343 functionCalls.map((value) => (value).toJson()).toList();
1377 } 1344 }
1378 if (state != null) { 1345 if (state != null) {
1379 _json["state"] = state; 1346 _json["state"] = state;
1380 } 1347 }
1381 return _json; 1348 return _json;
1382 } 1349 }
1383 } 1350 }
1384 1351
1385 /** The request for FirebaseRulesService.TestRuleset. */ 1352 /// The request for FirebaseRulesService.TestRuleset.
1386 class TestRulesetRequest { 1353 class TestRulesetRequest {
1387 /** 1354 /// Optional `Source` to be checked for correctness.
1388 * Optional `Source` to be checked for correctness. 1355 ///
1389 * 1356 /// This field must not be set when the resource name refers to a `Ruleset`.
1390 * This field must not be set when the resource name refers to a `Ruleset`.
1391 */
1392 Source source; 1357 Source source;
1393 /** Inline `TestSuite` to run. */ 1358
1359 /// Inline `TestSuite` to run.
1394 TestSuite testSuite; 1360 TestSuite testSuite;
1395 1361
1396 TestRulesetRequest(); 1362 TestRulesetRequest();
1397 1363
1398 TestRulesetRequest.fromJson(core.Map _json) { 1364 TestRulesetRequest.fromJson(core.Map _json) {
1399 if (_json.containsKey("source")) { 1365 if (_json.containsKey("source")) {
1400 source = new Source.fromJson(_json["source"]); 1366 source = new Source.fromJson(_json["source"]);
1401 } 1367 }
1402 if (_json.containsKey("testSuite")) { 1368 if (_json.containsKey("testSuite")) {
1403 testSuite = new TestSuite.fromJson(_json["testSuite"]); 1369 testSuite = new TestSuite.fromJson(_json["testSuite"]);
1404 } 1370 }
1405 } 1371 }
1406 1372
1407 core.Map<core.String, core.Object> toJson() { 1373 core.Map<core.String, core.Object> toJson() {
1408 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1374 final core.Map<core.String, core.Object> _json =
1375 new core.Map<core.String, core.Object>();
1409 if (source != null) { 1376 if (source != null) {
1410 _json["source"] = (source).toJson(); 1377 _json["source"] = (source).toJson();
1411 } 1378 }
1412 if (testSuite != null) { 1379 if (testSuite != null) {
1413 _json["testSuite"] = (testSuite).toJson(); 1380 _json["testSuite"] = (testSuite).toJson();
1414 } 1381 }
1415 return _json; 1382 return _json;
1416 } 1383 }
1417 } 1384 }
1418 1385
1419 /** The response for FirebaseRulesService.TestRuleset. */ 1386 /// The response for FirebaseRulesService.TestRuleset.
1420 class TestRulesetResponse { 1387 class TestRulesetResponse {
1421 /** 1388 /// Syntactic and semantic `Source` issues of varying severity. Issues of
1422 * Syntactic and semantic `Source` issues of varying severity. Issues of 1389 /// `ERROR` severity will prevent tests from executing.
1423 * `ERROR` severity will prevent tests from executing.
1424 */
1425 core.List<Issue> issues; 1390 core.List<Issue> issues;
1426 /** 1391
1427 * The set of test results given the test cases in the `TestSuite`. 1392 /// The set of test results given the test cases in the `TestSuite`.
1428 * The results will appear in the same order as the test cases appear in the 1393 /// The results will appear in the same order as the test cases appear in the
1429 * `TestSuite`. 1394 /// `TestSuite`.
1430 */
1431 core.List<TestResult> testResults; 1395 core.List<TestResult> testResults;
1432 1396
1433 TestRulesetResponse(); 1397 TestRulesetResponse();
1434 1398
1435 TestRulesetResponse.fromJson(core.Map _json) { 1399 TestRulesetResponse.fromJson(core.Map _json) {
1436 if (_json.containsKey("issues")) { 1400 if (_json.containsKey("issues")) {
1437 issues = _json["issues"].map((value) => new Issue.fromJson(value)).toList( ); 1401 issues =
1402 _json["issues"].map((value) => new Issue.fromJson(value)).toList();
1438 } 1403 }
1439 if (_json.containsKey("testResults")) { 1404 if (_json.containsKey("testResults")) {
1440 testResults = _json["testResults"].map((value) => new TestResult.fromJson( value)).toList(); 1405 testResults = _json["testResults"]
1406 .map((value) => new TestResult.fromJson(value))
1407 .toList();
1441 } 1408 }
1442 } 1409 }
1443 1410
1444 core.Map<core.String, core.Object> toJson() { 1411 core.Map<core.String, core.Object> toJson() {
1445 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1412 final core.Map<core.String, core.Object> _json =
1413 new core.Map<core.String, core.Object>();
1446 if (issues != null) { 1414 if (issues != null) {
1447 _json["issues"] = issues.map((value) => (value).toJson()).toList(); 1415 _json["issues"] = issues.map((value) => (value).toJson()).toList();
1448 } 1416 }
1449 if (testResults != null) { 1417 if (testResults != null) {
1450 _json["testResults"] = testResults.map((value) => (value).toJson()).toList (); 1418 _json["testResults"] =
1419 testResults.map((value) => (value).toJson()).toList();
1451 } 1420 }
1452 return _json; 1421 return _json;
1453 } 1422 }
1454 } 1423 }
1455 1424
1456 /** 1425 /// `TestSuite` is a collection of `TestCase` instances that validate the
1457 * `TestSuite` is a collection of `TestCase` instances that validate the logical 1426 /// logical
1458 * correctness of a `Ruleset`. The `TestSuite` may be referenced in-line within 1427 /// correctness of a `Ruleset`. The `TestSuite` may be referenced in-line
1459 * a `TestRuleset` invocation or as part of a `Release` object as a pre-release 1428 /// within
1460 * check. 1429 /// a `TestRuleset` invocation or as part of a `Release` object as a
1461 */ 1430 /// pre-release
1431 /// check.
1462 class TestSuite { 1432 class TestSuite {
1463 /** Collection of test cases associated with the `TestSuite`. */ 1433 /// Collection of test cases associated with the `TestSuite`.
1464 core.List<TestCase> testCases; 1434 core.List<TestCase> testCases;
1465 1435
1466 TestSuite(); 1436 TestSuite();
1467 1437
1468 TestSuite.fromJson(core.Map _json) { 1438 TestSuite.fromJson(core.Map _json) {
1469 if (_json.containsKey("testCases")) { 1439 if (_json.containsKey("testCases")) {
1470 testCases = _json["testCases"].map((value) => new TestCase.fromJson(value) ).toList(); 1440 testCases = _json["testCases"]
1441 .map((value) => new TestCase.fromJson(value))
1442 .toList();
1471 } 1443 }
1472 } 1444 }
1473 1445
1474 core.Map<core.String, core.Object> toJson() { 1446 core.Map<core.String, core.Object> toJson() {
1475 final core.Map<core.String, core.Object> _json = new core.Map<core.String, c ore.Object>(); 1447 final core.Map<core.String, core.Object> _json =
1448 new core.Map<core.String, core.Object>();
1476 if (testCases != null) { 1449 if (testCases != null) {
1477 _json["testCases"] = testCases.map((value) => (value).toJson()).toList(); 1450 _json["testCases"] = testCases.map((value) => (value).toJson()).toList();
1478 } 1451 }
1479 return _json; 1452 return _json;
1480 } 1453 }
1481 } 1454 }
OLDNEW
« no previous file with comments | « generated/googleapis/lib/firebaseremoteconfig/v1.dart ('k') | generated/googleapis/lib/fitness/v1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698