Class: StatsCloud::ClusterClient
- Inherits:
-
Object
- Object
- StatsCloud::ClusterClient
- Includes:
- LoggerHelper
- Defined in:
- lib/statscloud/cluster_client.rb
Overview
statscloud.io cluster-api service client.
Instance Method Summary collapse
-
#deploy_cluster(token, app, configuration) ⇒ Object
Schedules cluster to be (re)deployed.
-
#get_cluster(token, app) ⇒ Object
Schedules cluster instance to be retrieved.
-
#initialize(env, host = "https://cluster-api-v1.statscloud.statscloud.io") ⇒ ClusterClient
constructor
Constructs cluster-api service client instance.
-
#register_statscloud_connection(token, app, tags) ⇒ Object
Register statscloud client connection.
-
#undeploy_cluster(token, app) ⇒ Object
Schedules cluster to be undeployed.
Methods included from LoggerHelper
#log_error, #log_info, #logger
Constructor Details
#initialize(env, host = "https://cluster-api-v1.statscloud.statscloud.io") ⇒ ClusterClient
Constructs cluster-api service client instance.
21 22 23 24 |
# File 'lib/statscloud/cluster_client.rb', line 21 def initialize(env, host = "https://cluster-api-v1.statscloud.statscloud.io") @environment = env @host = host end |
Instance Method Details
#deploy_cluster(token, app, configuration) ⇒ Object
Schedules cluster to be (re)deployed.
50 51 52 53 54 55 |
# File 'lib/statscloud/cluster_client.rb', line 50 def deploy_cluster(token, app, configuration) url = "#{host}/users/current/clusters/#{app}/#{environment}" body = body_hash_parameters(configuration) response = http_client.put(url, body.to_json, headers(token)) get_parsed_response(response) end |
#get_cluster(token, app) ⇒ Object
Schedules cluster instance to be retrieved.
34 35 36 37 38 |
# File 'lib/statscloud/cluster_client.rb', line 34 def get_cluster(token, app) url = "#{host}/users/current/clusters/#{app}/#{environment}" response = http_client.get(url, headers(token)) get_parsed_response(response) end |
#register_statscloud_connection(token, app, tags) ⇒ Object
Register statscloud client connection.
77 78 79 80 81 82 |
# File 'lib/statscloud/cluster_client.rb', line 77 def register_statscloud_connection(token, app, ) url = "#{host}/users/current/clusters/#{app}/#{environment}/register-statscloud-connection" body = { tags: }.to_json response = http_client.post(url, body, headers(token)) get_parsed_response(response) end |
#undeploy_cluster(token, app) ⇒ Object
Schedules cluster to be undeployed.
64 65 66 67 68 |
# File 'lib/statscloud/cluster_client.rb', line 64 def undeploy_cluster(token, app) url = "#{host}/users/current/clusters/#{app}/#{environment}/undeploy" response = http_client.post(url, nil, headers(token)) get_parsed_response(response) end |