Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/google_api/cloud_platform/client.rb')
-rw-r--r--lib/google_api/cloud_platform/client.rb34
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)