class Google::Apis::CloudresourcemanagerV1::CloudResourceManagerService
Google Cloud Resource Manager API
The Google Cloud Resource Manager API provides methods for creating, reading,
and updating project metadata.
@example
require 'google/apis/cloudresourcemanager_v1' Cloudresourcemanager = Google::Apis::CloudresourcemanagerV1 # Alias the module service = Cloudresourcemanager::CloudResourceManagerService.new
Attributes
@return [String]
API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
@return [String]
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
Public Class Methods
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 46 def initialize super('https://cloudresourcemanager.googleapis.com/', '') end
Public Instance Methods
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 lifecycle state changes to DELETE_IN_PROGRESS. 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. @param [String] project_id
The Project ID (for example, `foo-bar-123`). Required.
@param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Empty] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Empty]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 196 def delete_project(project_id, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'v1/projects/{projectId}', options) command.response_representation = Google::Apis::CloudresourcemanagerV1::Empty::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Empty command.params['projectId'] = project_id unless project_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Retrieves the Project identified by the specified `project_id` (for example, ` my-project-123`). The caller must have read permissions for this Project. @param [String] project_id
The Project ID (for example, `my-project-123`). Required.
@param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Project] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Project]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 71 def get_project(project_id, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/projects/{projectId}', options) command.response_representation = Google::Apis::CloudresourcemanagerV1::Project::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Project command.params['projectId'] = project_id unless project_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Returns the IAM access control policy for the specified Project. Permission is denied if the policy or the resource does not exist. @param [String] resource
REQUIRED: The resource for which the policy is being requested. `resource` is usually specified as a path, such as `projects project zones zone disks/* disk*`. The format for the path specified in this value is resource specific and is specified in the `getIamPolicy` documentation.
@param [Google::Apis::CloudresourcemanagerV1::GetIamPolicyRequest] get_iam_policy_request_object @param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Policy] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Policy]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 268 def get_project_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/projects/{resource}:getIamPolicy', options) command.request_representation = Google::Apis::CloudresourcemanagerV1::GetIamPolicyRequest::Representation command.request_object = get_iam_policy_request_object command.response_representation = Google::Apis::CloudresourcemanagerV1::Policy::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Policy command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Lists Projects that are visible to the user and satisfy the specified filter. This method returns Projects in an unspecified order. New Projects do not necessarily appear at the end of the list. @param [String] page_token
A pagination token returned from a previous call to ListProjects that indicates from where listing should continue. Optional.
@param [Fixnum] page_size
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.
@param [String] filter
An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: + `name` + `id` + labels. key where *key* is the name of a label Some examples of using labels as filters: |Filter|Description| |------|-----------| |name:*|The project has a name.| |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 label.size:big|The project's label ` color` has the value `red` and its label `size` has the value `big`. Optional.
@param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::ListProjectsResponse] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::ListProjectsResponse]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 118 def list_projects(page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'v1/projects', options) command.response_representation = Google::Apis::CloudresourcemanagerV1::ListProjectsResponse::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::ListProjectsResponse command.query['pageToken'] = page_token unless page_token.nil? command.query['pageSize'] = page_size unless page_size.nil? command.query['filter'] = filter unless filter.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using `setIamPolicy()`: + Project currently supports only `user:`emailid“ and `serviceAccount:`emailid` ` members in a `Binding` of a `Policy`. + To be added as an `owner`, a user must be invited via Cloud Platform console and must accept the invitation. + Members cannot be added to more than one role in the same policy. + 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. + 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. @param [String] resource
REQUIRED: The resource for which the policy is being specified. `resource` is usually specified as a path, such as `projects project zones zone disks/* disk*`. The format for the path specified in this value is resource specific and is specified in the `setIamPolicy` documentation.
@param [Google::Apis::CloudresourcemanagerV1::SetIamPolicyRequest] set_iam_policy_request_object @param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Policy] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Policy]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 316 def set_project_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/projects/{resource}:setIamPolicy', options) command.request_representation = Google::Apis::CloudresourcemanagerV1::SetIamPolicyRequest::Representation command.request_object = set_iam_policy_request_object command.response_representation = Google::Apis::CloudresourcemanagerV1::Policy::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Policy command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Returns permissions that a caller has on the specified Project. @param [String] resource
REQUIRED: The resource for which the policy detail is being requested. ` resource` is usually specified as a path, such as `projects project zones zone disks/*disk*`. The format for the path specified in this value is resource specific and is specified in the `testIamPermissions` documentation.
@param [Google::Apis::CloudresourcemanagerV1::TestIamPermissionsRequest] test_iam_permissions_request_object @param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 352 def test_project_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/projects/{resource}:testIamPermissions', options) command.request_representation = Google::Apis::CloudresourcemanagerV1::TestIamPermissionsRequest::Representation command.request_object = test_iam_permissions_request_object command.response_representation = Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
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, as indicated by a lifecycle state of DELETE_IN_PROGRESS, the Project cannot be restored. The caller must have modify permissions for this Project. @param [String] project_id
The project ID (for example, `foo-bar-123`). Required.
@param [Google::Apis::CloudresourcemanagerV1::UndeleteProjectRequest] undelete_project_request_object @param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Empty] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Empty]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 231 def undelete_project(project_id, undelete_project_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'v1/projects/{projectId}:undelete', options) command.request_representation = Google::Apis::CloudresourcemanagerV1::UndeleteProjectRequest::Representation command.request_object = undelete_project_request_object command.response_representation = Google::Apis::CloudresourcemanagerV1::Empty::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Empty command.params['projectId'] = project_id unless project_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
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. @param [String] project_id
The project ID (for example, `my-project-123`). Required.
@param [Google::Apis::CloudresourcemanagerV1::Project] project_object @param [String] fields
Selector specifying which fields to include in a partial response.
@param [String] #quota_user
Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
@param [Google::Apis::RequestOptions] options
Request-specific options
@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudresourcemanagerV1::Project] parsed result object @yieldparam err [StandardError] error object if request failed
@return [Google::Apis::CloudresourcemanagerV1::Project]
@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 153 def update_project(project_id, project_object = nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:put, 'v1/projects/{projectId}', options) command.request_representation = Google::Apis::CloudresourcemanagerV1::Project::Representation command.request_object = project_object command.response_representation = Google::Apis::CloudresourcemanagerV1::Project::Representation command.response_class = Google::Apis::CloudresourcemanagerV1::Project command.params['projectId'] = project_id unless project_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end
Protected Instance Methods
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 366 def apply_command_defaults(command) command.query['key'] = key unless key.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? end