Class: Google::Apis::CloudresourcemanagerV2beta1::CloudResourceManagerService

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

Overview

Cloud Resource Manager API

Creates, reads, and updates metadata for Google Cloud Platform resource containers.

Examples:

require 'google/apis/cloudresourcemanager_v2beta1'

Cloudresourcemanager = Google::Apis::CloudresourcemanagerV2beta1 # 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

Methods included from Google::Apis::Core::Logging

#logger

Constructor Details

#initializeCloudResourceManagerService


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

def initialize
  super('https://cloudresourcemanager.googleapis.com/', '')
  @batch_path = 'batch'
end

Instance Attribute Details

#keyString


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

def key
  @key
end

#quota_userString


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

def quota_user
  @quota_user
end

Instance Method Details

#create_folder(folder_object = nil, parent: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Operation

Creates a Folder in the resource hierarchy. Returns an Operation which can be used to track the progress of the folder creation workflow. Upon success the Operation.response field will be populated with the created Folder. In order to succeed, the addition of this new Folder must not violate the Folder naming, height or fanout constraints.

  • The Folder's display_name must be distinct from all other Folder's that share its parent.
  • The addition of the Folder must not cause the active Folder hierarchy to exceed a height of 4. Note, the full active + deleted Folder hierarchy is allowed to reach a height of 8; this provides additional headroom when moving folders that contain deleted folders.
  • The addition of the Folder must not cause the total number of Folders under its parent to exceed 100. If the operation fails due to a folder constraint violation, some errors may be returned by the CreateFolder request, with status code FAILED_PRECONDITION and an error description. Other folder constraint violations will be communicated in the Operation, with the specific PreconditionFailure returned via the details list in the Operation.error field. The caller must have resourcemanager.folders.create permission on the identified parent.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


95
96
97
98
99
100
101
102
103
104
105
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 95

