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

@see cloud.google.com/resource-manager

Attributes

key[RW]

@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.
quota_user[RW]

@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

new() click to toggle source
Calls superclass method Google::Apis::Core::BaseService.new
# File generated/google/apis/cloudresourcemanager_v1/service.rb, line 46
def initialize
  super('https://cloudresourcemanager.googleapis.com/', '')
end

Public Instance Methods

delete_project(project_id, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
get_project(project_id, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
get_project_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
list_projects(page_token: nil, page_size: nil, filter: nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
set_project_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
test_project_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
undelete_project(project_id, undelete_project_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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
update_project(project_id, project_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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

apply_command_defaults(command) click to toggle source
# 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