| Index: generated/googleapis/lib/cloudresourcemanager/v1.dart
|
| diff --git a/generated/googleapis/lib/cloudresourcemanager/v1.dart b/generated/googleapis/lib/cloudresourcemanager/v1.dart
|
| index 98f9fbdafd056f548d979c93e153c6b62ca9506e..3fb17ca9086b11e3f6755976b4878a9466cab8f0 100644
|
| --- a/generated/googleapis/lib/cloudresourcemanager/v1.dart
|
| +++ b/generated/googleapis/lib/cloudresourcemanager/v1.dart
|
| @@ -28,6 +28,7 @@ class CloudresourcemanagerApi {
|
|
|
| final commons.ApiRequester _requester;
|
|
|
| + FoldersResourceApi get folders => new FoldersResourceApi(_requester);
|
| LiensResourceApi get liens => new LiensResourceApi(_requester);
|
| OperationsResourceApi get operations => new OperationsResourceApi(_requester);
|
| OrganizationsResourceApi get organizations => new OrganizationsResourceApi(_requester);
|
| @@ -38,26 +39,23 @@ class CloudresourcemanagerApi {
|
| }
|
|
|
|
|
| -class LiensResourceApi {
|
| +class FoldersResourceApi {
|
| final commons.ApiRequester _requester;
|
|
|
| - LiensResourceApi(commons.ApiRequester client) :
|
| + FoldersResourceApi(commons.ApiRequester client) :
|
| _requester = client;
|
|
|
| /**
|
| - * Create a Lien which applies to the resource denoted by the `parent` field.
|
| - *
|
| - * Callers of this method will require permission on the `parent` resource.
|
| - * For example, applying to `projects/1234` requires permission
|
| - * `resourcemanager.projects.updateLiens`.
|
| - *
|
| - * NOTE: Some resources may limit the number of Liens which may be applied.
|
| + * Clears a `Policy` from a resource.
|
| *
|
| * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * Completes with a [Lien].
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| + *
|
| + * Completes with a [Empty].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -65,7 +63,7 @@ class LiensResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<Lien> create(Lien request) {
|
| + async.Future<Empty> clearOrgPolicy(ClearOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -76,8 +74,11 @@ class LiensResourceApi {
|
| if (request != null) {
|
| _body = convert.JSON.encode((request).toJson());
|
| }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
|
|
| - _url = 'v1/liens';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -86,20 +87,18 @@ class LiensResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Lien.fromJson(data));
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Delete a Lien by `name`.
|
| + * Clears a `Policy` from a resource.
|
| *
|
| - * Callers of this method will require permission on the `parent` resource.
|
| - * For example, a Lien with a `parent` of `projects/1234` requires permission
|
| - * `resourcemanager.projects.updateLiens`.
|
| + * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [name] - The name/identifier of the Lien to delete.
|
| - * Value must have pattern "^liens/.+$".
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| * Completes with a [Empty].
|
| *
|
| @@ -109,7 +108,7 @@ class LiensResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<Empty> delete(core.String name) {
|
| + async.Future<Empty> clearOrgPolicyV1(ClearOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -117,14 +116,17 @@ class LiensResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (name == null) {
|
| - throw new core.ArgumentError("Parameter name is required.");
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| - "DELETE",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| @@ -134,24 +136,19 @@ class LiensResourceApi {
|
| }
|
|
|
| /**
|
| - * List all Liens applied to the `parent` resource.
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| *
|
| - * Callers of this method will require permission on the `parent` resource.
|
| - * For example, a Lien with a `parent` of `projects/1234` requires permission
|
| - * `resourcemanager.projects.get`.
|
| + * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [parent] - The name of the resource to list all attached Liens.
|
| - * For example, `projects/1234`.
|
| - *
|
| - * [pageToken] - The `next_page_token` value returned from a previous List
|
| - * request, if any.
|
| - *
|
| - * [pageSize] - The maximum number of items to return. This is a suggestion
|
| - * for the server.
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [ListLiensResponse].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -159,7 +156,7 @@ class LiensResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<ListLiensResponse> list({core.String parent, core.String pageToken, core.int pageSize}) {
|
| + async.Future<OrgPolicy> getEffectiveOrgPolicy(GetEffectiveOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -167,48 +164,39 @@ class LiensResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (parent != null) {
|
| - _queryParams["parent"] = [parent];
|
| - }
|
| - if (pageToken != null) {
|
| - _queryParams["pageToken"] = [pageToken];
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| }
|
| - if (pageSize != null) {
|
| - _queryParams["pageSize"] = ["${pageSize}"];
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/liens';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| - "GET",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new ListLiensResponse.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| -}
|
| -
|
| -
|
| -class OperationsResourceApi {
|
| - final commons.ApiRequester _requester;
|
| -
|
| - OperationsResourceApi(commons.ApiRequester client) :
|
| - _requester = client;
|
| -
|
| /**
|
| - * Gets the latest state of a long-running operation. Clients can use this
|
| - * method to poll the operation result at intervals as recommended by the API
|
| - * service.
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| + *
|
| + * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [name] - The name of the operation resource.
|
| - * Value must have pattern "^operations/.+$".
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [Operation].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -216,7 +204,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<Operation> get(core.String name) {
|
| + async.Future<OrgPolicy> getEffectiveOrgPolicyV1(GetEffectiveOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -224,41 +212,41 @@ class OperationsResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (name == null) {
|
| - throw new core.ArgumentError("Parameter name is required.");
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| - "GET",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Operation.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| -}
|
| -
|
| -
|
| -class OrganizationsResourceApi {
|
| - final commons.ApiRequester _requester;
|
| -
|
| - OrganizationsResourceApi(commons.ApiRequester client) :
|
| - _requester = client;
|
| -
|
| /**
|
| - * Fetches an Organization resource identified by the specified resource name.
|
| + * Gets a `Policy` on a resource.
|
| + *
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| + *
|
| + * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [name] - The resource name of the Organization to fetch, e.g.
|
| - * "organizations/1234".
|
| - * Value must have pattern "^organizations/[^/]+$".
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [Organization].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -266,7 +254,7 @@ class OrganizationsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<Organization> get(core.String name) {
|
| + async.Future<OrgPolicy> getOrgPolicy(GetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -274,37 +262,41 @@ class OrganizationsResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (name == null) {
|
| - throw new core.ArgumentError("Parameter name is required.");
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$name');
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| - "GET",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Organization.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Gets the access control policy for an Organization resource. May be empty
|
| - * if no such policy or resource exists. The `resource` field should be the
|
| - * organization's resource name, e.g. "organizations/123".
|
| + * Gets a `Policy` on a resource.
|
| + *
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| *
|
| * [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 "^organizations/[^/]+$".
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [Policy].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -312,7 +304,7 @@ class OrganizationsResourceApi {
|
| * 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) {
|
| + async.Future<OrgPolicy> getOrgPolicyV1(GetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -327,7 +319,7 @@ class OrganizationsResourceApi {
|
| throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getIamPolicy';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -336,20 +328,20 @@ class OrganizationsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Policy.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Searches Organization resources that are visible to the user and satisfy
|
| - * the specified filter. This method returns Organizations in an unspecified
|
| - * order. New Organizations do not necessarily appear at the end of the
|
| - * results.
|
| + * Lists `Constraints` that could be applied on the specified resource.
|
| *
|
| * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * Completes with a [SearchOrganizationsResponse].
|
| + * [resource] - Name of the resource to list `Constraints` for.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| + *
|
| + * Completes with a [ListAvailableOrgPolicyConstraintsResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -357,7 +349,7 @@ class OrganizationsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<SearchOrganizationsResponse> search(SearchOrganizationsRequest request) {
|
| + async.Future<ListAvailableOrgPolicyConstraintsResponse> listAvailableOrgPolicyConstraints(ListAvailableOrgPolicyConstraintsRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -368,8 +360,11 @@ class OrganizationsResourceApi {
|
| if (request != null) {
|
| _body = convert.JSON.encode((request).toJson());
|
| }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
|
|
| - _url = 'v1/organizations:search';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listAvailableOrgPolicyConstraints';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -378,24 +373,20 @@ class OrganizationsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new SearchOrganizationsResponse.fromJson(data));
|
| + return _response.then((data) => new ListAvailableOrgPolicyConstraintsResponse.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Sets the access control policy on an Organization resource. Replaces any
|
| - * existing policy. The `resource` field should be the organization's resource
|
| - * name, e.g. "organizations/123".
|
| + * Lists all the `Policies` set for a particular resource.
|
| *
|
| * [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 "^organizations/[^/]+$".
|
| + * [resource] - Name of the resource to list Policies for.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [Policy].
|
| + * Completes with a [ListOrgPoliciesResponse].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -403,7 +394,7 @@ class OrganizationsResourceApi {
|
| * 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) {
|
| + async.Future<ListOrgPoliciesResponse> listOrgPolicies(ListOrgPoliciesRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -418,7 +409,7 @@ class OrganizationsResourceApi {
|
| throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setIamPolicy';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listOrgPolicies';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -427,24 +418,24 @@ class OrganizationsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Policy.fromJson(data));
|
| + return _response.then((data) => new ListOrgPoliciesResponse.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Returns permissions that a caller has on the specified Organization.
|
| - * The `resource` field should be the organization's resource name,
|
| - * e.g. "organizations/123".
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| + *
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| *
|
| * [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 "^organizations/[^/]+$".
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| *
|
| - * Completes with a [TestIamPermissionsResponse].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -452,7 +443,7 @@ class OrganizationsResourceApi {
|
| * 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) {
|
| + async.Future<OrgPolicy> setOrgPolicy(SetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -467,7 +458,7 @@ class OrganizationsResourceApi {
|
| throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':testIamPermissions';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -476,33 +467,24 @@ class OrganizationsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new TestIamPermissionsResponse.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| -}
|
| -
|
| -
|
| -class ProjectsResourceApi {
|
| - final commons.ApiRequester _requester;
|
| -
|
| - ProjectsResourceApi(commons.ApiRequester client) :
|
| - _requester = client;
|
| -
|
| /**
|
| - * Request that a new Project be created. The result is an Operation which
|
| - * can be used to track the creation process. It is automatically deleted
|
| - * after a few hours, so there is no need to call DeleteOperation.
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| *
|
| - * Our SLO permits Project creation to take up to 30 seconds at the 90th
|
| - * percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile
|
| - * latency. 95th percentile latency is around 11 seconds. We recommend
|
| - * polling at the 5th second with an exponential backoff.
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| *
|
| * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * Completes with a [Operation].
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^folders/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -510,7 +492,7 @@ class ProjectsResourceApi {
|
| * 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(Project request) {
|
| + async.Future<OrgPolicy> setOrgPolicyV1(SetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -521,8 +503,11 @@ class ProjectsResourceApi {
|
| if (request != null) {
|
| _body = convert.JSON.encode((request).toJson());
|
| }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| + }
|
|
|
| - _url = 'v1/projects';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -531,42 +516,32 @@ class ProjectsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Operation.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| +}
|
| +
|
| +
|
| +class LiensResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + LiensResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| /**
|
| - * Marks the Project identified by the specified
|
| - * `project_id` (for example, `my-project-123`) for deletion.
|
| - * This method will only affect the Project if the following criteria are met:
|
| - *
|
| - * + The Project does not have a billing account associated with it.
|
| - * + The Project has a lifecycle state of
|
| - * ACTIVE.
|
| - *
|
| - * This method changes the Project's lifecycle state from
|
| - * ACTIVE
|
| - * to DELETE_REQUESTED.
|
| - * The deletion starts at an unspecified time,
|
| - * at which point the Project is no longer accessible.
|
| + * Create a Lien which applies to the resource denoted by the `parent` field.
|
| *
|
| - * Until the deletion completes, you can check the lifecycle state
|
| - * checked by retrieving the Project with GetProject,
|
| - * and the Project remains visible to ListProjects.
|
| - * However, you cannot update the project.
|
| + * Callers of this method will require permission on the `parent` resource.
|
| + * For example, applying to `projects/1234` requires permission
|
| + * `resourcemanager.projects.updateLiens`.
|
| *
|
| - * After the deletion completes, the Project is not retrievable by
|
| - * the GetProject and
|
| - * ListProjects methods.
|
| + * NOTE: Some resources may limit the number of Liens which may be applied.
|
| *
|
| - * The caller must have modify permissions for this Project.
|
| + * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [projectId] - The Project ID (for example, `foo-bar-123`).
|
| - *
|
| - * Required.
|
| - *
|
| - * Completes with a [Empty].
|
| + * Completes with a [Lien].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -574,7 +549,7 @@ class ProjectsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<Empty> delete(core.String projectId) {
|
| + async.Future<Lien> create(Lien request) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -582,35 +557,1297 @@ class ProjectsResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (projectId == null) {
|
| - throw new core.ArgumentError("Parameter projectId is required.");
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| }
|
|
|
| - _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId');
|
| + _url = 'v1/liens';
|
|
|
| var _response = _requester.request(_url,
|
| - "DELETE",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Empty.fromJson(data));
|
| + return _response.then((data) => new Lien.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Retrieves the Project identified by the specified
|
| - * `project_id` (for example, `my-project-123`).
|
| - *
|
| - * The caller must have read permissions for this Project.
|
| + * Delete a Lien by `name`.
|
| *
|
| - * Request parameters:
|
| + * Callers of this method will require permission on the `parent` resource.
|
| + * For example, a Lien with a `parent` of `projects/1234` requires permission
|
| + * `resourcemanager.projects.updateLiens`.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [name] - The name/identifier of the Lien to delete.
|
| + * Value must have pattern "^liens/.+$".
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> 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 = 'v1/' + 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 Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * List all Liens applied to the `parent` resource.
|
| + *
|
| + * Callers of this method will require permission on the `parent` resource.
|
| + * For example, a Lien with a `parent` of `projects/1234` requires permission
|
| + * `resourcemanager.projects.get`.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [parent] - The name of the resource to list all attached Liens.
|
| + * For example, `projects/1234`.
|
| + *
|
| + * [pageToken] - The `next_page_token` value returned from a previous List
|
| + * request, if any.
|
| + *
|
| + * [pageSize] - The maximum number of items to return. This is a suggestion
|
| + * for the server.
|
| + *
|
| + * Completes with a [ListLiensResponse].
|
| + *
|
| + * 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<ListLiensResponse> list({core.String parent, core.String pageToken, core.int pageSize}) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (parent != null) {
|
| + _queryParams["parent"] = [parent];
|
| + }
|
| + if (pageToken != null) {
|
| + _queryParams["pageToken"] = [pageToken];
|
| + }
|
| + if (pageSize != null) {
|
| + _queryParams["pageSize"] = ["${pageSize}"];
|
| + }
|
| +
|
| + _url = 'v1/liens';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListLiensResponse.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class OperationsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + OperationsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Gets the latest state of a long-running operation. Clients can use this
|
| + * method to poll the operation result at intervals as recommended by the API
|
| + * service.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [name] - The name of the operation resource.
|
| + * Value must have pattern "^operations/.+$".
|
| + *
|
| + * 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> 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 = 'v1/' + 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 Operation.fromJson(data));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class OrganizationsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + OrganizationsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Clears a `Policy` from a resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> clearOrgPolicy(ClearOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Clears a `Policy` from a resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> clearOrgPolicyV1(ClearOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Fetches an Organization resource identified by the specified resource name.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [name] - The resource name of the Organization to fetch, e.g.
|
| + * "organizations/1234".
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [Organization].
|
| + *
|
| + * 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<Organization> 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 = 'v1/' + 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 Organization.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getEffectiveOrgPolicy(GetEffectiveOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getEffectiveOrgPolicyV1(GetEffectiveOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the access control policy for an Organization resource. May be empty
|
| + * if no such policy or resource exists. The `resource` field should be the
|
| + * organization's resource name, e.g. "organizations/123".
|
| + *
|
| + * [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 "^organizations/[^/]+$".
|
| + *
|
| + * 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 = 'v1/' + 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));
|
| + }
|
| +
|
| + /**
|
| + * Gets a `Policy` on a resource.
|
| + *
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getOrgPolicy(GetOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets a `Policy` on a resource.
|
| + *
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getOrgPolicyV1(GetOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists `Constraints` that could be applied on the specified resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource to list `Constraints` for.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [ListAvailableOrgPolicyConstraintsResponse].
|
| + *
|
| + * 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<ListAvailableOrgPolicyConstraintsResponse> listAvailableOrgPolicyConstraints(ListAvailableOrgPolicyConstraintsRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listAvailableOrgPolicyConstraints';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListAvailableOrgPolicyConstraintsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists all the `Policies` set for a particular resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource to list Policies for.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [ListOrgPoliciesResponse].
|
| + *
|
| + * 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<ListOrgPoliciesResponse> listOrgPolicies(ListOrgPoliciesRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listOrgPolicies';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListOrgPoliciesResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Searches Organization resources that are visible to the user and satisfy
|
| + * the specified filter. This method returns Organizations in an unspecified
|
| + * order. New Organizations do not necessarily appear at the end of the
|
| + * results.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * Completes with a [SearchOrganizationsResponse].
|
| + *
|
| + * 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<SearchOrganizationsResponse> search(SearchOrganizationsRequest 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 = 'v1/organizations:search';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new SearchOrganizationsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Sets the access control policy on an Organization resource. Replaces any
|
| + * existing policy. The `resource` field should be the organization's resource
|
| + * name, e.g. "organizations/123".
|
| + *
|
| + * [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 "^organizations/[^/]+$".
|
| + *
|
| + * 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 = 'v1/' + 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));
|
| + }
|
| +
|
| + /**
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| + *
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> setOrgPolicy(SetOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| + *
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^organizations/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> setOrgPolicyV1(SetOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns permissions that a caller has on the specified Organization.
|
| + * The `resource` field should be the organization's resource name,
|
| + * e.g. "organizations/123".
|
| + *
|
| + * [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 "^organizations/[^/]+$".
|
| + *
|
| + * 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 = 'v1/' + 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));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +class ProjectsResourceApi {
|
| + final commons.ApiRequester _requester;
|
| +
|
| + ProjectsResourceApi(commons.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Clears a `Policy` from a resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> clearOrgPolicy(ClearOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Clears a `Policy` from a resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource for the `Policy` to clear.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> clearOrgPolicyV1(ClearOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':clearOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Request that a new Project be created. The result is an Operation which
|
| + * can be used to track the creation process. It is automatically deleted
|
| + * after a few hours, so there is no need to call DeleteOperation.
|
| + *
|
| + * Our SLO permits Project creation to take up to 30 seconds at the 90th
|
| + * percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile
|
| + * latency. 95th percentile latency is around 11 seconds. We recommend
|
| + * polling at the 5th second with an exponential backoff.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * 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(Project 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 = 'v1/projects';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Operation.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Marks the Project identified by the specified
|
| + * `project_id` (for example, `my-project-123`) for deletion.
|
| + * This method will only affect the Project if the following criteria are met:
|
| + *
|
| + * + The Project does not have a billing account associated with it.
|
| + * + The Project has a lifecycle state of
|
| + * ACTIVE.
|
| + *
|
| + * This method changes the Project's lifecycle state from
|
| + * ACTIVE
|
| + * to DELETE_REQUESTED.
|
| + * The deletion starts at an unspecified time,
|
| + * at which point the Project is no longer accessible.
|
| + *
|
| + * Until the deletion completes, you can check the lifecycle state
|
| + * checked by retrieving the Project with GetProject,
|
| + * and the Project remains visible to ListProjects.
|
| + * However, you cannot update the project.
|
| + *
|
| + * After the deletion completes, the Project is not retrievable by
|
| + * the GetProject and
|
| + * ListProjects methods.
|
| + *
|
| + * The caller must have modify permissions for this Project.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [projectId] - The Project ID (for example, `foo-bar-123`).
|
| + *
|
| + * Required.
|
| + *
|
| + * Completes with a [Empty].
|
| + *
|
| + * 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<Empty> delete(core.String projectId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (projectId == null) {
|
| + throw new core.ArgumentError("Parameter projectId is required.");
|
| + }
|
| +
|
| + _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "DELETE",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Empty.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Retrieves the Project identified by the specified
|
| + * `project_id` (for example, `my-project-123`).
|
| + *
|
| + * The caller must have read permissions for this Project.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [projectId] - The Project ID (for example, `my-project-123`).
|
| + *
|
| + * Required.
|
| + *
|
| + * Completes with a [Project].
|
| + *
|
| + * 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<Project> get(core.String projectId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = commons.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (projectId == null) {
|
| + throw new core.ArgumentError("Parameter projectId is required.");
|
| + }
|
| +
|
| + _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId');
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new Project.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets a list of ancestors in the resource hierarchy for the Project
|
| + * identified by the specified `project_id` (for example, `my-project-123`).
|
| + *
|
| + * The caller must have read permissions for this Project.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [projectId] - The Project ID (for example, `my-project-123`).
|
| + *
|
| + * Required.
|
| + *
|
| + * Completes with a [GetAncestryResponse].
|
| + *
|
| + * 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<GetAncestryResponse> getAncestry(GetAncestryRequest request, core.String projectId) {
|
| + 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 (projectId == null) {
|
| + throw new core.ArgumentError("Parameter projectId is required.");
|
| + }
|
| +
|
| + _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + ':getAncestry';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new GetAncestryResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getEffectiveOrgPolicy(GetEffectiveOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicy';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Gets the effective `Policy` on a resource. This is the result of merging
|
| + * `Policies` in the resource hierarchy. The returned `Policy` will not have
|
| + * an `etag`set because it is a computed `Policy` across multiple resources.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - The name of the resource to start computing the effective
|
| + * `Policy`.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> getEffectiveOrgPolicyV1(GetEffectiveOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getEffectiveOrgPolicyV1';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Returns the IAM access control policy for the specified Project.
|
| + * Permission is denied if the policy or the resource does not exist.
|
| *
|
| - * [projectId] - The Project ID (for example, `my-project-123`).
|
| + * [request] - The metadata request object.
|
| *
|
| - * Required.
|
| + * Request parameters:
|
| *
|
| - * Completes with a [Project].
|
| + * [resource] - REQUIRED: The resource for which the policy is being
|
| + * requested.
|
| + * See the operation documentation for the appropriate value for this field.
|
| + *
|
| + * Completes with a [Policy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -618,7 +1855,7 @@ class ProjectsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<Project> get(core.String projectId) {
|
| + async.Future<Policy> getIamPolicy(GetIamPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -626,37 +1863,41 @@ class ProjectsResourceApi {
|
| var _downloadOptions = commons.DownloadOptions.Metadata;
|
| var _body = null;
|
|
|
| - if (projectId == null) {
|
| - throw new core.ArgumentError("Parameter projectId is required.");
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId');
|
| + _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$resource') + ':getIamPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| - "GET",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Project.fromJson(data));
|
| + return _response.then((data) => new Policy.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Gets a list of ancestors in the resource hierarchy for the Project
|
| - * identified by the specified `project_id` (for example, `my-project-123`).
|
| + * Gets a `Policy` on a resource.
|
| *
|
| - * The caller must have read permissions for this Project.
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| *
|
| * [request] - The metadata request object.
|
| *
|
| * Request parameters:
|
| *
|
| - * [projectId] - The Project ID (for example, `my-project-123`).
|
| - *
|
| - * Required.
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| *
|
| - * Completes with a [GetAncestryResponse].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -664,7 +1905,7 @@ class ProjectsResourceApi {
|
| * If the used [http.Client] completes with an error when making a REST call,
|
| * this method will complete with the same error.
|
| */
|
| - async.Future<GetAncestryResponse> getAncestry(GetAncestryRequest request, core.String projectId) {
|
| + async.Future<OrgPolicy> getOrgPolicy(GetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -675,11 +1916,11 @@ class ProjectsResourceApi {
|
| if (request != null) {
|
| _body = convert.JSON.encode((request).toJson());
|
| }
|
| - if (projectId == null) {
|
| - throw new core.ArgumentError("Parameter projectId is required.");
|
| + if (resource == null) {
|
| + throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$projectId') + ':getAncestry';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -688,22 +1929,25 @@ class ProjectsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new GetAncestryResponse.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Returns the IAM access control policy for the specified Project.
|
| - * Permission is denied if the policy or the resource does not exist.
|
| + * Gets a `Policy` on a resource.
|
| + *
|
| + * If no `Policy` is set on the resource, a `Policy` is returned with default
|
| + * values including `POLICY_TYPE_NOT_SET` for the `policy_type oneof`. The
|
| + * `etag` value can be used with `SetOrgPolicy()` to create or update a
|
| + * `Policy` during read-modify-write.
|
| *
|
| * [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.
|
| + * [resource] - Name of the resource the `Policy` is set on.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| *
|
| - * Completes with a [Policy].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -711,7 +1955,7 @@ class ProjectsResourceApi {
|
| * 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) {
|
| + async.Future<OrgPolicy> getOrgPolicyV1(GetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -726,7 +1970,7 @@ class ProjectsResourceApi {
|
| throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$resource') + ':getIamPolicy';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':getOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -735,7 +1979,7 @@ class ProjectsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Policy.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| @@ -763,7 +2007,7 @@ class ProjectsResourceApi {
|
| * |NAME:howl|Equivalent to above.|
|
| * |labels.color:*|The project has the label `color`.|
|
| * |labels.color:red|The project's label `color` has the value `red`.|
|
| - * |labels.color:red label.size:big|The project's label `color` has the
|
| + * |labels.color:red labels.size:big|The project's label `color` has the
|
| * value `red` and its label `size` has the value `big`.
|
| *
|
| * Optional.
|
| @@ -806,67 +2050,255 @@ class ProjectsResourceApi {
|
| _queryParams["pageSize"] = ["${pageSize}"];
|
| }
|
|
|
| - _url = 'v1/projects';
|
| + _url = 'v1/projects';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "GET",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListProjectsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists `Constraints` that could be applied on the specified resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource to list `Constraints` for.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [ListAvailableOrgPolicyConstraintsResponse].
|
| + *
|
| + * 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<ListAvailableOrgPolicyConstraintsResponse> listAvailableOrgPolicyConstraints(ListAvailableOrgPolicyConstraintsRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listAvailableOrgPolicyConstraints';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListAvailableOrgPolicyConstraintsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Lists all the `Policies` set for a particular resource.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Name of the resource to list Policies for.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [ListOrgPoliciesResponse].
|
| + *
|
| + * 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<ListOrgPoliciesResponse> listOrgPolicies(ListOrgPoliciesRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':listOrgPolicies';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new ListOrgPoliciesResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Sets the IAM access control policy for the specified Project. Replaces
|
| + * any existing policy.
|
| + *
|
| + * The following constraints apply when using `setIamPolicy()`:
|
| + *
|
| + * + Project does not support `allUsers` and `allAuthenticatedUsers` as
|
| + * `members` in a `Binding` of a `Policy`.
|
| + *
|
| + * + The owner role can be granted only to `user` and `serviceAccount`.
|
| + *
|
| + * + Service accounts can be made owners of a project directly
|
| + * without any restrictions. However, to be added as an owner, a user must be
|
| + * invited via Cloud Platform console and must accept the invitation.
|
| + *
|
| + * + A user cannot be granted the owner role using `setIamPolicy()`. The user
|
| + * must be granted the owner role using the Cloud Platform Console and must
|
| + * explicitly accept the invitation.
|
| + *
|
| + * + Invitations to grant the owner role cannot be sent using
|
| + * `setIamPolicy()`;
|
| + * they must be sent only using the Cloud Platform Console.
|
| + *
|
| + * + Membership changes that leave the project without any owners that have
|
| + * accepted the Terms of Service (ToS) will be rejected.
|
| + *
|
| + * + There must be at least one owner who has accepted the Terms of
|
| + * Service (ToS) agreement in the policy. Calling `setIamPolicy()` to
|
| + * remove the last ToS-accepted owner from the policy will fail. This
|
| + * restriction also applies to legacy projects that no longer have owners
|
| + * who have accepted the ToS. Edits to IAM policies will be rejected until
|
| + * the lack of a ToS-accepting owner is rectified.
|
| + *
|
| + * + Calling this method requires enabling the App Engine Admin API.
|
| + *
|
| + * Note: Removing service accounts from policies or changing their roles
|
| + * can render services completely inoperable. It is important to understand
|
| + * how the service account is being used before removing or updating its
|
| + * roles.
|
| + *
|
| + * [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.
|
| + *
|
| + * 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 = 'v1/projects/' + 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));
|
| + }
|
| +
|
| + /**
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| + *
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| + *
|
| + * Completes with a [OrgPolicy].
|
| + *
|
| + * 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<OrgPolicy> setOrgPolicy(SetOrgPolicyRequest 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 = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicy';
|
|
|
| var _response = _requester.request(_url,
|
| - "GET",
|
| + "POST",
|
| body: _body,
|
| queryParams: _queryParams,
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new ListProjectsResponse.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| - * Sets the IAM access control policy for the specified Project. Replaces
|
| - * any existing policy.
|
| - *
|
| - * The following constraints apply when using `setIamPolicy()`:
|
| - *
|
| - * + Project does not support `allUsers` and `allAuthenticatedUsers` as
|
| - * `members` in a `Binding` of a `Policy`.
|
| - *
|
| - * + The owner role can be granted only to `user` and `serviceAccount`.
|
| - *
|
| - * + Service accounts can be made owners of a project directly
|
| - * without any restrictions. However, to be added as an owner, a user must be
|
| - * invited via Cloud Platform console and must accept the invitation.
|
| - *
|
| - * + A user cannot be granted the owner role using `setIamPolicy()`. The user
|
| - * must be granted the owner role using the Cloud Platform Console and must
|
| - * explicitly accept the invitation.
|
| - *
|
| - * + Invitations to grant the owner role cannot be sent using
|
| - * `setIamPolicy()`;
|
| - * they must be sent only using the Cloud Platform Console.
|
| - *
|
| - * + Membership changes that leave the project without any owners that have
|
| - * accepted the Terms of Service (ToS) will be rejected.
|
| - *
|
| - * + There must be at least one owner who has accepted the Terms of
|
| - * Service (ToS) agreement in the policy. Calling `setIamPolicy()` to
|
| - * to remove the last ToS-accepted owner from the policy will fail. This
|
| - * restriction also applies to legacy projects that no longer have owners
|
| - * who have accepted the ToS. Edits to IAM policies will be rejected until
|
| - * the lack of a ToS-accepting owner is rectified.
|
| - *
|
| - * + Calling this method requires enabling the App Engine Admin API.
|
| + * Updates the specified `Policy` on the resource. Creates a new `Policy` for
|
| + * that `Constraint` on the resource if one does not exist.
|
| *
|
| - * Note: Removing service accounts from policies or changing their roles
|
| - * can render services completely inoperable. It is important to understand
|
| - * how the service account is being used before removing or updating its
|
| - * roles.
|
| + * Not supplying an `etag` on the request `Policy` results in an unconditional
|
| + * write of the `Policy`.
|
| *
|
| * [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.
|
| + * [resource] - Resource name of the resource to attach the `Policy`.
|
| + * Value must have pattern "^projects/[^/]+$".
|
| *
|
| - * Completes with a [Policy].
|
| + * Completes with a [OrgPolicy].
|
| *
|
| * Completes with a [commons.ApiRequestError] if the API endpoint returned an
|
| * error.
|
| @@ -874,7 +2306,7 @@ class ProjectsResourceApi {
|
| * 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) {
|
| + async.Future<OrgPolicy> setOrgPolicyV1(SetOrgPolicyRequest request, core.String resource) {
|
| var _url = null;
|
| var _queryParams = new core.Map();
|
| var _uploadMedia = null;
|
| @@ -889,7 +2321,7 @@ class ProjectsResourceApi {
|
| throw new core.ArgumentError("Parameter resource is required.");
|
| }
|
|
|
| - _url = 'v1/projects/' + commons.Escaper.ecapeVariable('$resource') + ':setIamPolicy';
|
| + _url = 'v1/' + commons.Escaper.ecapeVariableReserved('$resource') + ':setOrgPolicyV1';
|
|
|
| var _response = _requester.request(_url,
|
| "POST",
|
| @@ -898,7 +2330,7 @@ class ProjectsResourceApi {
|
| uploadOptions: _uploadOptions,
|
| uploadMedia: _uploadMedia,
|
| downloadOptions: _downloadOptions);
|
| - return _response.then((data) => new Policy.fromJson(data));
|
| + return _response.then((data) => new OrgPolicy.fromJson(data));
|
| }
|
|
|
| /**
|
| @@ -1074,6 +2506,153 @@ class Ancestor {
|
| }
|
| }
|
|
|
| +/**
|
| + * 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 AuditConifg 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 toJson() {
|
| + var _json = new core.Map();
|
| + 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 toJson() {
|
| + var _json = new core.Map();
|
| + if (exemptedMembers != null) {
|
| + _json["exemptedMembers"] = exemptedMembers;
|
| + }
|
| + if (logType != null) {
|
| + _json["logType"] = logType;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** Associates `members` with a `role`. */
|
| class Binding {
|
| /**
|
| @@ -1131,6 +2710,243 @@ class Binding {
|
| }
|
|
|
| /**
|
| + * A `Constraint` that is either enforced or not.
|
| + *
|
| + * For example a constraint `constraints/compute.disableSerialPortAccess`.
|
| + * If it is enforced on a VM instance, serial port connections will not be
|
| + * opened to that instance.
|
| + */
|
| +class BooleanConstraint {
|
| +
|
| + BooleanConstraint();
|
| +
|
| + BooleanConstraint.fromJson(core.Map _json) {
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Used in `policy_type` to specify how `boolean_policy` will behave at this
|
| + * resource.
|
| + */
|
| +class BooleanPolicy {
|
| + /**
|
| + * If `true`, then the `Policy` is enforced. If `false`, then any
|
| + * configuration is acceptable.
|
| + *
|
| + * Suppose you have a `Constraint`
|
| + * `constraints/compute.disableSerialPortAccess`
|
| + * with `constraint_default` set to `ALLOW`. A `Policy` for that
|
| + * `Constraint` exhibits the following behavior:
|
| + * - If the `Policy` at this resource has enforced set to `false`, serial
|
| + * port connection attempts will be allowed.
|
| + * - If the `Policy` at this resource has enforced set to `true`, serial
|
| + * port connection attempts will be refused.
|
| + * - If the `Policy` at this resource is `RestoreDefault`, serial port
|
| + * connection attempts will be allowed.
|
| + * - If no `Policy` is set at this resource or anywhere higher in the
|
| + * resource hierarchy, serial port connection attempts will be allowed.
|
| + * - If no `Policy` is set at this resource, but one exists higher in the
|
| + * resource hierarchy, the behavior is as if the`Policy` were set at
|
| + * this resource.
|
| + *
|
| + * The following examples demonstrate the different possible layerings:
|
| + *
|
| + * Example 1 (nearest `Constraint` wins):
|
| + * `organizations/foo` has a `Policy` with:
|
| + * {enforced: false}
|
| + * `projects/bar` has no `Policy` set.
|
| + * The constraint at `projects/bar` and `organizations/foo` will not be
|
| + * enforced.
|
| + *
|
| + * Example 2 (enforcement gets replaced):
|
| + * `organizations/foo` has a `Policy` with:
|
| + * {enforced: false}
|
| + * `projects/bar` has a `Policy` with:
|
| + * {enforced: true}
|
| + * The constraint at `organizations/foo` is not enforced.
|
| + * The constraint at `projects/bar` is enforced.
|
| + *
|
| + * Example 3 (RestoreDefault):
|
| + * `organizations/foo` has a `Policy` with:
|
| + * {enforced: true}
|
| + * `projects/bar` has a `Policy` with:
|
| + * {RestoreDefault: {}}
|
| + * The constraint at `organizations/foo` is enforced.
|
| + * The constraint at `projects/bar` is not enforced, because
|
| + * `constraint_default` for the `Constraint` is `ALLOW`.
|
| + */
|
| + core.bool enforced;
|
| +
|
| + BooleanPolicy();
|
| +
|
| + BooleanPolicy.fromJson(core.Map _json) {
|
| + if (_json.containsKey("enforced")) {
|
| + enforced = _json["enforced"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (enforced != null) {
|
| + _json["enforced"] = enforced;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** The request sent to the ClearOrgPolicy method. */
|
| +class ClearOrgPolicyRequest {
|
| + /** Name of the `Constraint` of the `Policy` to clear. */
|
| + core.String constraint;
|
| + /**
|
| + * The current version, for concurrency control. Not sending an `etag`
|
| + * will cause the `Policy` to be cleared 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("+", "-");
|
| + }
|
| +
|
| + ClearOrgPolicyRequest();
|
| +
|
| + ClearOrgPolicyRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("constraint")) {
|
| + constraint = _json["constraint"];
|
| + }
|
| + if (_json.containsKey("etag")) {
|
| + etag = _json["etag"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (constraint != null) {
|
| + _json["constraint"] = constraint;
|
| + }
|
| + if (etag != null) {
|
| + _json["etag"] = etag;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A `Constraint` describes a way in which a resource's configuration can be
|
| + * restricted. For example, it controls which cloud services can be activated
|
| + * across an organization, or whether a Compute Engine instance can have
|
| + * serial port connections established. `Constraints` can be configured by the
|
| + * organization's policy adminstrator to fit the needs of the organzation by
|
| + * setting Policies for `Constraints` at different locations in the
|
| + * organization's resource hierarchy. Policies are inherited down the resource
|
| + * hierarchy from higher levels, but can also be overridden. For details about
|
| + * the inheritance rules please read about
|
| + * Policies.
|
| + *
|
| + * `Constraints` have a default behavior determined by the `constraint_default`
|
| + * field, which is the enforcement behavior that is used in the absence of a
|
| + * `Policy` being defined or inherited for the resource in question.
|
| + */
|
| +class Constraint {
|
| + /** Defines this constraint as being a BooleanConstraint. */
|
| + BooleanConstraint booleanConstraint;
|
| + /**
|
| + * The evaluation behavior of this constraint in the absense of 'Policy'.
|
| + * Possible string values are:
|
| + * - "CONSTRAINT_DEFAULT_UNSPECIFIED" : This is only used for distinguishing
|
| + * unset values and should never be
|
| + * used.
|
| + * - "ALLOW" : Indicate that all values are allowed for list constraints.
|
| + * Indicate that enforcement is off for boolean constraints.
|
| + * - "DENY" : Indicate that all values are denied for list constraints.
|
| + * Indicate that enforcement is on for boolean constraints.
|
| + */
|
| + core.String constraintDefault;
|
| + /**
|
| + * Detailed description of what this `Constraint` controls as well as how and
|
| + * where it is enforced.
|
| + *
|
| + * Mutable.
|
| + */
|
| + core.String description;
|
| + /**
|
| + * The human readable name.
|
| + *
|
| + * Mutable.
|
| + */
|
| + core.String displayName;
|
| + /** Defines this constraint as being a ListConstraint. */
|
| + ListConstraint listConstraint;
|
| + /**
|
| + * Immutable value, required to globally be unique. For example,
|
| + * `constraints/serviceuser.services`
|
| + */
|
| + core.String name;
|
| + /** Version of the `Constraint`. Default version is 0; */
|
| + core.int version;
|
| +
|
| + Constraint();
|
| +
|
| + Constraint.fromJson(core.Map _json) {
|
| + if (_json.containsKey("booleanConstraint")) {
|
| + booleanConstraint = new BooleanConstraint.fromJson(_json["booleanConstraint"]);
|
| + }
|
| + if (_json.containsKey("constraintDefault")) {
|
| + constraintDefault = _json["constraintDefault"];
|
| + }
|
| + if (_json.containsKey("description")) {
|
| + description = _json["description"];
|
| + }
|
| + if (_json.containsKey("displayName")) {
|
| + displayName = _json["displayName"];
|
| + }
|
| + if (_json.containsKey("listConstraint")) {
|
| + listConstraint = new ListConstraint.fromJson(_json["listConstraint"]);
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("version")) {
|
| + version = _json["version"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (booleanConstraint != null) {
|
| + _json["booleanConstraint"] = (booleanConstraint).toJson();
|
| + }
|
| + if (constraintDefault != null) {
|
| + _json["constraintDefault"] = constraintDefault;
|
| + }
|
| + if (description != null) {
|
| + _json["description"] = description;
|
| + }
|
| + if (displayName != null) {
|
| + _json["displayName"] = displayName;
|
| + }
|
| + if (listConstraint != null) {
|
| + _json["listConstraint"] = (listConstraint).toJson();
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (version != null) {
|
| + _json["version"] = version;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| * A generic empty message that you can re-use to avoid defining duplicated
|
| * empty messages in your APIs. A typical example is to use it as the request
|
| * or the response type of an API method. For instance:
|
| @@ -1231,8 +3047,8 @@ class FolderOperationError {
|
| * deleted.
|
| * - "CYCLE_INTRODUCED_ERROR" : The attempted action would introduce cycle in
|
| * resource path.
|
| - * - "FOLDER_ALREADY_BEING_MOVED" : The attempted action would move a folder
|
| - * that is already being moved.
|
| + * - "FOLDER_BEING_MOVED" : The attempted action would move a folder that is
|
| + * already being moved.
|
| * - "FOLDER_TO_DELETE_NON_EMPTY" : The folder the caller is trying to delete
|
| * contains active resources.
|
| */
|
| @@ -1292,23 +3108,67 @@ class GetAncestryResponse {
|
|
|
| core.Map toJson() {
|
| var _json = new core.Map();
|
| - if (ancestor != null) {
|
| - _json["ancestor"] = ancestor.map((value) => (value).toJson()).toList();
|
| - }
|
| + if (ancestor != null) {
|
| + _json["ancestor"] = ancestor.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** The request sent to the GetEffectiveOrgPolicy method. */
|
| +class GetEffectiveOrgPolicyRequest {
|
| + /** The name of the `Constraint` to compute the effective `Policy`. */
|
| + core.String constraint;
|
| +
|
| + GetEffectiveOrgPolicyRequest();
|
| +
|
| + GetEffectiveOrgPolicyRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("constraint")) {
|
| + constraint = _json["constraint"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (constraint != null) {
|
| + _json["constraint"] = constraint;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** Request message for `GetIamPolicy` method. */
|
| +class GetIamPolicyRequest {
|
| +
|
| + GetIamPolicyRequest();
|
| +
|
| + GetIamPolicyRequest.fromJson(core.Map _json) {
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| return _json;
|
| }
|
| }
|
|
|
| -/** Request message for `GetIamPolicy` method. */
|
| -class GetIamPolicyRequest {
|
| +/** The request sent to the GetOrgPolicy method. */
|
| +class GetOrgPolicyRequest {
|
| + /** Name of the `Constraint` to get the `Policy`. */
|
| + core.String constraint;
|
|
|
| - GetIamPolicyRequest();
|
| + GetOrgPolicyRequest();
|
|
|
| - GetIamPolicyRequest.fromJson(core.Map _json) {
|
| + GetOrgPolicyRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("constraint")) {
|
| + constraint = _json["constraint"];
|
| + }
|
| }
|
|
|
| core.Map toJson() {
|
| var _json = new core.Map();
|
| + if (constraint != null) {
|
| + _json["constraint"] = constraint;
|
| + }
|
| return _json;
|
| }
|
| }
|
| @@ -1406,6 +3266,111 @@ class Lien {
|
| }
|
| }
|
|
|
| +/**
|
| + * The request sent to the [ListAvailableOrgPolicyConstraints]
|
| + * google.cloud.OrgPolicy.v1.ListAvailableOrgPolicyConstraints] method.
|
| + */
|
| +class ListAvailableOrgPolicyConstraintsRequest {
|
| + /**
|
| + * Size of the pages to be returned. This is currently unsupported and will
|
| + * be ignored. The server may at any point start using this field to limit
|
| + * page size.
|
| + */
|
| + core.int pageSize;
|
| + /**
|
| + * Page token used to retrieve the next page. This is currently unsupported
|
| + * and will be ignored. The server may at any point start using this field.
|
| + */
|
| + core.String pageToken;
|
| +
|
| + ListAvailableOrgPolicyConstraintsRequest();
|
| +
|
| + ListAvailableOrgPolicyConstraintsRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("pageSize")) {
|
| + pageSize = _json["pageSize"];
|
| + }
|
| + if (_json.containsKey("pageToken")) {
|
| + pageToken = _json["pageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (pageSize != null) {
|
| + _json["pageSize"] = pageSize;
|
| + }
|
| + if (pageToken != null) {
|
| + _json["pageToken"] = pageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * The response returned from the ListAvailableOrgPolicyConstraints method.
|
| + * Returns all `Constraints` that could be set at this level of the hierarchy
|
| + * (contrast with the response from `ListPolicies`, which returns all policies
|
| + * which are set).
|
| + */
|
| +class ListAvailableOrgPolicyConstraintsResponse {
|
| + /**
|
| + * The collection of constraints that are settable on the request resource.
|
| + */
|
| + core.List<Constraint> constraints;
|
| + /** Page token used to retrieve the next page. This is currently not used. */
|
| + core.String nextPageToken;
|
| +
|
| + ListAvailableOrgPolicyConstraintsResponse();
|
| +
|
| + ListAvailableOrgPolicyConstraintsResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("constraints")) {
|
| + constraints = _json["constraints"].map((value) => new Constraint.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (constraints != null) {
|
| + _json["constraints"] = constraints.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * A `Constraint` that allows or disallows a list of string values, which are
|
| + * configured by an Organization's policy administrator with a `Policy`.
|
| + */
|
| +class ListConstraint {
|
| + /**
|
| + * Optional. The Google Cloud Console will try to default to a configuration
|
| + * that matches the value specified in this `Constraint`.
|
| + */
|
| + core.String suggestedValue;
|
| +
|
| + ListConstraint();
|
| +
|
| + ListConstraint.fromJson(core.Map _json) {
|
| + if (_json.containsKey("suggestedValue")) {
|
| + suggestedValue = _json["suggestedValue"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (suggestedValue != null) {
|
| + _json["suggestedValue"] = suggestedValue;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** The response message for Liens.ListLiens. */
|
| class ListLiensResponse {
|
| /** A list of Liens. */
|
| @@ -1439,6 +3404,250 @@ class ListLiensResponse {
|
| }
|
| }
|
|
|
| +/** The request sent to the ListOrgPolicies method. */
|
| +class ListOrgPoliciesRequest {
|
| + /**
|
| + * Size of the pages to be returned. This is currently unsupported and will
|
| + * be ignored. The server may at any point start using this field to limit
|
| + * page size.
|
| + */
|
| + core.int pageSize;
|
| + /**
|
| + * Page token used to retrieve the next page. This is currently unsupported
|
| + * and will be ignored. The server may at any point start using this field.
|
| + */
|
| + core.String pageToken;
|
| +
|
| + ListOrgPoliciesRequest();
|
| +
|
| + ListOrgPoliciesRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("pageSize")) {
|
| + pageSize = _json["pageSize"];
|
| + }
|
| + if (_json.containsKey("pageToken")) {
|
| + pageToken = _json["pageToken"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (pageSize != null) {
|
| + _json["pageSize"] = pageSize;
|
| + }
|
| + if (pageToken != null) {
|
| + _json["pageToken"] = pageToken;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * The response returned from the ListOrgPolicies method. It will be empty
|
| + * if no `Policies` are set on the resource.
|
| + */
|
| +class ListOrgPoliciesResponse {
|
| + /**
|
| + * Page token used to retrieve the next page. This is currently not used, but
|
| + * the server may at any point start supplying a valid token.
|
| + */
|
| + core.String nextPageToken;
|
| + /**
|
| + * The `Policies` that are set on the resource. It will be empty if no
|
| + * `Policies` are set.
|
| + */
|
| + core.List<OrgPolicy> policies;
|
| +
|
| + ListOrgPoliciesResponse();
|
| +
|
| + ListOrgPoliciesResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("nextPageToken")) {
|
| + nextPageToken = _json["nextPageToken"];
|
| + }
|
| + if (_json.containsKey("policies")) {
|
| + policies = _json["policies"].map((value) => new OrgPolicy.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (nextPageToken != null) {
|
| + _json["nextPageToken"] = nextPageToken;
|
| + }
|
| + if (policies != null) {
|
| + _json["policies"] = policies.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| + * Used in `policy_type` to specify how `list_policy` behaves at this
|
| + * resource.
|
| + *
|
| + * A `ListPolicy` can define specific values that are allowed or denied by
|
| + * setting either the `allowed_values` or `denied_values` fields. It can also
|
| + * be used to allow or deny all values, by setting the `all_values` field. If
|
| + * `all_values` is `ALL_VALUES_UNSPECIFIED`, exactly one of `allowed_values`
|
| + * or `denied_values` must be set (attempting to set both or neither will
|
| + * result in a failed request). If `all_values` is set to either `ALLOW` or
|
| + * `DENY`, `allowed_values` and `denied_values` must be unset.
|
| + */
|
| +class ListPolicy {
|
| + /**
|
| + * The policy all_values state.
|
| + * Possible string values are:
|
| + * - "ALL_VALUES_UNSPECIFIED" : Indicates that either allowed_values or
|
| + * denied_values must be set.
|
| + * - "ALLOW" : A policy with this set allows all values.
|
| + * - "DENY" : A policy with this set denies all values.
|
| + */
|
| + core.String allValues;
|
| + /**
|
| + * List of values allowed at this resource. an only be set if no values are
|
| + * set for `denied_values` and `all_values` is set to
|
| + * `ALL_VALUES_UNSPECIFIED`.
|
| + */
|
| + core.List<core.String> allowedValues;
|
| + /**
|
| + * List of values denied at this resource. Can only be set if no values are
|
| + * set for `allowed_values` and `all_values` is set to
|
| + * `ALL_VALUES_UNSPECIFIED`.
|
| + */
|
| + core.List<core.String> deniedValues;
|
| + /**
|
| + * Determines the inheritance behavior for this `Policy`.
|
| + *
|
| + * By default, a `ListPolicy` set at a resource supercedes any `Policy` set
|
| + * anywhere up the resource hierarchy. However, if `inherit_from_parent` is
|
| + * set to `true`, then the values from the effective `Policy` of the parent
|
| + * resource are inherited, meaning the values set in this `Policy` are
|
| + * added to the values inherited up the hierarchy.
|
| + *
|
| + * Setting `Policy` hierarchies that inherit both allowed values and denied
|
| + * values isn't recommended in most circumstances to keep the configuration
|
| + * simple and understandable. However, it is possible to set a `Policy` with
|
| + * `allowed_values` set that inherits a `Policy` with `denied_values` set.
|
| + * In this case, the values that are allowed must be in `allowed_values` and
|
| + * not present in `denied_values`.
|
| + *
|
| + * For example, suppose you have a `Constraint`
|
| + * `constraints/serviceuser.services`, which has a `constraint_type` of
|
| + * `list_constraint`, and with `constraint_default` set to `ALLOW`.
|
| + * Suppose that at the Organization level, a `Policy` is applied that
|
| + * restricts the allowed API activations to {`E1`, `E2`}. Then, if a
|
| + * `Policy` is applied to a project below the Organization that has
|
| + * `inherit_from_parent` set to `false` and field all_values set to DENY,
|
| + * then an attempt to activate any API will be denied.
|
| + *
|
| + * The following examples demonstrate different possible layerings:
|
| + *
|
| + * Example 1 (no inherited values):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: “E1” allowed_values:”E2”}
|
| + * ``projects/bar`` has `inherit_from_parent` `false` and values:
|
| + * {allowed_values: "E3" allowed_values: "E4"}
|
| + * The accepted values at `organizations/foo` are `E1`, `E2`.
|
| + * The accepted values at `projects/bar` are `E3`, and `E4`.
|
| + *
|
| + * Example 2 (inherited values):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: “E1” allowed_values:”E2”}
|
| + * `projects/bar` has a `Policy` with values:
|
| + * {value: “E3” value: ”E4” inherit_from_parent: true}
|
| + * The accepted values at `organizations/foo` are `E1`, `E2`.
|
| + * The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
|
| + *
|
| + * Example 3 (inheriting both allowed and denied values):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: "E1" allowed_values: "E2"}
|
| + * `projects/bar` has a `Policy` with:
|
| + * {denied_values: "E1"}
|
| + * The accepted values at `organizations/foo` are `E1`, `E2`.
|
| + * The value accepted at `projects/bar` is `E2`.
|
| + *
|
| + * Example 4 (RestoreDefault):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: “E1” allowed_values:”E2”}
|
| + * `projects/bar` has a `Policy` with values:
|
| + * {RestoreDefault: {}}
|
| + * The accepted values at `organizations/foo` are `E1`, `E2`.
|
| + * The accepted values at `projects/bar` are either all or none depending on
|
| + * the value of `constraint_default` (if `ALLOW`, all; if
|
| + * `DENY`, none).
|
| + *
|
| + * Example 5 (no policy inherits parent policy):
|
| + * `organizations/foo` has no `Policy` set.
|
| + * `projects/bar` has no `Policy` set.
|
| + * The accepted values at both levels are either all or none depending on
|
| + * the value of `constraint_default` (if `ALLOW`, all; if
|
| + * `DENY`, none).
|
| + *
|
| + * Example 6 (ListConstraint allowing all):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: “E1” allowed_values: ”E2”}
|
| + * `projects/bar` has a `Policy` with:
|
| + * {all: ALLOW}
|
| + * The accepted values at `organizations/foo` are `E1`, E2`.
|
| + * Any value is accepted at `projects/bar`.
|
| + *
|
| + * Example 7 (ListConstraint allowing none):
|
| + * `organizations/foo` has a `Policy` with values:
|
| + * {allowed_values: “E1” allowed_values: ”E2”}
|
| + * `projects/bar` has a `Policy` with:
|
| + * {all: DENY}
|
| + * The accepted values at `organizations/foo` are `E1`, E2`.
|
| + * No value is accepted at `projects/bar`.
|
| + */
|
| + core.bool inheritFromParent;
|
| + /**
|
| + * Optional. The Google Cloud Console will try to default to a configuration
|
| + * that matches the value specified in this `Policy`. If `suggested_value`
|
| + * is not set, it will inherit the value specified higher in the hierarchy,
|
| + * unless `inherit_from_parent` is `false`.
|
| + */
|
| + core.String suggestedValue;
|
| +
|
| + ListPolicy();
|
| +
|
| + ListPolicy.fromJson(core.Map _json) {
|
| + if (_json.containsKey("allValues")) {
|
| + allValues = _json["allValues"];
|
| + }
|
| + if (_json.containsKey("allowedValues")) {
|
| + allowedValues = _json["allowedValues"];
|
| + }
|
| + if (_json.containsKey("deniedValues")) {
|
| + deniedValues = _json["deniedValues"];
|
| + }
|
| + if (_json.containsKey("inheritFromParent")) {
|
| + inheritFromParent = _json["inheritFromParent"];
|
| + }
|
| + if (_json.containsKey("suggestedValue")) {
|
| + suggestedValue = _json["suggestedValue"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (allValues != null) {
|
| + _json["allValues"] = allValues;
|
| + }
|
| + if (allowedValues != null) {
|
| + _json["allowedValues"] = allowedValues;
|
| + }
|
| + if (deniedValues != null) {
|
| + _json["deniedValues"] = deniedValues;
|
| + }
|
| + if (inheritFromParent != null) {
|
| + _json["inheritFromParent"] = inheritFromParent;
|
| + }
|
| + if (suggestedValue != null) {
|
| + _json["suggestedValue"] = suggestedValue;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /**
|
| * A page of the response received from the
|
| * ListProjects
|
| @@ -1578,6 +3787,115 @@ class Operation {
|
| }
|
|
|
| /**
|
| + * Defines a Cloud Organization `Policy` which is used to specify `Constraints`
|
| + * for configurations of Cloud Platform resources.
|
| + */
|
| +class OrgPolicy {
|
| + /** For boolean `Constraints`, whether to enforce the `Constraint` or not. */
|
| + BooleanPolicy booleanPolicy;
|
| + /**
|
| + * The name of the `Constraint` the `Policy` is configuring, for example,
|
| + * `constraints/serviceuser.services`.
|
| + *
|
| + * Immutable after creation.
|
| + */
|
| + core.String constraint;
|
| + /**
|
| + * An opaque tag indicating the current version of the `Policy`, used for
|
| + * concurrency control.
|
| + *
|
| + * When the `Policy` is returned from either a `GetPolicy` or a
|
| + * `ListOrgPolicy` request, this `etag` indicates the version of the current
|
| + * `Policy` to use when executing a read-modify-write loop.
|
| + *
|
| + * When the `Policy` is returned from a `GetEffectivePolicy` request, the
|
| + * `etag` will be unset.
|
| + *
|
| + * When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
|
| + * that was returned from a `GetOrgPolicy` request as part of a
|
| + * read-modify-write loop for concurrency control. Not setting the `etag`in a
|
| + * `SetOrgPolicy` request will result in an unconditional write of the
|
| + * `Policy`.
|
| + */
|
| + 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("+", "-");
|
| + }
|
| + /** List of values either allowed or disallowed. */
|
| + ListPolicy listPolicy;
|
| + /**
|
| + * Restores the default behavior of the constraint; independent of
|
| + * `Constraint` type.
|
| + */
|
| + RestoreDefault restoreDefault;
|
| + /**
|
| + * The time stamp the `Policy` was previously updated. This is set by the
|
| + * server, not specified by the caller, and represents the last time a call to
|
| + * `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
|
| + * be ignored.
|
| + */
|
| + core.String updateTime;
|
| + /** Version of the `Policy`. Default version is 0; */
|
| + core.int version;
|
| +
|
| + OrgPolicy();
|
| +
|
| + OrgPolicy.fromJson(core.Map _json) {
|
| + if (_json.containsKey("booleanPolicy")) {
|
| + booleanPolicy = new BooleanPolicy.fromJson(_json["booleanPolicy"]);
|
| + }
|
| + if (_json.containsKey("constraint")) {
|
| + constraint = _json["constraint"];
|
| + }
|
| + if (_json.containsKey("etag")) {
|
| + etag = _json["etag"];
|
| + }
|
| + if (_json.containsKey("listPolicy")) {
|
| + listPolicy = new ListPolicy.fromJson(_json["listPolicy"]);
|
| + }
|
| + if (_json.containsKey("restoreDefault")) {
|
| + restoreDefault = new RestoreDefault.fromJson(_json["restoreDefault"]);
|
| + }
|
| + if (_json.containsKey("updateTime")) {
|
| + updateTime = _json["updateTime"];
|
| + }
|
| + if (_json.containsKey("version")) {
|
| + version = _json["version"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (booleanPolicy != null) {
|
| + _json["booleanPolicy"] = (booleanPolicy).toJson();
|
| + }
|
| + if (constraint != null) {
|
| + _json["constraint"] = constraint;
|
| + }
|
| + if (etag != null) {
|
| + _json["etag"] = etag;
|
| + }
|
| + if (listPolicy != null) {
|
| + _json["listPolicy"] = (listPolicy).toJson();
|
| + }
|
| + if (restoreDefault != null) {
|
| + _json["restoreDefault"] = (restoreDefault).toJson();
|
| + }
|
| + if (updateTime != null) {
|
| + _json["updateTime"] = updateTime;
|
| + }
|
| + if (version != null) {
|
| + _json["version"] = version;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/**
|
| * The root node in the resource hierarchy to which a particular entity's
|
| * (e.g., company) resources belong.
|
| */
|
| @@ -1720,6 +4038,8 @@ class OrganizationOwner {
|
| * [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`.
|
| * Multiple `bindings` must not be specified for the same `role`.
|
| @@ -1752,6 +4072,9 @@ class Policy {
|
| 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();
|
| }
|
| @@ -1765,6 +4088,9 @@ class Policy {
|
|
|
| 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();
|
| }
|
| @@ -2005,6 +4331,33 @@ class ResourceId {
|
| }
|
| }
|
|
|
| +/**
|
| + * Ignores policies set above this resource and restores the
|
| + * `constraint_default` enforcement behavior of the specific `Constraint` at
|
| + * this resource.
|
| + *
|
| + * Suppose that `constraint_default` is set to `ALLOW` for the
|
| + * `Constraint` `constraints/serviceuser.services`. Suppose that organization
|
| + * foo.com sets a `Policy` at their Organization resource node that restricts
|
| + * the allowed service activations to deny all service activations. They
|
| + * could then set a `Policy` with the `policy_type` `restore_default` on
|
| + * several experimental projects, restoring the `constraint_default`
|
| + * enforcement of the `Constraint` for only those projects, allowing those
|
| + * projects to have all services activated.
|
| + */
|
| +class RestoreDefault {
|
| +
|
| + RestoreDefault();
|
| +
|
| + RestoreDefault.fromJson(core.Map _json) {
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| /** The request sent to the `SearchOrganizations` method. */
|
| class SearchOrganizationsRequest {
|
| /**
|
| @@ -2113,6 +4466,14 @@ class SetIamPolicyRequest {
|
| * 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();
|
|
|
| @@ -2120,6 +4481,34 @@ class SetIamPolicyRequest {
|
| if (_json.containsKey("policy")) {
|
| policy = new Policy.fromJson(_json["policy"]);
|
| }
|
| + if (_json.containsKey("updateMask")) {
|
| + updateMask = _json["updateMask"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (policy != null) {
|
| + _json["policy"] = (policy).toJson();
|
| + }
|
| + if (updateMask != null) {
|
| + _json["updateMask"] = updateMask;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +/** The request sent to the SetOrgPolicyRequest method. */
|
| +class SetOrgPolicyRequest {
|
| + /** `Policy` to set on the resource. */
|
| + OrgPolicy policy;
|
| +
|
| + SetOrgPolicyRequest();
|
| +
|
| + SetOrgPolicyRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("policy")) {
|
| + policy = new OrgPolicy.fromJson(_json["policy"]);
|
| + }
|
| }
|
|
|
| core.Map toJson() {
|
|
|