Class: Google::Apis::CloudresourcemanagerV1::CloudResourceManagerService

Inherits:
Google::Apis::Core::BaseService show all
Defined in:
generated/google/apis/cloudresourcemanager_v1/service.rb

Overview

Google Cloud Resource Manager API

The Google Cloud Resource Manager API provides methods for creating, reading, and updating project metadata.

Examples:

require 'google/apis/cloudresourcemanager_v1'

Cloudresourcemanager = Google::Apis::CloudresourcemanagerV1 # Alias the module
service = Cloudresourcemanager::CloudResourceManagerService.new

See Also:

Instance Attribute Summary collapse

Attributes inherited from Google::Apis::Core::BaseService

#authorization, #base_path, #batch_path, #client, #client_options, #request_options, #root_url, #upload_path

Instance Method Summary collapse

Methods inherited from Google::Apis::Core::BaseService

#batch, #batch_upload, #fetch_all, #http

Constructor Details

#initializeCloudResourceManagerService


46
47
48
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 46

def initialize
  super('https://cloudresourcemanager.googleapis.com/', '')
end

Instance Attribute Details

#keyString


39
40
41
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 39

def key
  @key
end

#quota_userString


44
45
46
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 44

def quota_user
  @quota_user
end

Instance Method Details

#create_project(project_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Operation

Request that a new Project be created. The result is an Operation which can be used to track the creation process. It is automatically deleted after a few hours, so there is no need to call DeleteOperation. Our SLO permits Project creation to take up to 30 seconds at the 90th percentile. As of 2016-08-29, we are observing 6 seconds 50th percentile latency. 95th percentile latency is around 11 seconds. We recommend polling at the 5th second with an exponential backoff.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


359
360
361
362
363
364
365
366
367
368
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 359

def create_project(project_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v1/projects', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV1::Project::Representation
  command.request_object = project_object
  command.response_representation = Google::Apis::CloudresourcemanagerV1::Operation::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV1::Operation
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#delete_project(project_id, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Empty

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.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


435
436
437
438
439
440
441
442
443
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 435

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_operation(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Operation

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


71
72
73
74
75
76
77
78
79
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 71

def get_operation(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:get, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudresourcemanagerV1::Operation::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV1::Operation
  command.params['name'] = name unless name.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_organization(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Organization

Fetches an Organization resource identified by the specified resource name.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


133
134
135
136
137
138
139
140
141
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 133

def get_organization(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:get, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudresourcemanagerV1::Organization::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV1::Organization
  command.params['name'] = name unless name.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_organization_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Policy

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".

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


205
206
207
208
209
210
211
212
213
214
215
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 205

def get_organization_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v1/{+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

#get_project(project_id, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Project

Retrieves the Project identified by the specified project_id (for example, my-project-123). The caller must have read permissions for this Project.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


275
276
277
278
279
280
281
282
283
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 275

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) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Policy

Returns the IAM access control policy for the specified Project. Permission is denied if the policy or the resource does not exist.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


505
506
507
508
509
510
511
512
513
514
515
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 505

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) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::ListProjectsResponse

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.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


322
323
324
325
326
327
328
329
330
331
332
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 322

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

#search_organizations(search_organizations_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::SearchOrganizationsResponse

Searches Organization resources that are visible to the user and satisfy the specified filter. This method returns Organizations in an unspecified order. New Organizations do not necessarily appear at the end of the results.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


102
103
104
105
106
107
108
109
110
111
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 102

def search_organizations(search_organizations_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v1/organizations:search', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV1::SearchOrganizationsRequest::Representation
  command.request_object = search_organizations_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV1::SearchOrganizationsResponse::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV1::SearchOrganizationsResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#set_organization_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Policy

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".

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


168
169
170
171
172
173
174
175
176
177
178
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 168

def set_organization_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v1/{+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

#set_project_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Policy

Sets the IAM access control policy for the specified Project. Replaces any existing policy. The following constraints apply when using setIamPolicy(): + Project does not support allUsers and allAuthenticatedUsers as members in a Binding of a Policy. + The owner role can be granted only to user and serviceAccount. + Service accounts can be made owners of a project directly without any restrictions. However, to be added as an owner, a user must be invited via Cloud Platform console and must accept the invitation. + A user cannot be granted the owner role using setIamPolicy(). The user must be granted the owner role using the Cloud Platform Console and must explicitly accept the invitation. + Invitations to grant the owner role cannot be sent using setIamPolicy(); they must be sent only using the Cloud Platform Console. + Membership changes that leave the project without any owners that have accepted the Terms of Service (ToS) will be rejected. + There must be at least one owner who has accepted the Terms of Service (ToS) agreement in the policy. Calling setIamPolicy() to to remove the last ToS-accepted owner from the policy will fail. This restriction also applies to legacy projects that no longer have owners who have accepted the ToS. Edits to IAM policies will be rejected until the lack of a ToS-accepting owner is rectified. + Calling this method requires enabling the App Engine Admin API. 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.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


561
562
563
564
565
566
567
568
569
570
571
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 561

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_organization_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse

Returns permissions that a caller has on the specified Organization. The resource field should be the organization's resource name, e.g. " organizations/123".

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


242
243
244
245
246
247
248
249
250
251
252
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 242

def test_organization_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v1/{+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

#test_project_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::TestIamPermissionsResponse

Returns permissions that a caller has on the specified Project.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


596
597
598
599
600
601
602
603
604
605
606
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 596

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) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Empty

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.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


469
470
471
472
473
474
475
476
477
478
479
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 469

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) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV1::Project

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.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


393
394
395
396
397
398
399
400
401
402
403
# File 'generated/google/apis/cloudresourcemanager_v1/service.rb', line 393

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