| 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;
|
| + }
|
| +}
|
|
|