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

Inherits:
Google::Apis::Core::BaseService show all
Defined in:
generated/google/apis/cloudresourcemanager_v2beta1/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_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

Returns a new instance of CloudResourceManagerService



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

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

Returns:

  • (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.



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

def key
  @key
end

#quota_userString

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

Returns:

  • (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.



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, a PreconditionFailure explaining the violation will be returned. If the failure occurs synchronously then the PreconditionFailure will be returned via the Status.details field and if it occurs asynchronously then the PreconditionFailure will be returned via the the Operation.error field. The caller must have resourcemanager.folders.create permission on the identified parent.

Parameters:

  • folder_object (Google::Apis::CloudresourcemanagerV2beta1::Folder) (defaults to: nil)
  • parent (String)

    The resource name of the new Folder's parent. Must be of the form folders/folder_idor `organizations/`org_id.

  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

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, 'v2beta1/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.

Parameters:

  • name (String)

    the resource name of the Folder to be deleted. Must be of the form folders/folder_id``.

  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



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

def delete_folder(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:delete, 'v2beta1/{+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.

Parameters:

  • name (String)

    The resource name of the Folder to retrieve. Must be of the form folders/folder_id``.

  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



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

def get_folder(name, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:get, 'v2beta1/{+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.

Parameters:

  • resource (String)

    REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.

  • get_iam_policy_request_object (Google::Apis::CloudresourcemanagerV2beta1::GetIamPolicyRequest) (defaults to: nil)
  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



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

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, 'v2beta1/{+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

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

Parameters:

  • page_size (Fixnum)

    The maximum number of Folders to return in the response. This field is optional.

  • page_token (String)

    A pagination token returned from a previous call to ListFolders that indicates where this listing should continue from. This field is optional.

  • parent (String)

    The resource name of the Organization or Folder whose Folders are being listed. Must be of the form folders/folder_idor `organizations/`org_id. Access to this method is controlled by checking the resourcemanager.folders.list permission on the parent.

  • show_deleted (Boolean)

    Controls whether Folders in the [DELETE_REQUESTED` state should be returned.

  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



257
258
259
260
261
262
263
264
265
266
267
268
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 257

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, 'v2beta1/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.

Parameters:

  • name (String)

    The resource name of the Folder to move. Must be of the form folders/folder_id

  • move_folder_request_object (Google::Apis::CloudresourcemanagerV2beta1::MoveFolderRequest) (defaults to: nil)
  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



307
308
309
310
311
312
313
314
315
316
317
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 307

def move_folder(name, move_folder_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2beta1/{+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.

Parameters:

  • name (String)

    Output only. The resource name of the Folder. Its format is folders/folder_id``, for example: "folders/1234".

  • folder_object (Google::Apis::CloudresourcemanagerV2beta1::Folder) (defaults to: nil)
  • update_mask (String)

    Fields to be updated. Only the display_name can be updated.

  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



356
357
358
359
360
361
362
363
364
365
366
367
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 356

def patch_folder(name, folder_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:patch, 'v2beta1/{+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.

Parameters:

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



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

def search_folders(search_folders_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2beta1/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.

Parameters:

  • resource (String)

    REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.

  • set_iam_policy_request_object (Google::Apis::CloudresourcemanagerV2beta1::SetIamPolicyRequest) (defaults to: nil)
  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



429
430
431
432
433
434
435
436
437
438
439
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 429

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, 'v2beta1/{+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.

Parameters:

  • resource (String)

    REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.

  • test_iam_permissions_request_object (Google::Apis::CloudresourcemanagerV2beta1::TestIamPermissionsRequest) (defaults to: nil)
  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



466
467
468
469
470
471
472
473
474
475
476
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 466

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, 'v2beta1/{+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.

Parameters:

  • name (String)

    The resource name of the Folder to undelete. Must be of the form folders/folder_id``.

  • undelete_folder_request_object (Google::Apis::CloudresourcemanagerV2beta1::UndeleteFolderRequest) (defaults to: nil)
  • fields (String)

    Selector specifying which fields to include in a partial response.

  • quota_user (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.

  • options (Google::Apis::RequestOptions)

    Request-specific options

Yields:

  • (result, err)

    Result & error if block supplied

Yield Parameters:

Returns:

Raises:



507
508
509
510
511
512
513
514
515
516
517
# File 'generated/google/apis/cloudresourcemanager_v2beta1/service.rb', line 507

def undelete_folder(name, undelete_folder_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command =  make_simple_command(:post, 'v2beta1/{+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