class Google::Cloud::ResourceManager::Service
@private Represents the service to Resource
Manager
, as well as expose the API
calls.
Constants
Attributes
credentials[RW]
mocked_service[RW]
Public Class Methods
new(credentials, retries: nil, timeout: nil, host: nil, quota_project: nil)
click to toggle source
Creates a new Service
instance.
# File lib/google/cloud/resource_manager/service.rb, line 36 def initialize credentials, retries: nil, timeout: nil, host: nil, quota_project: nil @credentials = credentials @service = API::CloudResourceManagerService.new @service.client_options.application_name = \ "gcloud-ruby" @service.client_options.application_version = \ Google::Cloud::ResourceManager::VERSION @service.client_options.open_timeout_sec = timeout @service.client_options.read_timeout_sec = timeout @service.client_options.send_timeout_sec = timeout @service.request_options.retries = retries || 3 @service.request_options.header ||= {} @service.request_options.header["x-goog-api-client"] = \ "gl-ruby/#{RUBY_VERSION} " \ "gccl/#{Google::Cloud::ResourceManager::VERSION}" @service.request_options.quota_project = quota_project if quota_project @service.authorization = @credentials.client @service.root_url = host if host end
Public Instance Methods
create_project(project_id, name, labels, parent)
click to toggle source
Returns API::Project
# File lib/google/cloud/resource_manager/service.rb, line 79 def create_project project_id, name, labels, parent parent = parent.to_gapi unless parent.nil? project_attrs = { project_id: project_id, name: name, labels: labels, parent: parent }.delete_if { |_, v| v.nil? } execute { service.create_project API::Project.new(**project_attrs) } end
delete_project(project_id)
click to toggle source
# File lib/google/cloud/resource_manager/service.rb, line 96 def delete_project project_id execute { service.delete_project project_id } end
get_policy(project_id)
click to toggle source
Returns API::Policy
# File lib/google/cloud/resource_manager/service.rb, line 106 def get_policy project_id execute { service.get_project_iam_policy project_id } end
get_project(project_id)
click to toggle source
Returns API::Project
# File lib/google/cloud/resource_manager/service.rb, line 73 def get_project project_id execute { service.get_project project_id } end
inspect()
click to toggle source
# File lib/google/cloud/resource_manager/service.rb, line 128 def inspect self.class.to_s end
list_project(filter: nil, token: nil, max: nil)
click to toggle source
Returns API::ListProjectsResponse
# File lib/google/cloud/resource_manager/service.rb, line 64 def list_project filter: nil, token: nil, max: nil execute do service.list_projects page_token: token, page_size: max, filter: filter end end
service()
click to toggle source
# File lib/google/cloud/resource_manager/service.rb, line 56 def service return mocked_service if mocked_service @service end
set_policy(project_id, new_policy)
click to toggle source
Returns API::Policy
# File lib/google/cloud/resource_manager/service.rb, line 112 def set_policy project_id, new_policy req = API::SetIamPolicyRequest.new policy: new_policy execute do service.set_project_iam_policy project_id, req end end
test_permissions(project_id, permissions)
click to toggle source
Returns API::TestIamPermissionsResponse
# File lib/google/cloud/resource_manager/service.rb, line 121 def test_permissions project_id, permissions req = API::TestIamPermissionsRequest.new permissions: permissions execute do service.test_project_iam_permissions project_id, req end end
undelete_project(project_id)
click to toggle source
# File lib/google/cloud/resource_manager/service.rb, line 100 def undelete_project project_id execute { service.undelete_project project_id } end
update_project(project_gapi)
click to toggle source
Updated the project, given a API::Project. Returns API::Project
# File lib/google/cloud/resource_manager/service.rb, line 90 def update_project project_gapi execute do service.update_project project_gapi.project_id, project_gapi end end
Protected Instance Methods
execute() { || ... }
click to toggle source
# File lib/google/cloud/resource_manager/service.rb, line 134 def execute yield rescue Google::Apis::Error => e raise Google::Cloud::Error.from_error(e) end