diff options
Diffstat (limited to 'lib/google_api/cloud_platform/client.rb')
-rw-r--r-- | lib/google_api/cloud_platform/client.rb | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/lib/google_api/cloud_platform/client.rb b/lib/google_api/cloud_platform/client.rb index c46ca2783bf..39cf994ca3f 100644 --- a/lib/google_api/cloud_platform/client.rb +++ b/lib/google_api/cloud_platform/client.rb @@ -101,7 +101,7 @@ module GoogleApi result.append(project) end - result + result.sort_by(&:project_id) end def create_service_account(gcp_project_id, display_name, description) @@ -148,16 +148,36 @@ module GoogleApi enable_service(gcp_project_id, 'cloudbuild.googleapis.com') end + def enable_cloud_sql_admin(gcp_project_id) + enable_service(gcp_project_id, 'sqladmin.googleapis.com') + end + + def enable_compute(gcp_project_id) + enable_service(gcp_project_id, 'compute.googleapis.com') + end + + def enable_service_networking(gcp_project_id) + enable_service(gcp_project_id, 'servicenetworking.googleapis.com') + end + def revoke_authorizations uri = URI(REVOKE_URL) Gitlab::HTTP.post(uri, body: { 'token' => access_token }) end + def list_cloudsql_databases(gcp_project_id, instance_name) + sql_admin_service.list_databases(gcp_project_id, instance_name, options: user_agent_header) + end + def create_cloudsql_database(gcp_project_id, instance_name, database_name) database = Google::Apis::SqladminV1beta4::Database.new(name: database_name) sql_admin_service.insert_database(gcp_project_id, instance_name, database) end + def list_cloudsql_users(gcp_project_id, instance_name) + sql_admin_service.list_users(gcp_project_id, instance_name, options: user_agent_header) + end + def create_cloudsql_user(gcp_project_id, instance_name, username, password) user = Google::Apis::SqladminV1beta4::User.new user.name = username @@ -169,6 +189,18 @@ module GoogleApi sql_admin_service.get_instance(gcp_project_id, instance_name) end + def create_cloudsql_instance(gcp_project_id, instance_name, root_password, database_version, region, tier) + database_instance = Google::Apis::SqladminV1beta4::DatabaseInstance.new( + name: instance_name, + root_password: root_password, + database_version: database_version, + region: region, + settings: Google::Apis::SqladminV1beta4::Settings.new(tier: tier) + ) + + sql_admin_service.insert_instance(gcp_project_id, database_instance) + end + private def enable_service(gcp_project_id, service_name) |