| Index: generated/googleapis/lib/deploymentmanager/v2.dart
|
| diff --git a/generated/googleapis/lib/deploymentmanager/v2.dart b/generated/googleapis/lib/deploymentmanager/v2.dart
|
| index a1021db8be6e2223d6b6b409251b97c9aab871a8..2c7949ce0de7d7dce227b480744bbf25daf35a49 100644
|
| --- a/generated/googleapis/lib/deploymentmanager/v2.dart
|
| +++ b/generated/googleapis/lib/deploymentmanager/v2.dart
|
| @@ -203,6 +203,54 @@ class DeploymentsResourceApi {
|
| }
|
|
|
| /**
|
| + * Gets the access control policy for a resource. May be empty if no such
|
| + * policy or resource exists.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [project] - Project ID for this request.
|
| + * Value must have pattern
|
| + * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
|
| + *
|
| + * [resource] - Name of the resource for this request.
|
| + * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
|
| + *
|
| + * 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(core.String project, 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 (project == null) {
|
| + throw new core.ArgumentError("Parameter project is required.");
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
| +
|
| + _url = commons.Escaper.ecapeVariable('$project') + '/global/deployments/' + commons.Escaper.ecapeVariable('$resource') + '/getIamPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Policy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| * Creates a deployment and all of the resources described by the deployment
|
| * manifest.
|
| *
|
| @@ -301,6 +349,17 @@ class DeploymentsResourceApi {
|
| * page of results in subsequent list requests.
|
| * Value must be between "0" and "500".
|
| *
|
| + * [orderBy] - Sorts list results by a certain order. By default, results are
|
| + * returned in alphanumerical order based on the resource name.
|
| + *
|
| + * You can also sort results in descending order based on the creation
|
| + * timestamp using orderBy="creationTimestamp desc". This sorts results based
|
| + * on the creationTimestamp field in reverse chronological order (newest
|
| + * result first). Use this to sort resources like operations so that the
|
| + * newest operation is returned first.
|
| + *
|
| + * Currently, only sorting by name or creationTimestamp desc is supported.
|
| + *
|
| * [pageToken] - Specifies a page token to use. Set pageToken to the
|
| * nextPageToken returned by a previous list request to get the next page of
|
| * results.
|
| @@ -313,7 +372,7 @@ class DeploymentsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<DeploymentsListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) {
|
| + async.Future<DeploymentsListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -330,6 +389,9 @@ class DeploymentsResourceApi {
|
| if (maxResults != null) {
|
| _queryParams["maxResults"] = ["${maxResults}"];
|
| }
|
| + if (orderBy != null) {
|
| + _queryParams["orderBy"] = [orderBy];
|
| + }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| @@ -430,6 +492,59 @@ class DeploymentsResourceApi {
|
| }
|
|
|
| /**
|
| + * Sets the access control policy on the specified resource. Replaces any
|
| + * existing policy.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [project] - Project ID for this request.
|
| + * Value must have pattern
|
| + * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
|
| + *
|
| + * [resource] - Name of the resource for this request.
|
| + * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
|
| + *
|
| + * 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(Policy request, core.String project, 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 (project == null) {
|
| + throw new core.ArgumentError("Parameter project is required.");
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
| +
|
| + _url = commons.Escaper.ecapeVariable('$project') + '/global/deployments/' + commons.Escaper.ecapeVariable('$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));
|
| + }
|
| +
|
| + /**
|
| * Stops an ongoing operation. This does not roll back any work that has
|
| * already been completed, but prevents any new work from being started.
|
| *
|
| @@ -483,6 +598,58 @@ class DeploymentsResourceApi {
|
| }
|
|
|
| /**
|
| + * Returns permissions that a caller has on the specified resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [project] - Project ID for this request.
|
| + * Value must have pattern
|
| + * "(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))".
|
| + *
|
| + * [resource] - Name of the resource for this request.
|
| + * Value must have pattern "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?".
|
| + *
|
| + * Completes with a [TestPermissionsResponse].
|
| + *
|
| + * 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<TestPermissionsResponse> testIamPermissions(TestPermissionsRequest request, core.String project, 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 (project == null) {
|
| + throw new core.ArgumentError("Parameter project is required.");
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
| +
|
| + _url = commons.Escaper.ecapeVariable('$project') + '/global/deployments/' + commons.Escaper.ecapeVariable('$resource') + '/testIamPermissions';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new TestPermissionsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| * Updates a deployment and all of the resources described by the deployment
|
| * manifest.
|
| *
|
| @@ -670,6 +837,17 @@ class ManifestsResourceApi {
|
| * page of results in subsequent list requests.
|
| * Value must be between "0" and "500".
|
| *
|
| + * [orderBy] - Sorts list results by a certain order. By default, results are
|
| + * returned in alphanumerical order based on the resource name.
|
| + *
|
| + * You can also sort results in descending order based on the creation
|
| + * timestamp using orderBy="creationTimestamp desc". This sorts results based
|
| + * on the creationTimestamp field in reverse chronological order (newest
|
| + * result first). Use this to sort resources like operations so that the
|
| + * newest operation is returned first.
|
| + *
|
| + * Currently, only sorting by name or creationTimestamp desc is supported.
|
| + *
|
| * [pageToken] - Specifies a page token to use. Set pageToken to the
|
| * nextPageToken returned by a previous list request to get the next page of
|
| * results.
|
| @@ -682,7 +860,7 @@ class ManifestsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ManifestsListResponse> list(core.String project, core.String deployment, {core.String filter, core.int maxResults, core.String pageToken}) {
|
| + async.Future<ManifestsListResponse> list(core.String project, core.String deployment, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -702,6 +880,9 @@ class ManifestsResourceApi {
|
| if (maxResults != null) {
|
| _queryParams["maxResults"] = ["${maxResults}"];
|
| }
|
| + if (orderBy != null) {
|
| + _queryParams["orderBy"] = [orderBy];
|
| + }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| @@ -813,6 +994,17 @@ class OperationsResourceApi {
|
| * page of results in subsequent list requests.
|
| * Value must be between "0" and "500".
|
| *
|
| + * [orderBy] - Sorts list results by a certain order. By default, results are
|
| + * returned in alphanumerical order based on the resource name.
|
| + *
|
| + * You can also sort results in descending order based on the creation
|
| + * timestamp using orderBy="creationTimestamp desc". This sorts results based
|
| + * on the creationTimestamp field in reverse chronological order (newest
|
| + * result first). Use this to sort resources like operations so that the
|
| + * newest operation is returned first.
|
| + *
|
| + * Currently, only sorting by name or creationTimestamp desc is supported.
|
| + *
|
| * [pageToken] - Specifies a page token to use. Set pageToken to the
|
| * nextPageToken returned by a previous list request to get the next page of
|
| * results.
|
| @@ -825,7 +1017,7 @@ class OperationsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<OperationsListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) {
|
| + async.Future<OperationsListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -842,6 +1034,9 @@ class OperationsResourceApi {
|
| if (maxResults != null) {
|
| _queryParams["maxResults"] = ["${maxResults}"];
|
| }
|
| + if (orderBy != null) {
|
| + _queryParams["orderBy"] = [orderBy];
|
| + }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| @@ -962,6 +1157,17 @@ class ResourcesResourceApi {
|
| * page of results in subsequent list requests.
|
| * Value must be between "0" and "500".
|
| *
|
| + * [orderBy] - Sorts list results by a certain order. By default, results are
|
| + * returned in alphanumerical order based on the resource name.
|
| + *
|
| + * You can also sort results in descending order based on the creation
|
| + * timestamp using orderBy="creationTimestamp desc". This sorts results based
|
| + * on the creationTimestamp field in reverse chronological order (newest
|
| + * result first). Use this to sort resources like operations so that the
|
| + * newest operation is returned first.
|
| + *
|
| + * Currently, only sorting by name or creationTimestamp desc is supported.
|
| + *
|
| * [pageToken] - Specifies a page token to use. Set pageToken to the
|
| * nextPageToken returned by a previous list request to get the next page of
|
| * results.
|
| @@ -974,7 +1180,7 @@ class ResourcesResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ResourcesListResponse> list(core.String project, core.String deployment, {core.String filter, core.int maxResults, core.String pageToken}) {
|
| + async.Future<ResourcesListResponse> list(core.String project, core.String deployment, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -994,6 +1200,9 @@ class ResourcesResourceApi {
|
| if (maxResults != null) {
|
| _queryParams["maxResults"] = ["${maxResults}"];
|
| }
|
| + if (orderBy != null) {
|
| + _queryParams["orderBy"] = [orderBy];
|
| + }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| @@ -1059,6 +1268,17 @@ class TypesResourceApi {
|
| * page of results in subsequent list requests.
|
| * Value must be between "0" and "500".
|
| *
|
| + * [orderBy] - Sorts list results by a certain order. By default, results are
|
| + * returned in alphanumerical order based on the resource name.
|
| + *
|
| + * You can also sort results in descending order based on the creation
|
| + * timestamp using orderBy="creationTimestamp desc". This sorts results based
|
| + * on the creationTimestamp field in reverse chronological order (newest
|
| + * result first). Use this to sort resources like operations so that the
|
| + * newest operation is returned first.
|
| + *
|
| + * Currently, only sorting by name or creationTimestamp desc is supported.
|
| + *
|
| * [pageToken] - Specifies a page token to use. Set pageToken to the
|
| * nextPageToken returned by a previous list request to get the next page of
|
| * results.
|
| @@ -1071,7 +1291,7 @@ class TypesResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<TypesListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String pageToken}) {
|
| + async.Future<TypesListResponse> list(core.String project, {core.String filter, core.int maxResults, core.String orderBy, core.String pageToken}) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -1088,6 +1308,9 @@ class TypesResourceApi {
|
| if (maxResults != null) {
|
| _queryParams["maxResults"] = ["${maxResults}"];
|
| }
|
| + if (orderBy != null) {
|
| + _queryParams["orderBy"] = [orderBy];
|
| + }
|
| if (pageToken != null) {
|
| _queryParams["pageToken"] = [pageToken];
|
| }
|
| @@ -1108,6 +1331,168 @@ class TypesResourceApi {
|
|
|
|
|
|
|
| +/**
|
| + * Enables "data access" audit logging for a service and specifies a list of
|
| + * members that are log-exempted.
|
| + */
|
| +class AuditConfig {
|
| + /**
|
| + * Specifies the identities that are exempted from "data access" audit logging
|
| + * for the `service` specified above. Follows the same format of
|
| + * Binding.members.
|
| + */
|
| + core.List<core.String> exemptedMembers;
|
| + /**
|
| + * Specifies a service that will be enabled for "data access" audit logging.
|
| + * For example, `resourcemanager`, `storage`, `compute`. `allServices` is a
|
| + * special value that covers all services.
|
| + */
|
| + core.String service;
|
| +
|
| + AuditConfig();
|
| +
|
| + AuditConfig.fromJson(core.Map _json) {
|
| + if (_json.containsKey("exemptedMembers")) {
|
| + exemptedMembers = _json["exemptedMembers"];
|
| + }
|
| + if (_json.containsKey("service")) {
|
| + service = _json["service"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (exemptedMembers != null) {
|
| + _json["exemptedMembers"] = exemptedMembers;
|
| + }
|
| + if (service != null) {
|
| + _json["service"] = service;
|
| + }
|
| + 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`.
|
| + */
|
| + 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 toJson() {
|
| + var _json = new core.Map();
|
| + if (members != null) {
|
| + _json["members"] = members;
|
| + }
|
| + if (role != null) {
|
| + _json["role"] = role;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** A condition to be met. */
|
| +class Condition {
|
| + /** Trusted attributes supplied by the IAM system. */
|
| + core.String iam;
|
| + /** An operator to apply the subject with. */
|
| + core.String op;
|
| + /** Trusted attributes discharged by the service. */
|
| + core.String svc;
|
| + /**
|
| + * Trusted attributes supplied by any service that owns resources and uses the
|
| + * IAM system for access control.
|
| + */
|
| + core.String sys;
|
| + /** DEPRECATED. Use 'values' instead. */
|
| + core.String value;
|
| + /** The objects of the condition. This is mutually exclusive with 'value'. */
|
| + core.List<core.String> values;
|
| +
|
| + Condition();
|
| +
|
| + Condition.fromJson(core.Map _json) {
|
| + if (_json.containsKey("iam")) {
|
| + iam = _json["iam"];
|
| + }
|
| + if (_json.containsKey("op")) {
|
| + op = _json["op"];
|
| + }
|
| + if (_json.containsKey("svc")) {
|
| + svc = _json["svc"];
|
| + }
|
| + if (_json.containsKey("sys")) {
|
| + sys = _json["sys"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = _json["value"];
|
| + }
|
| + if (_json.containsKey("values")) {
|
| + values = _json["values"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (iam != null) {
|
| + _json["iam"] = iam;
|
| + }
|
| + if (op != null) {
|
| + _json["op"] = op;
|
| + }
|
| + if (svc != null) {
|
| + _json["svc"] = svc;
|
| + }
|
| + if (sys != null) {
|
| + _json["sys"] = sys;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = value;
|
| + }
|
| + if (values != null) {
|
| + _json["values"] = values;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| class ConfigFile {
|
| /** The contents of the file. */
|
| core.String content;
|
| @@ -1512,6 +1897,58 @@ class ImportFile {
|
| }
|
| }
|
|
|
| +/** Specifies what kind of log the caller must write */
|
| +class LogConfig {
|
| + /** Counter options. */
|
| + LogConfigCounterOptions counter;
|
| +
|
| + LogConfig();
|
| +
|
| + LogConfig.fromJson(core.Map _json) {
|
| + if (_json.containsKey("counter")) {
|
| + counter = new LogConfigCounterOptions.fromJson(_json["counter"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (counter != null) {
|
| + _json["counter"] = (counter).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Options for counters */
|
| +class LogConfigCounterOptions {
|
| + /** The field value to attribute. */
|
| + core.String field;
|
| + /** The metric to update. */
|
| + core.String metric;
|
| +
|
| + LogConfigCounterOptions();
|
| +
|
| + LogConfigCounterOptions.fromJson(core.Map _json) {
|
| + if (_json.containsKey("field")) {
|
| + field = _json["field"];
|
| + }
|
| + if (_json.containsKey("metric")) {
|
| + metric = _json["metric"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (field != null) {
|
| + _json["field"] = field;
|
| + }
|
| + if (metric != null) {
|
| + _json["metric"] = metric;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| class Manifest {
|
| /** [Output Only] The YAML configuration for this manifest. */
|
| ConfigFile config;
|
| @@ -1869,9 +2306,9 @@ class Operation {
|
| */
|
| core.String targetId;
|
| /**
|
| - * [Output Only] The URL of the resource that the operation modifies. If
|
| - * creating a persistent disk snapshot, this points to the persistent disk
|
| - * that the snapshot was created from.
|
| + * [Output Only] The URL of the resource that the operation modifies. For
|
| + * operations related to creating a snapshot, this points to the persistent
|
| + * disk that the snapshot was created from.
|
| */
|
| core.String targetLink;
|
| /**
|
| @@ -2072,6 +2509,124 @@ class OperationsListResponse {
|
| }
|
| }
|
|
|
| +/**
|
| + * 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 audit logging configs for "data access". "data access": generally
|
| + * refers to data reads/writes and admin reads. "admin activity": generally
|
| + * refers to admin writes.
|
| + *
|
| + * Note: `AuditConfig` doesn't apply to "admin activity", which always enables
|
| + * audit logging.
|
| + */
|
| + core.List<AuditConfig> auditConfigs;
|
| + /**
|
| + * Associates a list of `members` to a `role`. Multiple `bindings` must not be
|
| + * specified for the same `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("+", "-");
|
| + }
|
| + core.bool iamOwned;
|
| + /**
|
| + * If more than one rule is specified, the rules are applied in the following
|
| + * manner: - All matching LOG rules are always applied. - If any
|
| + * DENY/DENY_WITH_LOG rule matches, permission is denied. Logging will be
|
| + * applied if one or more matching rule requires logging. - Otherwise, if any
|
| + * ALLOW/ALLOW_WITH_LOG rule matches, permission is granted. Logging will be
|
| + * applied if one or more matching rule requires logging. - Otherwise, if no
|
| + * rule applies, permission is denied.
|
| + */
|
| + core.List<Rule> rules;
|
| + /** 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("iamOwned")) {
|
| + iamOwned = _json["iamOwned"];
|
| + }
|
| + if (_json.containsKey("rules")) {
|
| + rules = _json["rules"].map((value) => new Rule.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("version")) {
|
| + version = _json["version"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + 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 (iamOwned != null) {
|
| + _json["iamOwned"] = iamOwned;
|
| + }
|
| + if (rules != null) {
|
| + _json["rules"] = rules.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (version != null) {
|
| + _json["version"] = version;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| class ResourceWarningsData {
|
| /**
|
| * [Output Only] A key that provides more detail on the warning being
|
| @@ -2154,6 +2709,8 @@ class ResourceWarnings {
|
| }
|
|
|
| class Resource {
|
| + /** The Access Control Policy set on this resource. */
|
| + ResourceAccessControl accessControl;
|
| /**
|
| * [Output Only] The evaluated properties of the resource with references
|
| * expanded. Returned as serialized YAML.
|
| @@ -2208,6 +2765,9 @@ class Resource {
|
| Resource();
|
|
|
| Resource.fromJson(core.Map _json) {
|
| + if (_json.containsKey("accessControl")) {
|
| + accessControl = new ResourceAccessControl.fromJson(_json["accessControl"]);
|
| + }
|
| if (_json.containsKey("finalProperties")) {
|
| finalProperties = _json["finalProperties"];
|
| }
|
| @@ -2245,6 +2805,9 @@ class Resource {
|
|
|
| core.Map toJson() {
|
| var _json = new core.Map();
|
| + if (accessControl != null) {
|
| + _json["accessControl"] = (accessControl).toJson();
|
| + }
|
| if (finalProperties != null) {
|
| _json["finalProperties"] = finalProperties;
|
| }
|
| @@ -2282,6 +2845,28 @@ class Resource {
|
| }
|
| }
|
|
|
| +/** The access controls set on the resource. */
|
| +class ResourceAccessControl {
|
| + /** The GCP IAM Policy to set on the resource. */
|
| + core.String gcpIamPolicy;
|
| +
|
| + ResourceAccessControl();
|
| +
|
| + ResourceAccessControl.fromJson(core.Map _json) {
|
| + if (_json.containsKey("gcpIamPolicy")) {
|
| + gcpIamPolicy = _json["gcpIamPolicy"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (gcpIamPolicy != null) {
|
| + _json["gcpIamPolicy"] = gcpIamPolicy;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| class ResourceUpdateErrorErrors {
|
| /** [Output Only] The error type identifier for this error. */
|
| core.String code;
|
| @@ -2433,6 +3018,11 @@ class ResourceUpdateWarnings {
|
|
|
| class ResourceUpdate {
|
| /**
|
| + * The Access Control Policy to set on this resource after updating the
|
| + * resource itself.
|
| + */
|
| + ResourceAccessControl accessControl;
|
| + /**
|
| * [Output Only] If errors are generated during update of the resource, this
|
| * field will be populated.
|
| */
|
| @@ -2465,6 +3055,9 @@ class ResourceUpdate {
|
| ResourceUpdate();
|
|
|
| ResourceUpdate.fromJson(core.Map _json) {
|
| + if (_json.containsKey("accessControl")) {
|
| + accessControl = new ResourceAccessControl.fromJson(_json["accessControl"]);
|
| + }
|
| if (_json.containsKey("error")) {
|
| error = new ResourceUpdateError.fromJson(_json["error"]);
|
| }
|
| @@ -2490,6 +3083,9 @@ class ResourceUpdate {
|
|
|
| core.Map toJson() {
|
| var _json = new core.Map();
|
| + if (accessControl != null) {
|
| + _json["accessControl"] = (accessControl).toJson();
|
| + }
|
| if (error != null) {
|
| _json["error"] = (error).toJson();
|
| }
|
| @@ -2548,6 +3144,89 @@ class ResourcesListResponse {
|
| }
|
| }
|
|
|
| +/** A rule to be applied in a Policy. */
|
| +class Rule {
|
| + /** Required */
|
| + core.String action;
|
| + /** Additional restrictions that must be met */
|
| + core.List<Condition> conditions;
|
| + /** Human-readable description of the rule. */
|
| + core.String description;
|
| + /**
|
| + * If one or more 'in' clauses are specified, the rule matches if the
|
| + * PRINCIPAL/AUTHORITY_SELECTOR is in at least one of these entries.
|
| + */
|
| + core.List<core.String> ins;
|
| + /**
|
| + * The config returned to callers of tech.iam.IAM.CheckPolicy for any entries
|
| + * that match the LOG action.
|
| + */
|
| + core.List<LogConfig> logConfigs;
|
| + /**
|
| + * If one or more 'not_in' clauses are specified, the rule matches if the
|
| + * PRINCIPAL/AUTHORITY_SELECTOR is in none of the entries.
|
| + */
|
| + core.List<core.String> notIns;
|
| + /**
|
| + * A permission is a string of form '..' (e.g., 'storage.buckets.list'). A
|
| + * value of '*' matches all permissions, and a verb part of '*' (e.g.,
|
| + * 'storage.buckets.*') matches all verbs.
|
| + */
|
| + core.List<core.String> permissions;
|
| +
|
| + Rule();
|
| +
|
| + Rule.fromJson(core.Map _json) {
|
| + if (_json.containsKey("action")) {
|
| + action = _json["action"];
|
| + }
|
| + if (_json.containsKey("conditions")) {
|
| + conditions = _json["conditions"].map((value) => new Condition.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("ins")) {
|
| + ins = _json["ins"];
|
| + }
|
| + if (_json.containsKey("logConfigs")) {
|
| + logConfigs = _json["logConfigs"].map((value) => new LogConfig.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("notIns")) {
|
| + notIns = _json["notIns"];
|
| + }
|
| + if (_json.containsKey("permissions")) {
|
| + permissions = _json["permissions"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (action != null) {
|
| + _json["action"] = action;
|
| + }
|
| + if (conditions != null) {
|
| + _json["conditions"] = conditions.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (ins != null) {
|
| + _json["ins"] = ins;
|
| + }
|
| + if (logConfigs != null) {
|
| + _json["logConfigs"] = logConfigs.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (notIns != null) {
|
| + _json["notIns"] = notIns;
|
| + }
|
| + if (permissions != null) {
|
| + _json["permissions"] = permissions;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| class TargetConfiguration {
|
| /** The configuration to use for this deployment. */
|
| ConfigFile config;
|
| @@ -2581,6 +3260,54 @@ class TargetConfiguration {
|
| }
|
| }
|
|
|
| +class TestPermissionsRequest {
|
| + /**
|
| + * The set of permissions to check for the 'resource'. Permissions with
|
| + * wildcards (such as '*' or 'storage.*') are not allowed.
|
| + */
|
| + core.List<core.String> permissions;
|
| +
|
| + TestPermissionsRequest();
|
| +
|
| + TestPermissionsRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("permissions")) {
|
| + permissions = _json["permissions"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (permissions != null) {
|
| + _json["permissions"] = permissions;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +class TestPermissionsResponse {
|
| + /**
|
| + * A subset of `TestPermissionsRequest.permissions` that the caller is
|
| + * allowed.
|
| + */
|
| + core.List<core.String> permissions;
|
| +
|
| + TestPermissionsResponse();
|
| +
|
| + TestPermissionsResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("permissions")) {
|
| + permissions = _json["permissions"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (permissions != null) {
|
| + _json["permissions"] = permissions;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** A resource type supported by Deployment Manager. */
|
| class Type {
|
| /**
|
|
|