| // This is a generated file (see the discoveryapis_generator project). |
| |
| library googleapis_beta.cloudresourcemanager.v1beta1; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| const core.String USER_AGENT = 'dart-api-client cloudresourcemanager/v1beta1'; |
| |
| /// The Google Cloud Resource Manager API provides methods for creating, |
| /// reading, and updating project metadata. |
| class CloudresourcemanagerApi { |
| /// View and manage your data across Google Cloud Platform services |
| static const CloudPlatformScope = |
| "https://www.googleapis.com/auth/cloud-platform"; |
| |
| /// View your data across Google Cloud Platform services |
| static const CloudPlatformReadOnlyScope = |
| "https://www.googleapis.com/auth/cloud-platform.read-only"; |
| |
| final commons.ApiRequester _requester; |
| |
| OrganizationsResourceApi get organizations => |
| new OrganizationsResourceApi(_requester); |
| ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
| |
| CloudresourcemanagerApi(http.Client client, |
| {core.String rootUrl: "https://cloudresourcemanager.googleapis.com/", |
| core.String servicePath: ""}) |
| : _requester = |
| new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
| } |
| |
| class OrganizationsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| OrganizationsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// 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/[^/]+$". |
| /// |
| /// [organizationId] - The id of the Organization resource to fetch. |
| /// This field is deprecated and will be removed in v1. Use name instead. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String organizationId, core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if (organizationId != null) { |
| _queryParams["organizationId"] = [organizationId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + 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 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/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$resource') + |
| ':getIamPolicy'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Policy.fromJson(data)); |
| } |
| |
| /// Lists 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 list. |
| /// |
| /// Request parameters: |
| /// |
| /// [pageToken] - A pagination token returned from a previous call to |
| /// `ListOrganizations` |
| /// that indicates from where listing should continue. |
| /// This field is optional. |
| /// |
| /// [pageSize] - The maximum number of Organizations to return in the |
| /// response. |
| /// This field is optional. |
| /// |
| /// [filter] - An optional query string used to filter the Organizations to |
| /// return in |
| /// the response. Filter rules are case-insensitive. |
| /// |
| /// |
| /// Organizations may be filtered by `owner.directoryCustomerId` or by |
| /// `domain`, where the domain is a Google for Work domain, for example: |
| /// |
| /// |Filter|Description| |
| /// |------|-----------| |
| /// |owner.directorycustomerid:123456789|Organizations with |
| /// `owner.directory_customer_id` equal to `123456789`.| |
| /// |domain:google.com|Organizations corresponding to the domain |
| /// `google.com`.| |
| /// |
| /// This field is optional. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListOrganizationsResponse]. |
| /// |
| /// 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<ListOrganizationsResponse> list( |
| {core.String pageToken, |
| core.int pageSize, |
| core.String filter, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (filter != null) { |
| _queryParams["filter"] = [filter]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/organizations'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new ListOrganizationsResponse.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/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$resource') + |
| ':setIamPolicy'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Policy.fromJson(data)); |
| } |
| |
| /// Returns permissions that a caller has on the specified 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/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| 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)); |
| } |
| |
| /// Updates an Organization resource identified by the specified resource |
| /// name. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - Output Only. The resource name of the organization. This is the |
| /// organization's relative path in the API. Its format is |
| /// "organizations/[organization_id]". For example, "organizations/1234". |
| /// Value must have pattern "^organizations/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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> update(Organization request, core.String name, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "PUT", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Organization.fromJson(data)); |
| } |
| } |
| |
| class ProjectsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsResourceApi(commons.ApiRequester client) : _requester = client; |
| |
| /// Creates a Project resource. |
| /// |
| /// Initially, the Project resource is owned by its creator exclusively. |
| /// The creator can later grant permission to others to read or update the |
| /// Project. |
| /// |
| /// Several APIs are activated automatically for the Project, including |
| /// Google Cloud Storage. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [useLegacyStack] - A safety hatch to opt out of the new reliable project |
| /// creation process. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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> create(Project request, |
| {core.bool useLegacyStack, core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.json.encode((request).toJson()); |
| } |
| if (useLegacyStack != null) { |
| _queryParams["useLegacyStack"] = ["${useLegacyStack}"]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/projects'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Project.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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/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)); |
| } |
| |
| /// Returns the IAM access control policy for the specified Project. |
| /// Permission is denied if the policy or the resource does not exist. |
| /// |
| /// For additional information about resource structure and identification, |
| /// see [Resource Names](/apis/design/resource_names). |
| /// |
| /// [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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/projects/' + |
| commons.Escaper.ecapeVariable('$resource') + |
| ':getIamPolicy'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Policy.fromJson(data)); |
| } |
| |
| /// Lists Projects that are visible to the user and satisfy the |
| /// specified filter. This method returns Projects in an unspecified order. |
| /// This method is eventually consistent with project mutations; this means |
| /// that a newly created project may not appear in the results or recent |
| /// updates to an existing project may not be reflected in the results. To |
| /// retrieve the latest state of a project, use the GetProjectmethod. |
| /// |
| /// Request parameters: |
| /// |
| /// [pageSize] - The maximum number of Projects to return in the response. |
| /// The server can return fewer Projects than requested. |
| /// If unspecified, server picks an appropriate default. |
| /// |
| /// Optional. |
| /// |
| /// [filter] - An expression for filtering the results of the request. Filter |
| /// rules are |
| /// case insensitive. The fields eligible for filtering are: |
| /// |
| /// + `name` |
| /// + `id` |
| /// + <code>labels.<em>key</em></code> where *key* is the name of a label |
| /// |
| /// Some examples of using labels as filters: |
| /// |
| /// |Filter|Description| |
| /// |------|-----------| |
| /// |name:how*|The project's name starts with "how".| |
| /// |name:Howl|The project's name is `Howl` or `howl`.| |
| /// |name:HOWL|Equivalent to above.| |
| /// |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 labels.size:big|The project's label `color` has the |
| /// value `red` and its label `size` has the value `big`. |
| /// |
| /// If you specify a filter that has both `parent.type` and `parent.id`, then |
| /// the `resourcemanager.projects.list` permission is checked on the parent. |
| /// If the user has this permission, all projects under the parent will be |
| /// returned after remaining filters have been applied. If the user lacks this |
| /// permission, then all projects for which the user has the |
| /// `resourcemanager.projects.get` permission will be returned after remaining |
| /// filters have been applied. If no filter is specified, the call will return |
| /// projects for which the user has `resourcemanager.projects.get` |
| /// permissions. |
| /// |
| /// Optional. |
| /// |
| /// [pageToken] - A pagination token returned from a previous call to |
| /// ListProjects |
| /// that indicates from where listing should continue. |
| /// |
| /// Optional. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListProjectsResponse]. |
| /// |
| /// 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<ListProjectsResponse> list( |
| {core.int pageSize, |
| core.String filter, |
| core.String pageToken, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (filter != null) { |
| _queryParams["filter"] = [filter]; |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/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)); |
| } |
| |
| /// Sets the IAM access control policy for the specified Project. Overwrites |
| /// 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. |
| /// |
| /// + If the project is not part of an organization, 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. |
| /// |
| /// + This method will replace the existing policy, and cannot be used to |
| /// append additional IAM settings. |
| /// |
| /// 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/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)); |
| } |
| |
| /// Returns permissions that a caller has on the specified Project. |
| /// |
| /// [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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/projects/' + |
| commons.Escaper.ecapeVariable('$resource') + |
| ':testIamPermissions'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new TestIamPermissionsResponse.fromJson(data)); |
| } |
| |
| /// Restores the Project identified by the specified |
| /// `project_id` (for example, `my-project-123`). |
| /// You can only use this method for a Project that has a lifecycle state of |
| /// DELETE_REQUESTED. |
| /// After deletion starts, the Project cannot be restored. |
| /// |
| /// 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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> undelete( |
| UndeleteProjectRequest request, core.String projectId, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/projects/' + |
| commons.Escaper.ecapeVariable('$projectId') + |
| ':undelete'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Updates the attributes of the Project identified by the specified |
| /// `project_id` (for example, `my-project-123`). |
| /// |
| /// The caller must have modify permissions for this Project. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [projectId] - The project ID (for example, `my-project-123`). |
| /// |
| /// Required. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// 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> update(Project request, core.String projectId, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| 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."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/projects/' + commons.Escaper.ecapeVariable('$projectId'); |
| |
| var _response = _requester.request(_url, "PUT", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Project.fromJson(data)); |
| } |
| } |
| |
| /// Identifying information for a single ancestor of a project. |
| class Ancestor { |
| /// Resource id of the ancestor. |
| ResourceId resourceId; |
| |
| Ancestor(); |
| |
| Ancestor.fromJson(core.Map _json) { |
| if (_json.containsKey("resourceId")) { |
| resourceId = new ResourceId.fromJson(_json["resourceId"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (resourceId != null) { |
| _json["resourceId"] = (resourceId).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Specifies the audit configuration for a service. |
| /// The configuration determines which permission types are logged, and what |
| /// identities, if any, are exempted from logging. |
| /// An AuditConfig must have one or more AuditLogConfigs. |
| /// |
| /// If there are AuditConfigs for both `allServices` and a specific service, |
| /// the union of the two AuditConfigs is used for that service: the log_types |
| /// specified in each AuditConfig are enabled, and the exempted_members in each |
| /// AuditLogConfig 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"] as core.List) |
| .map<AuditLogConfig>((value) => new AuditLogConfig.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("service")) { |
| service = _json["service"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (auditLogConfigs != null) { |
| _json["auditLogConfigs"] = |
| auditLogConfigs.map((value) => (value).toJson()).toList(); |
| } |
| if (service != null) { |
| _json["service"] = service; |
| } |
| return _json; |
| } |
| } |
| |
| /// Provides the configuration for logging a type of permissions. |
| /// Example: |
| /// |
| /// { |
| /// "audit_log_configs": [ |
| /// { |
| /// "log_type": "DATA_READ", |
| /// "exempted_members": [ |
| /// "user:foo@gmail.com" |
| /// ] |
| /// }, |
| /// { |
| /// "log_type": "DATA_WRITE", |
| /// } |
| /// ] |
| /// } |
| /// |
| /// This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting |
| /// foo@gmail.com from DATA_READ logging. |
| class AuditLogConfig { |
| /// Specifies the identities that do not cause logging for this type of |
| /// permission. |
| /// Follows the same format of Binding.members. |
| core.List<core.String> exemptedMembers; |
| |
| /// The log type that this config enables. |
| /// Possible string values are: |
| /// - "LOG_TYPE_UNSPECIFIED" : Default case. Should never be this. |
| /// - "ADMIN_READ" : Admin reads. Example: CloudIAM getIamPolicy |
| /// - "DATA_WRITE" : Data writes. Example: CloudSQL Users create |
| /// - "DATA_READ" : Data reads. Example: CloudSQL Users list |
| core.String logType; |
| |
| AuditLogConfig(); |
| |
| AuditLogConfig.fromJson(core.Map _json) { |
| if (_json.containsKey("exemptedMembers")) { |
| exemptedMembers = |
| (_json["exemptedMembers"] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey("logType")) { |
| logType = _json["logType"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (exemptedMembers != null) { |
| _json["exemptedMembers"] = exemptedMembers; |
| } |
| if (logType != null) { |
| _json["logType"] = logType; |
| } |
| return _json; |
| } |
| } |
| |
| /// Associates `members` with a `role`. |
| class Binding { |
| /// Specifies the identities requesting access for a Cloud Platform resource. |
| /// `members` can have the following values: |
| /// |
| /// * `allUsers`: A special identifier that represents anyone who is |
| /// on the internet; with or without a Google account. |
| /// |
| /// * `allAuthenticatedUsers`: A special identifier that represents anyone |
| /// who is authenticated with a Google account or a service account. |
| /// |
| /// * `user:{emailid}`: An email address that represents a specific Google |
| /// account. For example, `alice@gmail.com` or `joe@example.com`. |
| /// |
| /// |
| /// * `serviceAccount:{emailid}`: An email address that represents a service |
| /// account. For example, `my-other-app@appspot.gserviceaccount.com`. |
| /// |
| /// * `group:{emailid}`: An email address that represents a Google group. |
| /// For example, `admins@example.com`. |
| /// |
| /// |
| /// * `domain:{domain}`: A Google Apps domain name that represents all the |
| /// users of that domain. For example, `google.com` or `example.com`. |
| core.List<core.String> members; |
| |
| /// Role that is assigned to `members`. |
| /// For example, `roles/viewer`, `roles/editor`, or `roles/owner`. |
| /// Required |
| core.String role; |
| |
| Binding(); |
| |
| Binding.fromJson(core.Map _json) { |
| if (_json.containsKey("members")) { |
| members = (_json["members"] as core.List).cast<core.String>(); |
| } |
| if (_json.containsKey("role")) { |
| role = _json["role"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (members != null) { |
| _json["members"] = members; |
| } |
| if (role != null) { |
| _json["role"] = role; |
| } |
| return _json; |
| } |
| } |
| |
| /// A 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: |
| /// |
| /// service Foo { |
| /// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); |
| /// } |
| /// |
| /// The JSON representation for `Empty` is empty JSON object `{}`. |
| class Empty { |
| Empty(); |
| |
| Empty.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// Metadata describing a long running folder operation |
| class FolderOperation { |
| /// The resource name of the folder or organization we are either creating |
| /// the folder under or moving the folder to. |
| core.String destinationParent; |
| |
| /// The display name of the folder. |
| core.String displayName; |
| |
| /// The type of this operation. |
| /// Possible string values are: |
| /// - "OPERATION_TYPE_UNSPECIFIED" : Operation type not specified. |
| /// - "CREATE" : A create folder operation. |
| /// - "MOVE" : A move folder operation. |
| core.String operationType; |
| |
| /// The resource name of the folder's parent. |
| /// Only applicable when the operation_type is MOVE. |
| core.String sourceParent; |
| |
| FolderOperation(); |
| |
| FolderOperation.fromJson(core.Map _json) { |
| if (_json.containsKey("destinationParent")) { |
| destinationParent = _json["destinationParent"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("operationType")) { |
| operationType = _json["operationType"]; |
| } |
| if (_json.containsKey("sourceParent")) { |
| sourceParent = _json["sourceParent"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (destinationParent != null) { |
| _json["destinationParent"] = destinationParent; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (operationType != null) { |
| _json["operationType"] = operationType; |
| } |
| if (sourceParent != null) { |
| _json["sourceParent"] = sourceParent; |
| } |
| return _json; |
| } |
| } |
| |
| /// A classification of the Folder Operation error. |
| class FolderOperationError { |
| /// The type of operation error experienced. |
| /// Possible string values are: |
| /// - "ERROR_TYPE_UNSPECIFIED" : The error type was unrecognized or |
| /// unspecified. |
| /// - "ACTIVE_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate |
| /// the max folder depth constraint. |
| /// - "MAX_CHILD_FOLDERS_VIOLATION" : The attempted action would violate the |
| /// max child folders constraint. |
| /// - "FOLDER_NAME_UNIQUENESS_VIOLATION" : The attempted action would violate |
| /// the locally-unique folder |
| /// display_name constraint. |
| /// - "RESOURCE_DELETED_VIOLATION" : The resource being moved has been |
| /// deleted. |
| /// - "PARENT_DELETED_VIOLATION" : The resource a folder was being added to |
| /// has been deleted. |
| /// - "CYCLE_INTRODUCED_VIOLATION" : The attempted action would introduce |
| /// cycle in resource path. |
| /// - "FOLDER_BEING_MOVED_VIOLATION" : The attempted action would move a |
| /// folder that is already being moved. |
| /// - "FOLDER_TO_DELETE_NON_EMPTY_VIOLATION" : The folder the caller is trying |
| /// to delete contains active resources. |
| /// - "DELETED_FOLDER_HEIGHT_VIOLATION" : The attempted action would violate |
| /// the max deleted folder depth |
| /// constraint. |
| core.String errorMessageId; |
| |
| FolderOperationError(); |
| |
| FolderOperationError.fromJson(core.Map _json) { |
| if (_json.containsKey("errorMessageId")) { |
| errorMessageId = _json["errorMessageId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (errorMessageId != null) { |
| _json["errorMessageId"] = errorMessageId; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request sent to the |
| /// GetAncestry |
| /// method. |
| class GetAncestryRequest { |
| GetAncestryRequest(); |
| |
| GetAncestryRequest.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// Response from the GetAncestry method. |
| class GetAncestryResponse { |
| /// Ancestors are ordered from bottom to top of the resource hierarchy. The |
| /// first ancestor is the project itself, followed by the project's parent, |
| /// etc. |
| core.List<Ancestor> ancestor; |
| |
| GetAncestryResponse(); |
| |
| GetAncestryResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("ancestor")) { |
| ancestor = (_json["ancestor"] as core.List) |
| .map<Ancestor>((value) => new Ancestor.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (ancestor != null) { |
| _json["ancestor"] = ancestor.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for `GetIamPolicy` method. |
| class GetIamPolicyRequest { |
| GetIamPolicyRequest(); |
| |
| GetIamPolicyRequest.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// The response returned from the `ListOrganizations` method. |
| class ListOrganizationsResponse { |
| /// A pagination token to be used to retrieve the next page of results. If the |
| /// result is too large to fit within the page size specified in the request, |
| /// this field will be set with a token that can be used to fetch the next |
| /// page |
| /// of results. If this field is empty, it indicates that this response |
| /// contains the last page of results. |
| core.String nextPageToken; |
| |
| /// The list of Organizations that matched the list query, possibly paginated. |
| core.List<Organization> organizations; |
| |
| ListOrganizationsResponse(); |
| |
| ListOrganizationsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("organizations")) { |
| organizations = (_json["organizations"] as core.List) |
| .map<Organization>((value) => new Organization.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (organizations != null) { |
| _json["organizations"] = |
| organizations.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A page of the response received from the |
| /// ListProjects |
| /// method. |
| /// |
| /// A paginated response where more pages are available has |
| /// `next_page_token` set. This token can be used in a subsequent request to |
| /// retrieve the next request page. |
| class ListProjectsResponse { |
| /// Pagination token. |
| /// |
| /// If the result set is too large to fit in a single response, this token |
| /// is returned. It encodes the position of the current result cursor. |
| /// Feeding this value into a new list request with the `page_token` parameter |
| /// gives the next page of the results. |
| /// |
| /// When `next_page_token` is not filled in, there is no next page and |
| /// the list returned is the last page in the result set. |
| /// |
| /// Pagination tokens have a limited lifetime. |
| core.String nextPageToken; |
| |
| /// The list of Projects that matched the list filter. This list can |
| /// be paginated. |
| core.List<Project> projects; |
| |
| ListProjectsResponse(); |
| |
| ListProjectsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| if (_json.containsKey("projects")) { |
| projects = (_json["projects"] as core.List) |
| .map<Project>((value) => new Project.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| if (projects != null) { |
| _json["projects"] = projects.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The root node in the resource hierarchy to which a particular entity's |
| /// (e.g., company) resources belong. |
| class Organization { |
| /// Timestamp when the Organization was created. Assigned by the server. |
| /// @OutputOnly |
| core.String creationTime; |
| |
| /// A human-readable string that refers to the Organization in the |
| /// GCP Console UI. This string is set by the server and cannot be |
| /// changed. The string will be set to the primary domain (for example, |
| /// "google.com") of the G Suite customer that owns the organization. |
| /// @OutputOnly |
| core.String displayName; |
| |
| /// The organization's current lifecycle state. Assigned by the server. |
| /// @OutputOnly |
| /// Possible string values are: |
| /// - "LIFECYCLE_STATE_UNSPECIFIED" : Unspecified state. This is only useful |
| /// for distinguishing unset values. |
| /// - "ACTIVE" : The normal and active state. |
| /// - "DELETE_REQUESTED" : The organization has been marked for deletion by |
| /// the user. |
| core.String lifecycleState; |
| |
| /// Output Only. The resource name of the organization. This is the |
| /// organization's relative path in the API. Its format is |
| /// "organizations/[organization_id]". For example, "organizations/1234". |
| core.String name; |
| |
| /// An immutable id for the Organization that is assigned on creation. This |
| /// should be omitted when creating a new Organization. |
| /// This field is read-only. |
| core.String organizationId; |
| |
| /// The owner of this Organization. The owner should be specified on |
| /// creation. Once set, it cannot be changed. |
| /// This field is required. |
| OrganizationOwner owner; |
| |
| Organization(); |
| |
| Organization.fromJson(core.Map _json) { |
| if (_json.containsKey("creationTime")) { |
| creationTime = _json["creationTime"]; |
| } |
| if (_json.containsKey("displayName")) { |
| displayName = _json["displayName"]; |
| } |
| if (_json.containsKey("lifecycleState")) { |
| lifecycleState = _json["lifecycleState"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("organizationId")) { |
| organizationId = _json["organizationId"]; |
| } |
| if (_json.containsKey("owner")) { |
| owner = new OrganizationOwner.fromJson(_json["owner"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (creationTime != null) { |
| _json["creationTime"] = creationTime; |
| } |
| if (displayName != null) { |
| _json["displayName"] = displayName; |
| } |
| if (lifecycleState != null) { |
| _json["lifecycleState"] = lifecycleState; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (organizationId != null) { |
| _json["organizationId"] = organizationId; |
| } |
| if (owner != null) { |
| _json["owner"] = (owner).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The entity that owns an Organization. The lifetime of the Organization and |
| /// all of its descendants are bound to the `OrganizationOwner`. If the |
| /// `OrganizationOwner` is deleted, the Organization and all its descendants |
| /// will |
| /// be deleted. |
| class OrganizationOwner { |
| /// The Google for Work customer id used in the Directory API. |
| core.String directoryCustomerId; |
| |
| OrganizationOwner(); |
| |
| OrganizationOwner.fromJson(core.Map _json) { |
| if (_json.containsKey("directoryCustomerId")) { |
| directoryCustomerId = _json["directoryCustomerId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (directoryCustomerId != null) { |
| _json["directoryCustomerId"] = directoryCustomerId; |
| } |
| return _json; |
| } |
| } |
| |
| /// Defines an Identity and Access Management (IAM) policy. It is used to |
| /// specify access control policies for Cloud Platform resources. |
| /// |
| /// |
| /// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of |
| /// `members` to a `role`, where the members can be user accounts, Google |
| /// groups, |
| /// Google domains, and service accounts. A `role` is a named list of |
| /// permissions |
| /// defined by IAM. |
| /// |
| /// **Example** |
| /// |
| /// { |
| /// "bindings": [ |
| /// { |
| /// "role": "roles/owner", |
| /// "members": [ |
| /// "user:mike@example.com", |
| /// "group:admins@example.com", |
| /// "domain:google.com", |
| /// "serviceAccount:my-other-app@appspot.gserviceaccount.com", |
| /// ] |
| /// }, |
| /// { |
| /// "role": "roles/viewer", |
| /// "members": ["user:sean@example.com"] |
| /// } |
| /// ] |
| /// } |
| /// |
| /// For a description of IAM and its features, see the |
| /// [IAM developer's guide](https://cloud.google.com/iam/docs). |
| class Policy { |
| /// Specifies cloud audit logging configuration for this policy. |
| core.List<AuditConfig> auditConfigs; |
| |
| /// Associates a list of `members` to a `role`. |
| /// `bindings` with no members will result in an error. |
| core.List<Binding> bindings; |
| |
| /// `etag` is used for optimistic concurrency control as a way to help |
| /// prevent simultaneous updates of a policy from overwriting each other. |
| /// It is strongly suggested that systems make use of the `etag` in the |
| /// read-modify-write cycle to perform policy updates in order to avoid race |
| /// conditions: An `etag` is returned in the response to `getIamPolicy`, and |
| /// systems are expected to put that etag in the request to `setIamPolicy` to |
| /// ensure that their change will be applied to the same version of the |
| /// policy. |
| /// |
| /// If no `etag` is provided in the call to `setIamPolicy`, then the existing |
| /// policy is overwritten blindly. |
| core.String etag; |
| core.List<core.int> get etagAsBytes { |
| return convert.base64.decode(etag); |
| } |
| |
| void set etagAsBytes(core.List<core.int> _bytes) { |
| etag = |
| convert.base64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// Deprecated. |
| core.int version; |
| |
| Policy(); |
| |
| Policy.fromJson(core.Map _json) { |
| if (_json.containsKey("auditConfigs")) { |
| auditConfigs = (_json["auditConfigs"] as core.List) |
| .map<AuditConfig>((value) => new AuditConfig.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("bindings")) { |
| bindings = (_json["bindings"] as core.List) |
| .map<Binding>((value) => new Binding.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("etag")) { |
| etag = _json["etag"]; |
| } |
| if (_json.containsKey("version")) { |
| version = _json["version"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (auditConfigs != null) { |
| _json["auditConfigs"] = |
| auditConfigs.map((value) => (value).toJson()).toList(); |
| } |
| if (bindings != null) { |
| _json["bindings"] = bindings.map((value) => (value).toJson()).toList(); |
| } |
| if (etag != null) { |
| _json["etag"] = etag; |
| } |
| if (version != null) { |
| _json["version"] = version; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Project is a high-level Google Cloud Platform entity. It is a |
| /// container for ACLs, APIs, App Engine Apps, VMs, and other |
| /// Google Cloud Platform resources. |
| class Project { |
| /// Creation time. |
| /// |
| /// Read-only. |
| core.String createTime; |
| |
| /// The labels associated with this Project. |
| /// |
| /// Label keys must be between 1 and 63 characters long and must conform |
| /// to the following regular expression: \[a-z\](\[-a-z0-9\]*\[a-z0-9\])?. |
| /// |
| /// Label values must be between 0 and 63 characters long and must conform |
| /// to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?. |
| /// |
| /// No more than 256 labels can be associated with a given resource. |
| /// |
| /// Clients should store labels in a representation such as JSON that does not |
| /// depend on specific characters being disallowed. |
| /// |
| /// Example: <code>"environment" : "dev"</code> |
| /// Read-write. |
| core.Map<core.String, core.String> labels; |
| |
| /// The Project lifecycle state. |
| /// |
| /// Read-only. |
| /// Possible string values are: |
| /// - "LIFECYCLE_STATE_UNSPECIFIED" : Unspecified state. This is only |
| /// used/useful for distinguishing |
| /// unset values. |
| /// - "ACTIVE" : The normal and active state. |
| /// - "DELETE_REQUESTED" : The project has been marked for deletion by the |
| /// user |
| /// (by invoking DeleteProject) |
| /// or by the system (Google Cloud Platform). |
| /// This can generally be reversed by invoking UndeleteProject. |
| /// - "DELETE_IN_PROGRESS" : This lifecycle state is no longer used and is not |
| /// returned by the API. |
| core.String lifecycleState; |
| |
| /// The user-assigned display name of the Project. |
| /// It must be 4 to 30 characters. |
| /// Allowed characters are: lowercase and uppercase letters, numbers, |
| /// hyphen, single-quote, double-quote, space, and exclamation point. |
| /// |
| /// Example: <code>My Project</code> |
| /// Read-write. |
| core.String name; |
| |
| /// An optional reference to a parent Resource. |
| /// |
| /// Supported parent types include "organization" and "folder". Once set, the |
| /// parent cannot be cleared. The `parent` can be set on creation or using the |
| /// `UpdateProject` method; the end user must have the |
| /// `resourcemanager.projects.create` permission on the parent. |
| /// |
| /// Read-write. |
| ResourceId parent; |
| |
| /// The unique, user-assigned ID of the Project. |
| /// It must be 6 to 30 lowercase letters, digits, or hyphens. |
| /// It must start with a letter. |
| /// Trailing hyphens are prohibited. |
| /// |
| /// Example: <code>tokyo-rain-123</code> |
| /// Read-only after creation. |
| core.String projectId; |
| |
| /// The number uniquely identifying the project. |
| /// |
| /// Example: <code>415104041262</code> |
| /// Read-only. |
| core.String projectNumber; |
| |
| Project(); |
| |
| Project.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("labels")) { |
| labels = (_json["labels"] as core.Map).cast<core.String, core.String>(); |
| } |
| if (_json.containsKey("lifecycleState")) { |
| lifecycleState = _json["lifecycleState"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("parent")) { |
| parent = new ResourceId.fromJson(_json["parent"]); |
| } |
| if (_json.containsKey("projectId")) { |
| projectId = _json["projectId"]; |
| } |
| if (_json.containsKey("projectNumber")) { |
| projectNumber = _json["projectNumber"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (labels != null) { |
| _json["labels"] = labels; |
| } |
| if (lifecycleState != null) { |
| _json["lifecycleState"] = lifecycleState; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (parent != null) { |
| _json["parent"] = (parent).toJson(); |
| } |
| if (projectId != null) { |
| _json["projectId"] = projectId; |
| } |
| if (projectNumber != null) { |
| _json["projectNumber"] = projectNumber; |
| } |
| return _json; |
| } |
| } |
| |
| /// A status object which is used as the `metadata` field for the Operation |
| /// returned by CreateProject. It provides insight for when significant phases |
| /// of |
| /// Project creation have completed. |
| class ProjectCreationStatus { |
| /// Creation time of the project creation workflow. |
| core.String createTime; |
| |
| /// True if the project can be retrieved using GetProject. No other operations |
| /// on the project are guaranteed to work until the project creation is |
| /// complete. |
| core.bool gettable; |
| |
| /// True if the project creation process is complete. |
| core.bool ready; |
| |
| ProjectCreationStatus(); |
| |
| ProjectCreationStatus.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("gettable")) { |
| gettable = _json["gettable"]; |
| } |
| if (_json.containsKey("ready")) { |
| ready = _json["ready"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (gettable != null) { |
| _json["gettable"] = gettable; |
| } |
| if (ready != null) { |
| _json["ready"] = ready; |
| } |
| return _json; |
| } |
| } |
| |
| /// A container to reference an id for any resource type. A `resource` in Google |
| /// Cloud Platform is a generic term for something you (a developer) may want to |
| /// interact with through one of our API's. Some examples are an App Engine app, |
| /// a Compute Engine instance, a Cloud SQL database, and so on. |
| class ResourceId { |
| /// Required field for the type-specific id. This should correspond to the id |
| /// used in the type-specific API's. |
| core.String id; |
| |
| /// Required field representing the resource type this id is for. |
| /// At present, the valid types are "project", "folder", and "organization". |
| core.String type; |
| |
| ResourceId(); |
| |
| ResourceId.fromJson(core.Map _json) { |
| if (_json.containsKey("id")) { |
| id = _json["id"]; |
| } |
| if (_json.containsKey("type")) { |
| type = _json["type"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (id != null) { |
| _json["id"] = id; |
| } |
| if (type != null) { |
| _json["type"] = type; |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for `SetIamPolicy` method. |
| class SetIamPolicyRequest { |
| /// REQUIRED: The complete policy to be applied to the `resource`. The size of |
| /// the policy is limited to a few 10s of KB. An empty policy is a |
| /// valid policy but certain Cloud Platform services (such as Projects) |
| /// might reject them. |
| Policy policy; |
| |
| /// OPTIONAL: A FieldMask specifying which fields of the policy to modify. |
| /// Only |
| /// the fields in the mask will be modified. If no mask is provided, the |
| /// following default mask is used: |
| /// paths: "bindings, etag" |
| /// This field is only used by Cloud IAM. |
| core.String updateMask; |
| |
| SetIamPolicyRequest(); |
| |
| SetIamPolicyRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("policy")) { |
| policy = new Policy.fromJson(_json["policy"]); |
| } |
| if (_json.containsKey("updateMask")) { |
| updateMask = _json["updateMask"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (policy != null) { |
| _json["policy"] = (policy).toJson(); |
| } |
| if (updateMask != null) { |
| _json["updateMask"] = updateMask; |
| } |
| return _json; |
| } |
| } |
| |
| /// Request message for `TestIamPermissions` method. |
| class TestIamPermissionsRequest { |
| /// The set of permissions to check for the `resource`. Permissions with |
| /// wildcards (such as '*' or 'storage.*') are not allowed. For more |
| /// information see |
| /// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). |
| core.List<core.String> permissions; |
| |
| TestIamPermissionsRequest(); |
| |
| TestIamPermissionsRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("permissions")) { |
| permissions = (_json["permissions"] as core.List).cast<core.String>(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (permissions != null) { |
| _json["permissions"] = permissions; |
| } |
| return _json; |
| } |
| } |
| |
| /// Response message for `TestIamPermissions` method. |
| class TestIamPermissionsResponse { |
| /// A subset of `TestPermissionsRequest.permissions` that the caller is |
| /// allowed. |
| core.List<core.String> permissions; |
| |
| TestIamPermissionsResponse(); |
| |
| TestIamPermissionsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("permissions")) { |
| permissions = (_json["permissions"] as core.List).cast<core.String>(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (permissions != null) { |
| _json["permissions"] = permissions; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request sent to the UndeleteProject |
| /// method. |
| class UndeleteProjectRequest { |
| UndeleteProjectRequest(); |
| |
| UndeleteProjectRequest.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |