diff options
-rw-r--r-- | lib/google_api/cloud_platform/client.rb | 19 | ||||
-rw-r--r-- | spec/lib/google_api/cloud_platform/client_spec.rb | 24 |
2 files changed, 43 insertions, 0 deletions
diff --git a/lib/google_api/cloud_platform/client.rb b/lib/google_api/cloud_platform/client.rb index f30dd995695..f7a00974efc 100644 --- a/lib/google_api/cloud_platform/client.rb +++ b/lib/google_api/cloud_platform/client.rb @@ -1,3 +1,4 @@ +require 'google/apis/compute_v1' require 'google/apis/container_v1' require 'google/apis/cloudbilling_v1' require 'google/apis/cloudresourcemanager_v1' @@ -58,6 +59,24 @@ module GoogleApi service.get_project_billing_info("projects/#{project_id}", options: user_agent_header) end + def projects_zones_list(project_id) + service = Google::Apis::ComputeV1::ComputeService.new + service.authorization = access_token + + service.fetch_all do |token| + service.list_zones(project_id, page_token: token, options: user_agent_header) + end + end + + def projects_zones_machine_types_list(project_id, zone) + service = Google::Apis::ComputeV1::ComputeService.new + service.authorization = access_token + + service.fetch_all do |token| + service.list_machine_types(project_id, zone, page_token: token, options: user_agent_header) + end + end + def projects_zones_clusters_get(project_id, zone, cluster_id) service = Google::Apis::ContainerV1::ContainerService.new service.authorization = access_token diff --git a/spec/lib/google_api/cloud_platform/client_spec.rb b/spec/lib/google_api/cloud_platform/client_spec.rb index db9d9158b29..040cbda9468 100644 --- a/spec/lib/google_api/cloud_platform/client_spec.rb +++ b/spec/lib/google_api/cloud_platform/client_spec.rb @@ -74,6 +74,30 @@ describe GoogleApi::CloudPlatform::Client do it { is_expected.to eq(billing_info) } end + describe '#projects_zones_list' do + subject { client.projects_zones_list('project') } + let(:zones) { double } + + before do + allow_any_instance_of(Google::Apis::ComputeV1::ComputeService) + .to receive(:fetch_all).and_return(zones) + end + + it { is_expected.to eq(zones) } + end + + describe '#projects_zones_machine_types_list' do + subject { client.projects_zones_machine_types_list('project', 'zone') } + let(:machine_types) { double } + + before do + allow_any_instance_of(Google::Apis::ComputeV1::ComputeService) + .to receive(:fetch_all).and_return(machine_types) + end + + it { is_expected.to eq(machine_types) } + end + describe '#projects_zones_clusters_get' do subject { client.projects_zones_clusters_get(spy, spy, spy) } let(:gke_cluster) { double } |