Class: Gcloud::ResourceManager::Service
- Inherits:
-
Object
- Object
- Gcloud::ResourceManager::Service
- Defined in:
- lib/gcloud/resource_manager/service.rb
Overview
Represents the service to Resource Manager, as well as expose the API calls.
Constant Summary collapse
- API =
Alias to the Google Client API module
Google::Apis::CloudresourcemanagerV1
Instance Attribute Summary collapse
-
#credentials ⇒ Object
Returns the value of attribute credentials.
-
#mocked_service ⇒ Object
Returns the value of attribute mocked_service.
Instance Method Summary collapse
-
#create_project(project_id, name, labels) ⇒ Object
Returns API::Project.
- #delete_project(project_id) ⇒ Object
-
#get_policy(project_id) ⇒ Object
Returns API::Policy.
-
#get_project(project_id) ⇒ Object
Returns API::Project.
-
#initialize(credentials, retries: nil, timeout: nil) ⇒ Service
constructor
Creates a new Service instance.
- #inspect ⇒ Object
-
#list_project(filter: nil, token: nil, max: nil) ⇒ Object
Returns API::ListProjectsResponse.
- #service ⇒ Object
-
#set_policy(project_id, new_policy) ⇒ Object
Returns API::Policy.
-
#test_permissions(project_id, permissions) ⇒ Object
Returns API::TestIamPermissionsResponse.
- #undelete_project(project_id) ⇒ Object
-
#update_project(project_gapi) ⇒ Object
Updated the project, given a API::Project.
Constructor Details
#initialize(credentials, retries: nil, timeout: nil) ⇒ Service
Creates a new Service instance.
35 36 37 38 39 40 41 42 43 |
# File 'lib/gcloud/resource_manager/service.rb', line 35 def initialize credentials, retries: nil, timeout: nil @credentials = credentials @service = API::CloudResourceManagerService.new @service..application_name = "gcloud-ruby" @service..application_version = Gcloud::VERSION @service..retries = retries || 3 @service..timeout_sec = timeout if timeout @service. = @credentials.client end |
Instance Attribute Details
#credentials ⇒ Object
Returns the value of attribute credentials.
31 32 33 |
# File 'lib/gcloud/resource_manager/service.rb', line 31 def credentials @credentials end |
#mocked_service ⇒ Object
Returns the value of attribute mocked_service.
49 50 51 |
# File 'lib/gcloud/resource_manager/service.rb', line 49 def mocked_service @mocked_service end |
Instance Method Details
#create_project(project_id, name, labels) ⇒ Object
Returns API::Project
67 68 69 70 71 72 73 |
# File 'lib/gcloud/resource_manager/service.rb', line 67 def create_project project_id, name, labels project_attrs = { projectId: project_id, name: name, labels: labels }.delete_if { |_, v| v.nil? } service.create_project API::Project.new(project_attrs) rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#delete_project(project_id) ⇒ Object
84 85 86 87 88 |
# File 'lib/gcloud/resource_manager/service.rb', line 84 def delete_project project_id service.delete_project project_id rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#get_policy(project_id) ⇒ Object
Returns API::Policy
98 99 100 101 102 |
# File 'lib/gcloud/resource_manager/service.rb', line 98 def get_policy project_id service.get_project_iam_policy "projects/#{project_id}" rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#get_project(project_id) ⇒ Object
Returns API::Project
59 60 61 62 63 |
# File 'lib/gcloud/resource_manager/service.rb', line 59 def get_project project_id service.get_project project_id rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#inspect ⇒ Object
122 123 124 |
# File 'lib/gcloud/resource_manager/service.rb', line 122 def inspect "#{self.class}" end |
#list_project(filter: nil, token: nil, max: nil) ⇒ Object
Returns API::ListProjectsResponse
53 54 55 |
# File 'lib/gcloud/resource_manager/service.rb', line 53 def list_project filter: nil, token: nil, max: nil service.list_projects page_token: token, page_size: max, filter: filter end |
#service ⇒ Object
45 46 47 48 |
# File 'lib/gcloud/resource_manager/service.rb', line 45 def service return mocked_service if mocked_service @service end |
#set_policy(project_id, new_policy) ⇒ Object
Returns API::Policy
106 107 108 109 110 111 |
# File 'lib/gcloud/resource_manager/service.rb', line 106 def set_policy project_id, new_policy req = API::SetIamPolicyRequest.new policy: new_policy service.set_project_iam_policy "projects/#{project_id}", req rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#test_permissions(project_id, permissions) ⇒ Object
Returns API::TestIamPermissionsResponse
115 116 117 118 119 120 |
# File 'lib/gcloud/resource_manager/service.rb', line 115 def project_id, req = API::TestIamPermissionsRequest.new permissions: service. "projects/#{project_id}", req rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#undelete_project(project_id) ⇒ Object
90 91 92 93 94 |
# File 'lib/gcloud/resource_manager/service.rb', line 90 def undelete_project project_id service.undelete_project project_id rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |
#update_project(project_gapi) ⇒ Object
Updated the project, given a API::Project. Returns API::Project
78 79 80 81 82 |
# File 'lib/gcloud/resource_manager/service.rb', line 78 def update_project project_gapi service.update_project project_gapi.project_id, project_gapi rescue Google::Apis::Error => e raise Gcloud::Error.from_error(e) end |