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

Unified Diff: generated/googleapis/lib/cloudresourcemanager/v2beta1.dart

Issue 2973303002: Api-Roll 51: 2017-07-10 (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « generated/googleapis/lib/cloudresourcemanager/v1.dart ('k') | generated/googleapis/lib/cloudtrace/v2.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
+ }
+}
« no previous file with comments | « generated/googleapis/lib/cloudresourcemanager/v1.dart ('k') | generated/googleapis/lib/cloudtrace/v2.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698