def create_folder(folder_object = nil, parent: nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/folders', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.request_object = folder_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Operation::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::Operation
  command.query['parent'] = parent unless parent.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#delete_folder(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Folder

Requests deletion of a Folder. The Folder is moved into the DELETE_REQUESTED state immediately, and is deleted approximately 30 days later. This method may only be called on an empty Folder in the ACTIVE state, where a Folder is empty if it doesn't contain any Folders or Projects in the ACTIVE state. The caller must have resourcemanager.folders.delete permission on the identified folder.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


136
137
138
139
140
141
142
143
144
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 136

def delete_folder(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:delete, 'v2/{+name}', options)
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::Folder
  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_folder(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Folder

Retrieves a Folder identified by the supplied resource name. Valid Folder resource names have the format folders/folder_id` (for example,folders/1234). The caller must haveresourcemanager.folders.get` permission on the identified folder.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


171
172
173
174
175
176
177
178
179
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 171

def get_folder(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:get, 'v2/{+name}', options)
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::Folder
  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_folder_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Policy

Gets the access control policy for a Folder. The returned policy may be empty if no such policy or resource exists. The resource field should be the Folder's resource name, e.g. "folders/1234". The caller must have resourcemanager.folders.getIamPolicy permission on the identified folder.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


207
208
209
210
211
212
213
214
215
216
217
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 207

def get_folder_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/{+resource}:getIamPolicy', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::GetIamPolicyRequest::Representation
  command.request_object = get_iam_policy_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Policy::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::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_operation(name, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::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:


547
548
549
550
551
552
553
554
555
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 547

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::CloudresourcemanagerV2beta1::Operation::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::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

#list_folders(page_size: nil, page_token: nil, parent: nil, show_deleted: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::ListFoldersResponse

Lists the Folders that are direct descendants of supplied parent resource. List provides a strongly consistent view of the Folders underneath the specified parent resource. List returns Folders sorted based upon the (ascending) lexical ordering of their display_name. The caller must have resourcemanager.folders.list permission on the identified parent.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


260
261
262
263
264
265
266
267
268
269
270
271
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 260

def list_folders(page_size: nil, page_token: nil, parent: nil, show_deleted: nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:get, 'v2/folders', options)
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::ListFoldersResponse::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::ListFoldersResponse
  command.query['pageSize'] = page_size unless page_size.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['parent'] = parent unless parent.nil?
  command.query['showDeleted'] = show_deleted unless show_deleted.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

#move_folder(name, move_folder_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Operation

Moves a Folder under a new resource parent. Returns an Operation which can be used to track the progress of the folder move workflow. Upon success the Operation.response field will be populated with the moved Folder. Upon failure, a FolderOperationError categorizing the failure cause will be returned - if the failure occurs synchronously then the FolderOperationError will be returned via the Status.details field and if it occurs asynchronously then the FolderOperation will be returned via the the Operation.error field. In addition, the Operation.metadata field will be populated with a FolderOperation message as an aid to stateless clients. Folder moves will be rejected if they violate either the naming, height or fanout constraints described in the CreateFolder documentation. The caller must have resourcemanager.folders.move permission on the folder's current and proposed new parent.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


311
312
313
314
315
316
317
318
319
320
321
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 311

def move_folder(name, move_folder_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/{+name}:move', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::MoveFolderRequest::Representation
  command.request_object = move_folder_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Operation::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::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

#patch_folder(name, folder_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Folder

Updates a Folder, changing its display_name. Changes to the folder display_name will be rejected if they violate either the display_name formatting rules or naming constraints described in the CreateFolder documentation. The Folder's display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters. This is captured by the regular expression: \pL\pN?. The caller must have resourcemanager.folders.update permission on the identified folder. If the update fails due to the unique name constraint then a PreconditionFailure explaining this violation will be returned in the Status.details field.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


360
361
362
363
364
365
366
367
368
369
370
371
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 360

def patch_folder(name, folder_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:patch, 'v2/{+name}', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.request_object = folder_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::Folder
  command.params['name'] = name unless name.nil?
  command.query['updateMask'] = update_mask unless update_mask.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_folders(search_folders_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::SearchFoldersResponse

Search for folders that match specific filter criteria. Search provides an eventually consistent view of the folders a user has access to which meet the specified filter criteria. This will only return folders on which the caller has the permission resourcemanager.folders.get.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


396
397
398
399
400
401
402
403
404
405
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 396

def search_folders(search_folders_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/folders:search', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::SearchFoldersRequest::Representation
  command.request_object = search_folders_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::SearchFoldersResponse::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::SearchFoldersResponse
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

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

Sets the access control policy on a Folder, replacing any existing policy. The resource field should be the Folder's resource name, e.g. "folders/1234". The caller must have resourcemanager.folders.setIamPolicy permission on the identified folder.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


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

def set_folder_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/{+resource}:setIamPolicy', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::SetIamPolicyRequest::Representation
  command.request_object = set_iam_policy_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Policy::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::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_folder_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::TestIamPermissionsResponse

Returns permissions that a caller has on the specified Folder. The resource field should be the Folder's resource name, e.g. "folders/1234". There are no permissions required for making this API call.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


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

def test_folder_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/{+resource}:testIamPermissions', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::TestIamPermissionsRequest::Representation
  command.request_object = test_iam_permissions_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::TestIamPermissionsResponse::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::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_folder(name, undelete_folder_request_object = nil, fields: nil, quota_user: nil, options: nil) {|result, err| ... } ⇒ Google::Apis::CloudresourcemanagerV2beta1::Folder

Cancels the deletion request for a Folder. This method may only be called on a Folder in the DELETE_REQUESTED state. In order to succeed, the Folder's parent must be in the ACTIVE state. In addition, reintroducing the folder into the tree must not violate folder naming, height and fanout constraints described in the CreateFolder documentation. The caller must have resourcemanager.folders.undelete permission on the identified folder.

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Raises:


513
514
515
516
517
518
519
520
521
522
523
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 513

def undelete_folder(name, undelete_folder_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2/{+name}:undelete', options)
  command.request_representation = Google::Apis::CloudresourcemanagerV2beta1::UndeleteFolderRequest::Representation
  command.request_object = undelete_folder_request_object
  command.response_representation = Google::Apis::CloudresourcemanagerV2beta1::Folder::Representation
  command.response_class = Google::Apis::CloudresourcemanagerV2beta1::Folder
  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