Index: generated/googleapis/lib/cloudresourcemanager/v2beta1.dart |
diff --git a/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart b/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bad4faf04538ed528ba2c92629b340605dc4464f |
--- /dev/null |
+++ b/generated/googleapis/lib/cloudresourcemanager/v2beta1.dart |
@@ -0,0 +1,1663 @@ |
+// This is a generated file (see the discoveryapis_generator project). |
+ |
+library googleapis.cloudresourcemanager.v2beta1; |
+ |
+import 'dart:core' as core; |
+import 'dart:async' as async; |
+import 'dart:convert' as convert; |
+ |
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
+import 'package:http/http.dart' as http; |
+ |
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show |
+ ApiRequestError, DetailedApiRequestError; |
+ |
+const core.String USER_AGENT = 'dart-api-client cloudresourcemanager/v2beta1'; |
+ |
+/** |
+ * The Google Cloud Resource Manager API provides methods for creating, reading, |
+ * and updating project metadata. |
+ */ |
+class CloudresourcemanagerApi { |
+ /** View and manage your data across Google Cloud Platform services */ |
+ static const CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"; |
+ |
+ /** View your data across Google Cloud Platform services */ |
+ static const CloudPlatformReadOnlyScope = "https://www.googleapis.com/auth/cloud-platform.read-only"; |
+ |
+ |
+ final commons.ApiRequester _requester; |
+ |
+ FoldersResourceApi get folders => new FoldersResourceApi(_requester); |
+ |
+ CloudresourcemanagerApi(http.Client client, {core.String rootUrl: "https://cloudresourcemanager.googleapis.com/", core.String servicePath: ""}) : |
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
+} |
+ |
+ |
+class FoldersResourceApi { |
+ final commons.ApiRequester _requester; |
+ |
+ FoldersResourceApi(commons.ApiRequester client) : |
+ _requester = client; |
+ |
+ /** |
+ * Creates a Folder in the resource hierarchy. |
+ * Returns an Operation which can be used to track the progress of the |
+ * folder creation workflow. |
+ * Upon success the Operation.response field will be populated with the |
+ * created Folder. |
+ * |
+ * In order to succeed, the addition of this new Folder must not violate |
+ * the Folder naming, height or fanout constraints. |
+ * + The Folder's display_name must be distinct from all other Folder's that |
+ * share its parent. |
+ * + The addition of the Folder must not cause the active Folder hierarchy |
+ * to exceed a height of 4. Note, the full active + deleted Folder hierarchy |
+ * is allowed to reach a height of 8; this provides additional headroom when |
+ * moving folders that contain deleted folders. |
+ * + The addition of the Folder must not cause the total number of Folders |
+ * under its parent to exceed 100. |
+ * |
+ * If the operation fails due to a folder constraint violation, |
+ * a PreconditionFailure explaining the violation will be returned. |
+ * If the failure occurs synchronously then the PreconditionFailure |
+ * will be returned via the Status.details field and if it occurs |
+ * asynchronously then the PreconditionFailure will be returned |
+ * via the the Operation.error field. |
+ * |
+ * The caller must have `resourcemanager.folders.create` permission on the |
+ * identified parent. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [parent] - The resource name of the new Folder's parent. |
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> create(Folder request, {core.String parent}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (parent != null) { |
+ _queryParams["parent"] = [parent]; |
+ } |
+ |
+ _url = 'v2beta1/folders'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Requests deletion of a Folder. The Folder is moved into the |
+ * [DELETE_REQUESTED] state immediately, and is deleted approximately 30 days |
+ * later. This method may only be called on an empty Folder in the [ACTIVE] |
+ * state, where a Folder is empty if it doesn't contain any Folders or |
+ * Projects in the [ACTIVE] state. |
+ * The caller must have `resourcemanager.folders.delete` permission on the |
+ * identified folder. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - the resource name of the Folder to be deleted. |
+ * Must be of the form `folders/{folder_id}`. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Folder]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Folder> delete(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "DELETE", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Folder.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Retrieves a Folder identified by the supplied resource name. |
+ * Valid Folder resource names have the format `folders/{folder_id}` |
+ * (for example, `folders/1234`). |
+ * The caller must have `resourcemanager.folders.get` permission on the |
+ * identified folder. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the Folder to retrieve. |
+ * Must be of the form `folders/{folder_id}`. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Folder]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Folder> get(core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Folder.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Gets the access control policy for a Folder. The returned policy may be |
+ * empty if no such policy or resource exists. The `resource` field should |
+ * be the Folder's resource name, e.g. "folders/1234". |
+ * The caller must have `resourcemanager.folders.getIamPolicy` permission |
+ * on the identified folder. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [resource] - REQUIRED: The resource for which the policy is being |
+ * requested. |
+ * See the operation documentation for the appropriate value for this field. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Policy]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Policy> getIamPolicy(GetIamPolicyRequest request, core.String resource) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (resource == null) { |
+ throw new core.ArgumentError("Parameter resource is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIamPolicy'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Policy.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Lists the Folders that are direct descendants of supplied parent resource. |
+ * List provides a strongly consistent view of the Folders underneath |
+ * the specified parent resource. |
+ * List returns Folders sorted based upon the (ascending) lexical ordering |
+ * of their display_name. |
+ * The caller must have `resourcemanager.folders.list` permission on the |
+ * identified parent. |
+ * |
+ * Request parameters: |
+ * |
+ * [showDeleted] - Controls whether Folders in the [DELETE_REQUESTED} state |
+ * should |
+ * be returned. |
+ * |
+ * [pageToken] - A pagination token returned from a previous call to |
+ * `ListFolders` |
+ * that indicates where this listing should continue from. |
+ * This field is optional. |
+ * |
+ * [pageSize] - The maximum number of Folders to return in the response. |
+ * This field is optional. |
+ * |
+ * [parent] - The resource name of the Organization or Folder whose Folders |
+ * are |
+ * being listed. |
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. |
+ * Access to this method is controlled by checking the |
+ * `resourcemanager.folders.list` permission on the `parent`. |
+ * |
+ * Completes with a [ListFoldersResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<ListFoldersResponse> list({core.bool showDeleted, core.String pageToken, core.int pageSize, core.String parent}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (showDeleted != null) { |
+ _queryParams["showDeleted"] = ["${showDeleted}"]; |
+ } |
+ if (pageToken != null) { |
+ _queryParams["pageToken"] = [pageToken]; |
+ } |
+ if (pageSize != null) { |
+ _queryParams["pageSize"] = ["${pageSize}"]; |
+ } |
+ if (parent != null) { |
+ _queryParams["parent"] = [parent]; |
+ } |
+ |
+ _url = 'v2beta1/folders'; |
+ |
+ var _response = _requester.request(_url, |
+ "GET", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new ListFoldersResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Moves a Folder under a new resource parent. |
+ * Returns an Operation which can be used to track the progress of the |
+ * folder move workflow. |
+ * Upon success the Operation.response field will be populated with the |
+ * moved Folder. |
+ * Upon failure, a FolderOperationError categorizing the failure cause will |
+ * be returned - if the failure occurs synchronously then the |
+ * FolderOperationError will be returned via the Status.details field |
+ * and if it occurs asynchronously then the FolderOperation will be returned |
+ * via the the Operation.error field. |
+ * In addition, the Operation.metadata field will be populated with a |
+ * FolderOperation message as an aid to stateless clients. |
+ * Folder moves will be rejected if they violate either the naming, height |
+ * or fanout constraints described in the [CreateFolder] documentation. |
+ * The caller must have `resourcemanager.folders.move` permission on the |
+ * folder's current and proposed new parent. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the Folder to move. |
+ * Must be of the form folders/{folder_id} |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Operation]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Operation> move(MoveFolderRequest request, core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + ':move'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Operation.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Updates a Folder, changing its display_name. |
+ * Changes to the folder display_name will be rejected if they violate either |
+ * the display_name formatting rules or naming constraints described in |
+ * the [CreateFolder] documentation. |
+ * + The Folder's display name must start and end with a letter or digit, |
+ * may contain letters, digits, spaces, hyphens and underscores and can be |
+ * no longer than 30 characters. This is captured by the regular expression: |
+ * [\p{L}\p{N}]({\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. |
+ * The caller must have `resourcemanager.folders.update` permission on the |
+ * identified folder. |
+ * |
+ * If the update fails due to the unique name constraint then a |
+ * PreconditionFailure explaining this violation will be returned |
+ * in the Status.details field. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - Output only. The resource name of the Folder. |
+ * Its format is `folders/{folder_id}`, for example: "folders/1234". |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * [updateMask] - Fields to be updated. |
+ * Only the `display_name` can be updated. |
+ * |
+ * Completes with a [Folder]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Folder> patch(Folder request, core.String name, {core.String updateMask}) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ if (updateMask != null) { |
+ _queryParams["updateMask"] = [updateMask]; |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
+ |
+ var _response = _requester.request(_url, |
+ "PATCH", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Folder.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Search for folders that match specific filter criteria. |
+ * Search provides an eventually consistent view of the folders a user has |
+ * access to which meet the specified filter criteria. |
+ * |
+ * This will only return folders on which the caller has the |
+ * permission `resourcemanager.folders.get`. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * Completes with a [SearchFoldersResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<SearchFoldersResponse> search(SearchFoldersRequest request) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ |
+ _url = 'v2beta1/folders:search'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new SearchFoldersResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Sets the access control policy on a Folder, replacing any existing policy. |
+ * The `resource` field should be the Folder's resource name, e.g. |
+ * "folders/1234". |
+ * The caller must have `resourcemanager.folders.setIamPolicy` permission |
+ * on the identified folder. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [resource] - REQUIRED: The resource for which the policy is being |
+ * specified. |
+ * See the operation documentation for the appropriate value for this field. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Policy]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Policy> setIamPolicy(SetIamPolicyRequest request, core.String resource) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (resource == null) { |
+ throw new core.ArgumentError("Parameter resource is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIamPolicy'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Policy.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Returns permissions that a caller has on the specified Folder. |
+ * The `resource` field should be the Folder's resource name, |
+ * e.g. "folders/1234". |
+ * |
+ * There are no permissions required for making this API call. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [resource] - REQUIRED: The resource for which the policy detail is being |
+ * requested. |
+ * See the operation documentation for the appropriate value for this field. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [TestIamPermissionsResponse]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<TestIamPermissionsResponse> testIamPermissions(TestIamPermissionsRequest request, core.String resource) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (resource == null) { |
+ throw new core.ArgumentError("Parameter resource is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIamPermissions'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new TestIamPermissionsResponse.fromJson(data)); |
+ } |
+ |
+ /** |
+ * Cancels the deletion request for a Folder. This method may only be |
+ * called on a Folder in the [DELETE_REQUESTED] state. |
+ * In order to succeed, the Folder's parent must be in the [ACTIVE] state. |
+ * In addition, reintroducing the folder into the tree must not violate |
+ * folder naming, height and fanout constraints described in the |
+ * [CreateFolder] documentation. |
+ * The caller must have `resourcemanager.folders.undelete` permission on the |
+ * identified folder. |
+ * |
+ * [request] - The metadata request object. |
+ * |
+ * Request parameters: |
+ * |
+ * [name] - The resource name of the Folder to undelete. |
+ * Must be of the form `folders/{folder_id}`. |
+ * Value must have pattern "^folders/[^/]+$". |
+ * |
+ * Completes with a [Folder]. |
+ * |
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an |
+ * error. |
+ * |
+ * If the used [http.Client] completes with an error when making a REST call, |
+ * this method will complete with the same error. |
+ */ |
+ async.Future<Folder> undelete(UndeleteFolderRequest request, core.String name) { |
+ var _url = null; |
+ var _queryParams = new core.Map(); |
+ var _uploadMedia = null; |
+ var _uploadOptions = null; |
+ var _downloadOptions = commons.DownloadOptions.Metadata; |
+ var _body = null; |
+ |
+ if (request != null) { |
+ _body = convert.JSON.encode((request).toJson()); |
+ } |
+ if (name == null) { |
+ throw new core.ArgumentError("Parameter name is required."); |
+ } |
+ |
+ _url = 'v2beta1/' + commons.Escaper.ecapeVariableReserved('$name') + ':undelete'; |
+ |
+ var _response = _requester.request(_url, |
+ "POST", |
+ body: _body, |
+ queryParams: _queryParams, |
+ uploadOptions: _uploadOptions, |
+ uploadMedia: _uploadMedia, |
+ downloadOptions: _downloadOptions); |
+ return _response.then((data) => new Folder.fromJson(data)); |
+ } |
+ |
+} |
+ |
+ |
+ |
+/** |
+ * Specifies the audit configuration for a service. |
+ * The configuration determines which permission types are logged, and what |
+ * identities, if any, are exempted from logging. |
+ * An AuditConfig must have one or more AuditLogConfigs. |
+ * |
+ * If there are AuditConfigs for both `allServices` and a specific service, |
+ * the union of the two AuditConfigs is used for that service: the log_types |
+ * specified in each AuditConfig are enabled, and the exempted_members in each |
+ * AuditConfig are exempted. |
+ * |
+ * Example Policy with multiple AuditConfigs: |
+ * |
+ * { |
+ * "audit_configs": [ |
+ * { |
+ * "service": "allServices" |
+ * "audit_log_configs": [ |
+ * { |
+ * "log_type": "DATA_READ", |
+ * "exempted_members": [ |
+ * "user:foo@gmail.com" |
+ * ] |
+ * }, |
+ * { |
+ * "log_type": "DATA_WRITE", |
+ * }, |
+ * { |
+ * "log_type": "ADMIN_READ", |
+ * } |
+ * ] |
+ * }, |
+ * { |
+ * "service": "fooservice.googleapis.com" |
+ * "audit_log_configs": [ |
+ * { |
+ * "log_type": "DATA_READ", |
+ * }, |
+ * { |
+ * "log_type": "DATA_WRITE", |
+ * "exempted_members": [ |
+ * "user:bar@gmail.com" |
+ * ] |
+ * } |
+ * ] |
+ * } |
+ * ] |
+ * } |
+ * |
+ * For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ |
+ * logging. It also exempts foo@gmail.com from DATA_READ logging, and |
+ * bar@gmail.com from DATA_WRITE logging. |
+ */ |
+class AuditConfig { |
+ /** |
+ * The configuration for logging of each type of permission. |
+ * Next ID: 4 |
+ */ |
+ core.List<AuditLogConfig> auditLogConfigs; |
+ /** |
+ * Specifies a service that will be enabled for audit logging. |
+ * For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. |
+ * `allServices` is a special value that covers all services. |
+ */ |
+ core.String service; |
+ |
+ AuditConfig(); |
+ |
+ AuditConfig.fromJson(core.Map _json) { |
+ if (_json.containsKey("auditLogConfigs")) { |
+ auditLogConfigs = _json["auditLogConfigs"].map((value) => new AuditLogConfig.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("service")) { |
+ service = _json["service"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (auditLogConfigs != null) { |
+ _json["auditLogConfigs"] = auditLogConfigs.map((value) => (value).toJson()).toList(); |
+ } |
+ if (service != null) { |
+ _json["service"] = service; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Provides the configuration for logging a type of permissions. |
+ * Example: |
+ * |
+ * { |
+ * "audit_log_configs": [ |
+ * { |
+ * "log_type": "DATA_READ", |
+ * "exempted_members": [ |
+ * "user:foo@gmail.com" |
+ * ] |
+ * }, |
+ * { |
+ * "log_type": "DATA_WRITE", |
+ * } |
+ * ] |
+ * } |
+ * |
+ * This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting |
+ * foo@gmail.com from DATA_READ logging. |
+ */ |
+class AuditLogConfig { |
+ /** |
+ * Specifies the identities that do not cause logging for this type of |
+ * permission. |
+ * Follows the same format of Binding.members. |
+ */ |
+ core.List<core.String> exemptedMembers; |
+ /** |
+ * The log type that this config enables. |
+ * Possible string values are: |
+ * - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this. |
+ * - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy |
+ * - "DATA_WRITE" : Data writes. Example: CloudSQL Users create |
+ * - "DATA_READ" : Data reads. Example: CloudSQL Users list |
+ */ |
+ core.String logType; |
+ |
+ AuditLogConfig(); |
+ |
+ AuditLogConfig.fromJson(core.Map _json) { |
+ if (_json.containsKey("exemptedMembers")) { |
+ exemptedMembers = _json["exemptedMembers"]; |
+ } |
+ if (_json.containsKey("logType")) { |
+ logType = _json["logType"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (exemptedMembers != null) { |
+ _json["exemptedMembers"] = exemptedMembers; |
+ } |
+ if (logType != null) { |
+ _json["logType"] = logType; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Associates `members` with a `role`. */ |
+class Binding { |
+ /** |
+ * Specifies the identities requesting access for a Cloud Platform resource. |
+ * `members` can have the following values: |
+ * |
+ * * `allUsers`: A special identifier that represents anyone who is |
+ * on the internet; with or without a Google account. |
+ * |
+ * * `allAuthenticatedUsers`: A special identifier that represents anyone |
+ * who is authenticated with a Google account or a service account. |
+ * |
+ * * `user:{emailid}`: An email address that represents a specific Google |
+ * account. For example, `alice@gmail.com` or `joe@example.com`. |
+ * |
+ * |
+ * * `serviceAccount:{emailid}`: An email address that represents a service |
+ * account. For example, `my-other-app@appspot.gserviceaccount.com`. |
+ * |
+ * * `group:{emailid}`: An email address that represents a Google group. |
+ * For example, `admins@example.com`. |
+ * |
+ * |
+ * * `domain:{domain}`: A Google Apps domain name that represents all the |
+ * users of that domain. For example, `google.com` or `example.com`. |
+ */ |
+ core.List<core.String> members; |
+ /** |
+ * Role that is assigned to `members`. |
+ * For example, `roles/viewer`, `roles/editor`, or `roles/owner`. |
+ * Required |
+ */ |
+ core.String role; |
+ |
+ Binding(); |
+ |
+ Binding.fromJson(core.Map _json) { |
+ if (_json.containsKey("members")) { |
+ members = _json["members"]; |
+ } |
+ if (_json.containsKey("role")) { |
+ role = _json["role"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (members != null) { |
+ _json["members"] = members; |
+ } |
+ if (role != null) { |
+ _json["role"] = role; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A Folder in an Organization's resource hierarchy, used to |
+ * organize that Organization's resources. |
+ */ |
+class Folder { |
+ /** |
+ * Output only. Timestamp when the Folder was created. Assigned by the server. |
+ */ |
+ core.String createTime; |
+ /** |
+ * The folder’s display name. |
+ * A folder’s display name must be unique amongst its siblings, e.g. |
+ * no two folders with the same parent can share the same display name. |
+ * The display name must start and end with a letter or digit, may contain |
+ * letters, digits, spaces, hyphens and underscores and can be no longer |
+ * than 30 characters. This is captured by the regular expression: |
+ * [\p{L}\p{N}]({\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?. |
+ */ |
+ core.String displayName; |
+ /** |
+ * Output only. The lifecycle state of the folder. |
+ * Updates to the lifecycle_state must be performed via |
+ * [DeleteFolder] and [UndeleteFolder]. |
+ * Possible string values are: |
+ * - "LIFECYCLE_STATE_UNSPECIFIED" : Unspecified state. |
+ * - "ACTIVE" : The normal and active state. |
+ * - "DELETE_REQUESTED" : The folder has been marked for deletion by the user. |
+ */ |
+ core.String lifecycleState; |
+ /** |
+ * Output only. The resource name of the Folder. |
+ * Its format is `folders/{folder_id}`, for example: "folders/1234". |
+ */ |
+ core.String name; |
+ /** |
+ * The Folder’s parent's resource name. |
+ * Updates to the folder's parent must be performed via [MoveFolders]. |
+ */ |
+ core.String parent; |
+ |
+ Folder(); |
+ |
+ Folder.fromJson(core.Map _json) { |
+ if (_json.containsKey("createTime")) { |
+ createTime = _json["createTime"]; |
+ } |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("lifecycleState")) { |
+ lifecycleState = _json["lifecycleState"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("parent")) { |
+ parent = _json["parent"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (createTime != null) { |
+ _json["createTime"] = createTime; |
+ } |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (lifecycleState != null) { |
+ _json["lifecycleState"] = lifecycleState; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (parent != null) { |
+ _json["parent"] = parent; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Metadata describing a long running folder operation */ |
+class FolderOperation { |
+ /** |
+ * The resource name of the folder or organization we are either creating |
+ * the folder under or moving the folder to. |
+ */ |
+ core.String destinationParent; |
+ /** The display name of the folder. */ |
+ core.String displayName; |
+ /** |
+ * The type of this operation. |
+ * Possible string values are: |
+ * - "OPERATION_TYPE_UNSPECIFIED" : Operation type not specified. |
+ * - "CREATE" : A create folder operation. |
+ * - "MOVE" : A move folder operation. |
+ */ |
+ core.String operationType; |
+ /** |
+ * The resource name of the folder's parent. |
+ * Only applicable when the operation_type is MOVE. |
+ */ |
+ core.String sourceParent; |
+ |
+ FolderOperation(); |
+ |
+ FolderOperation.fromJson(core.Map _json) { |
+ if (_json.containsKey("destinationParent")) { |
+ destinationParent = _json["destinationParent"]; |
+ } |
+ if (_json.containsKey("displayName")) { |
+ displayName = _json["displayName"]; |
+ } |
+ if (_json.containsKey("operationType")) { |
+ operationType = _json["operationType"]; |
+ } |
+ if (_json.containsKey("sourceParent")) { |
+ sourceParent = _json["sourceParent"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (destinationParent != null) { |
+ _json["destinationParent"] = destinationParent; |
+ } |
+ if (displayName != null) { |
+ _json["displayName"] = displayName; |
+ } |
+ if (operationType != null) { |
+ _json["operationType"] = operationType; |
+ } |
+ if (sourceParent != null) { |
+ _json["sourceParent"] = sourceParent; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** A classification of the Folder Operation error. */ |
+class FolderOperationError { |
+ /** |
+ * The type of operation error experienced. |
+ * Possible string values are: |
+ * - "ERROR_TYPE_UNSPECIFIED" : The error type was unrecognized or |
+ * unspecified. |
+ * - "ACTIVE_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate the |
+ * max folder depth constraint. |
+ * - "MAX_CHILD_FOLDERS_VIOLATION" : The attempted action would violate the |
+ * max child folders constraint. |
+ * - "FOLDER_NAME_UNIQUENESS_VIOLATION" : The attempted action would violate |
+ * the locally-unique folder |
+ * display_name constraint. |
+ * - "RESOURCE_DELETED_VIOLATION" : The resource being moved has been deleted. |
+ * - "PARENT_DELETED_VIOLATION" : The resource a folder was being added to has |
+ * been deleted. |
+ * - "CYCLE_INTRODUCED_VIOLATION" : The attempted action would introduce cycle |
+ * in resource path. |
+ * - "FOLDER_BEING_MOVED_VIOLATION" : The attempted action would move a folder |
+ * that is already being moved. |
+ * - "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION" : The folder the caller is trying |
+ * to delete contains active resources. |
+ * - "DELETED_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate |
+ * the max deleted folder depth |
+ * constraint. |
+ */ |
+ core.String errorMessageId; |
+ |
+ FolderOperationError(); |
+ |
+ FolderOperationError.fromJson(core.Map _json) { |
+ if (_json.containsKey("errorMessageId")) { |
+ errorMessageId = _json["errorMessageId"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (errorMessageId != null) { |
+ _json["errorMessageId"] = errorMessageId; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Request message for `GetIamPolicy` method. */ |
+class GetIamPolicyRequest { |
+ |
+ GetIamPolicyRequest(); |
+ |
+ GetIamPolicyRequest.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ return _json; |
+ } |
+} |
+ |
+/** The ListFolders response message. */ |
+class ListFoldersResponse { |
+ /** |
+ * A possibly paginated list of Folders that are direct descendants of |
+ * the specified parent resource. |
+ */ |
+ core.List<Folder> folders; |
+ /** |
+ * A pagination token returned from a previous call to `ListFolders` |
+ * that indicates from where listing should continue. |
+ * This field is optional. |
+ */ |
+ core.String nextPageToken; |
+ |
+ ListFoldersResponse(); |
+ |
+ ListFoldersResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("folders")) { |
+ folders = _json["folders"].map((value) => new Folder.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (folders != null) { |
+ _json["folders"] = folders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The MoveFolder request message. */ |
+class MoveFolderRequest { |
+ /** |
+ * The resource name of the Folder or Organization to reparent |
+ * the folder under. |
+ * Must be of the form `folders/{folder_id}` or `organizations/{org_id}`. |
+ */ |
+ core.String destinationParent; |
+ |
+ MoveFolderRequest(); |
+ |
+ MoveFolderRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("destinationParent")) { |
+ destinationParent = _json["destinationParent"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (destinationParent != null) { |
+ _json["destinationParent"] = destinationParent; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * This resource represents a long-running operation that is the result of a |
+ * network API call. |
+ */ |
+class Operation { |
+ /** |
+ * If the value is `false`, it means the operation is still in progress. |
+ * If true, the operation is completed, and either `error` or `response` is |
+ * available. |
+ */ |
+ core.bool done; |
+ /** The error result of the operation in case of failure or cancellation. */ |
+ Status error; |
+ /** |
+ * Service-specific metadata associated with the operation. It typically |
+ * contains progress information and common metadata such as create time. |
+ * Some services might not provide such metadata. Any method that returns a |
+ * long-running operation should document the metadata type, if any. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.Map<core.String, core.Object> metadata; |
+ /** |
+ * The server-assigned name, which is only unique within the same service that |
+ * originally returns it. If you use the default HTTP mapping, the |
+ * `name` should have the format of `operations/some/unique/name`. |
+ */ |
+ core.String name; |
+ /** |
+ * The normal response of the operation in case of success. If the original |
+ * method returns no data on success, such as `Delete`, the response is |
+ * `google.protobuf.Empty`. If the original method is standard |
+ * `Get`/`Create`/`Update`, the response should be the resource. For other |
+ * methods, the response should have the type `XxxResponse`, where `Xxx` |
+ * is the original method name. For example, if the original method name |
+ * is `TakeSnapshot()`, the inferred response type is |
+ * `TakeSnapshotResponse`. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.Map<core.String, core.Object> response; |
+ |
+ Operation(); |
+ |
+ Operation.fromJson(core.Map _json) { |
+ if (_json.containsKey("done")) { |
+ done = _json["done"]; |
+ } |
+ if (_json.containsKey("error")) { |
+ error = new Status.fromJson(_json["error"]); |
+ } |
+ if (_json.containsKey("metadata")) { |
+ metadata = _json["metadata"]; |
+ } |
+ if (_json.containsKey("name")) { |
+ name = _json["name"]; |
+ } |
+ if (_json.containsKey("response")) { |
+ response = _json["response"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (done != null) { |
+ _json["done"] = done; |
+ } |
+ if (error != null) { |
+ _json["error"] = (error).toJson(); |
+ } |
+ if (metadata != null) { |
+ _json["metadata"] = metadata; |
+ } |
+ if (name != null) { |
+ _json["name"] = name; |
+ } |
+ if (response != null) { |
+ _json["response"] = response; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * Defines an Identity and Access Management (IAM) policy. It is used to |
+ * specify access control policies for Cloud Platform resources. |
+ * |
+ * |
+ * A `Policy` consists of a list of `bindings`. A `Binding` binds a list of |
+ * `members` to a `role`, where the members can be user accounts, Google groups, |
+ * Google domains, and service accounts. A `role` is a named list of permissions |
+ * defined by IAM. |
+ * |
+ * **Example** |
+ * |
+ * { |
+ * "bindings": [ |
+ * { |
+ * "role": "roles/owner", |
+ * "members": [ |
+ * "user:mike@example.com", |
+ * "group:admins@example.com", |
+ * "domain:google.com", |
+ * "serviceAccount:my-other-app@appspot.gserviceaccount.com", |
+ * ] |
+ * }, |
+ * { |
+ * "role": "roles/viewer", |
+ * "members": ["user:sean@example.com"] |
+ * } |
+ * ] |
+ * } |
+ * |
+ * For a description of IAM and its features, see the |
+ * [IAM developer's guide](https://cloud.google.com/iam). |
+ */ |
+class Policy { |
+ /** Specifies cloud audit logging configuration for this policy. */ |
+ core.List<AuditConfig> auditConfigs; |
+ /** |
+ * Associates a list of `members` to a `role`. |
+ * `bindings` with no members will result in an error. |
+ */ |
+ core.List<Binding> bindings; |
+ /** |
+ * `etag` is used for optimistic concurrency control as a way to help |
+ * prevent simultaneous updates of a policy from overwriting each other. |
+ * It is strongly suggested that systems make use of the `etag` in the |
+ * read-modify-write cycle to perform policy updates in order to avoid race |
+ * conditions: An `etag` is returned in the response to `getIamPolicy`, and |
+ * systems are expected to put that etag in the request to `setIamPolicy` to |
+ * ensure that their change will be applied to the same version of the policy. |
+ * |
+ * If no `etag` is provided in the call to `setIamPolicy`, then the existing |
+ * policy is overwritten blindly. |
+ */ |
+ core.String etag; |
+ core.List<core.int> get etagAsBytes { |
+ return convert.BASE64.decode(etag); |
+ } |
+ |
+ void set etagAsBytes(core.List<core.int> _bytes) { |
+ etag = convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
+ } |
+ /** Version of the `Policy`. The default version is 0. */ |
+ core.int version; |
+ |
+ Policy(); |
+ |
+ Policy.fromJson(core.Map _json) { |
+ if (_json.containsKey("auditConfigs")) { |
+ auditConfigs = _json["auditConfigs"].map((value) => new AuditConfig.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("bindings")) { |
+ bindings = _json["bindings"].map((value) => new Binding.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("etag")) { |
+ etag = _json["etag"]; |
+ } |
+ if (_json.containsKey("version")) { |
+ version = _json["version"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (auditConfigs != null) { |
+ _json["auditConfigs"] = auditConfigs.map((value) => (value).toJson()).toList(); |
+ } |
+ if (bindings != null) { |
+ _json["bindings"] = bindings.map((value) => (value).toJson()).toList(); |
+ } |
+ if (etag != null) { |
+ _json["etag"] = etag; |
+ } |
+ if (version != null) { |
+ _json["version"] = version; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * A status object which is used as the `metadata` field for the Operation |
+ * returned by CreateProject. It provides insight for when significant phases of |
+ * Project creation have completed. |
+ */ |
+class ProjectCreationStatus { |
+ /** Creation time of the project creation workflow. */ |
+ core.String createTime; |
+ /** |
+ * True if the project can be retrieved using GetProject. No other operations |
+ * on the project are guaranteed to work until the project creation is |
+ * complete. |
+ */ |
+ core.bool gettable; |
+ /** True if the project creation process is complete. */ |
+ core.bool ready; |
+ |
+ ProjectCreationStatus(); |
+ |
+ ProjectCreationStatus.fromJson(core.Map _json) { |
+ if (_json.containsKey("createTime")) { |
+ createTime = _json["createTime"]; |
+ } |
+ if (_json.containsKey("gettable")) { |
+ gettable = _json["gettable"]; |
+ } |
+ if (_json.containsKey("ready")) { |
+ ready = _json["ready"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (createTime != null) { |
+ _json["createTime"] = createTime; |
+ } |
+ if (gettable != null) { |
+ _json["gettable"] = gettable; |
+ } |
+ if (ready != null) { |
+ _json["ready"] = ready; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The request message for searching folders. */ |
+class SearchFoldersRequest { |
+ /** |
+ * The maximum number of folders to return in the response. |
+ * This field is optional. |
+ */ |
+ core.int pageSize; |
+ /** |
+ * A pagination token returned from a previous call to `SearchFolders` |
+ * that indicates from where search should continue. |
+ * This field is optional. |
+ */ |
+ core.String pageToken; |
+ /** |
+ * Search criteria used to select the Folders to return. |
+ * If no search criteria is specified then all accessible folders will be |
+ * returned. |
+ * |
+ * Query expressions can be used to restrict results based upon displayName, |
+ * lifecycleState and parent, where the operators `=`, `NOT`, `AND` and `OR` |
+ * can be used along with the suffix wildcard symbol `*`. |
+ * |
+ * Some example queries are: |
+ * |Query|Description| |
+ * |------|-----------| |
+ * |displayName=Test*|Folders whose display name starts with "Test".| |
+ * |lifecycleState=ACTIVE|Folders whose lifecycleState is ACTIVE.| |
+ * |parent=folders/123|Folders whose parent is "folders/123".| |
+ * |parent=folders/123 AND lifecycleState=ACTIVE|Active folders whose |
+ * parent is "folders/123".| |
+ */ |
+ core.String query; |
+ |
+ SearchFoldersRequest(); |
+ |
+ SearchFoldersRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("pageSize")) { |
+ pageSize = _json["pageSize"]; |
+ } |
+ if (_json.containsKey("pageToken")) { |
+ pageToken = _json["pageToken"]; |
+ } |
+ if (_json.containsKey("query")) { |
+ query = _json["query"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (pageSize != null) { |
+ _json["pageSize"] = pageSize; |
+ } |
+ if (pageToken != null) { |
+ _json["pageToken"] = pageToken; |
+ } |
+ if (query != null) { |
+ _json["query"] = query; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The response message for searching folders. */ |
+class SearchFoldersResponse { |
+ /** |
+ * A possibly paginated folder search results. |
+ * the specified parent resource. |
+ */ |
+ core.List<Folder> folders; |
+ /** |
+ * A pagination token returned from a previous call to `SearchFolders` |
+ * that indicates from where searching should continue. |
+ * This field is optional. |
+ */ |
+ core.String nextPageToken; |
+ |
+ SearchFoldersResponse(); |
+ |
+ SearchFoldersResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("folders")) { |
+ folders = _json["folders"].map((value) => new Folder.fromJson(value)).toList(); |
+ } |
+ if (_json.containsKey("nextPageToken")) { |
+ nextPageToken = _json["nextPageToken"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (folders != null) { |
+ _json["folders"] = folders.map((value) => (value).toJson()).toList(); |
+ } |
+ if (nextPageToken != null) { |
+ _json["nextPageToken"] = nextPageToken; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Request message for `SetIamPolicy` method. */ |
+class SetIamPolicyRequest { |
+ /** |
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of |
+ * the policy is limited to a few 10s of KB. An empty policy is a |
+ * valid policy but certain Cloud Platform services (such as Projects) |
+ * might reject them. |
+ */ |
+ Policy policy; |
+ /** |
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only |
+ * the fields in the mask will be modified. If no mask is provided, the |
+ * following default mask is used: |
+ * paths: "bindings, etag" |
+ * This field is only used by Cloud IAM. |
+ */ |
+ core.String updateMask; |
+ |
+ SetIamPolicyRequest(); |
+ |
+ SetIamPolicyRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("policy")) { |
+ policy = new Policy.fromJson(_json["policy"]); |
+ } |
+ if (_json.containsKey("updateMask")) { |
+ updateMask = _json["updateMask"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (policy != null) { |
+ _json["policy"] = (policy).toJson(); |
+ } |
+ if (updateMask != null) { |
+ _json["updateMask"] = updateMask; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** |
+ * The `Status` type defines a logical error model that is suitable for |
+ * different |
+ * programming environments, including REST APIs and RPC APIs. It is used by |
+ * [gRPC](https://github.com/grpc). The error model is designed to be: |
+ * |
+ * - Simple to use and understand for most users |
+ * - Flexible enough to meet unexpected needs |
+ * |
+ * # Overview |
+ * |
+ * The `Status` message contains three pieces of data: error code, error |
+ * message, |
+ * and error details. The error code should be an enum value of |
+ * google.rpc.Code, but it may accept additional error codes if needed. The |
+ * error message should be a developer-facing English message that helps |
+ * developers *understand* and *resolve* the error. If a localized user-facing |
+ * error message is needed, put the localized message in the error details or |
+ * localize it in the client. The optional error details may contain arbitrary |
+ * information about the error. There is a predefined set of error detail types |
+ * in the package `google.rpc` that can be used for common error conditions. |
+ * |
+ * # Language mapping |
+ * |
+ * The `Status` message is the logical representation of the error model, but it |
+ * is not necessarily the actual wire format. When the `Status` message is |
+ * exposed in different client libraries and different wire protocols, it can be |
+ * mapped differently. For example, it will likely be mapped to some exceptions |
+ * in Java, but more likely mapped to some error codes in C. |
+ * |
+ * # Other uses |
+ * |
+ * The error model and the `Status` message can be used in a variety of |
+ * environments, either with or without APIs, to provide a |
+ * consistent developer experience across different environments. |
+ * |
+ * Example uses of this error model include: |
+ * |
+ * - Partial errors. If a service needs to return partial errors to the client, |
+ * it may embed the `Status` in the normal response to indicate the partial |
+ * errors. |
+ * |
+ * - Workflow errors. A typical workflow has multiple steps. Each step may |
+ * have a `Status` message for error reporting. |
+ * |
+ * - Batch operations. If a client uses batch request and batch response, the |
+ * `Status` message should be used directly inside batch response, one for |
+ * each error sub-response. |
+ * |
+ * - Asynchronous operations. If an API call embeds asynchronous operation |
+ * results in its response, the status of those operations should be |
+ * represented directly using the `Status` message. |
+ * |
+ * - Logging. If some API errors are stored in logs, the message `Status` could |
+ * be used directly after any stripping needed for security/privacy reasons. |
+ */ |
+class Status { |
+ /** The status code, which should be an enum value of google.rpc.Code. */ |
+ core.int code; |
+ /** |
+ * A list of messages that carry the error details. There will be a |
+ * common set of message types for APIs to use. |
+ * |
+ * The values for Object must be JSON objects. It can consist of `num`, |
+ * `String`, `bool` and `null` as well as `Map` and `List` values. |
+ */ |
+ core.List<core.Map<core.String, core.Object>> details; |
+ /** |
+ * A developer-facing error message, which should be in English. Any |
+ * user-facing error message should be localized and sent in the |
+ * google.rpc.Status.details field, or localized by the client. |
+ */ |
+ core.String message; |
+ |
+ Status(); |
+ |
+ Status.fromJson(core.Map _json) { |
+ if (_json.containsKey("code")) { |
+ code = _json["code"]; |
+ } |
+ if (_json.containsKey("details")) { |
+ details = _json["details"]; |
+ } |
+ if (_json.containsKey("message")) { |
+ message = _json["message"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (code != null) { |
+ _json["code"] = code; |
+ } |
+ if (details != null) { |
+ _json["details"] = details; |
+ } |
+ if (message != null) { |
+ _json["message"] = message; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Request message for `TestIamPermissions` method. */ |
+class TestIamPermissionsRequest { |
+ /** |
+ * The set of permissions to check for the `resource`. Permissions with |
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more |
+ * information see |
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). |
+ */ |
+ core.List<core.String> permissions; |
+ |
+ TestIamPermissionsRequest(); |
+ |
+ TestIamPermissionsRequest.fromJson(core.Map _json) { |
+ if (_json.containsKey("permissions")) { |
+ permissions = _json["permissions"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (permissions != null) { |
+ _json["permissions"] = permissions; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** Response message for `TestIamPermissions` method. */ |
+class TestIamPermissionsResponse { |
+ /** |
+ * A subset of `TestPermissionsRequest.permissions` that the caller is |
+ * allowed. |
+ */ |
+ core.List<core.String> permissions; |
+ |
+ TestIamPermissionsResponse(); |
+ |
+ TestIamPermissionsResponse.fromJson(core.Map _json) { |
+ if (_json.containsKey("permissions")) { |
+ permissions = _json["permissions"]; |
+ } |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ if (permissions != null) { |
+ _json["permissions"] = permissions; |
+ } |
+ return _json; |
+ } |
+} |
+ |
+/** The UndeleteFolder request message. */ |
+class UndeleteFolderRequest { |
+ |
+ UndeleteFolderRequest(); |
+ |
+ UndeleteFolderRequest.fromJson(core.Map _json) { |
+ } |
+ |
+ core.Map<core.String, core.Object> toJson() { |
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>(); |
+ return _json; |
+ } |
+} |