Module: Nucleus::Adapters::V1::CloudControl::Vars

Included in:
Nucleus::Adapters::V1::CloudControl
Defined in:
lib/nucleus/adapters/v1/cloud_control/vars.rb

Overview

cloud control, CRUD operations for the application’s environment variable object, which is referred to as config addon on the platform.

Instance Method Summary collapse

Instance Method Details

#create_env_var(application_id, env_var) ⇒ Object



25
26
27
28
29
30
# File 'lib/nucleus/adapters/v1/cloud_control/vars.rb', line 25

def create_env_var(application_id, env_var)
  cc_vars = cc_vars(application_id)
  fail Errors::SemanticAdapterRequestError,
       "Env. var key '#{env_var[:key]}' already taken" if env_var?(application_id, env_var[:key], cc_vars)
  set_var(application_id, env_var[:key], env_var[:value])
end

#delete_env_var(application_id, env_var_key) ⇒ Object



41
42
43
44
45
46
# File 'lib/nucleus/adapters/v1/cloud_control/vars.rb', line 41

def delete_env_var(application_id, env_var_key)
  cc_vars = cc_vars(application_id)
  fail Errors::AdapterResourceNotFoundError,
       "Env. var key '#{env_var_key}' does not exist" unless env_var?(application_id, env_var_key, cc_vars)
  set_var(application_id, env_var_key, nil)
end

#env_var(application_id, env_var_key) ⇒ Object

See Also:



17
18
19
20
21
22
# File 'lib/nucleus/adapters/v1/cloud_control/vars.rb', line 17

def env_var(application_id, env_var_key)
  cc_vars = cc_vars(application_id)
  fail Errors::AdapterResourceNotFoundError,
       "Env. var key '#{env_var_key}' does not exist" unless env_var?(application_id, env_var_key, cc_vars)
  { id: env_var_key, key: env_var_key, value: cc_vars[env_var_key.to_sym] }
end

#env_vars(application_id) ⇒ Object

See Also:



9
10
11
12
13
14
# File 'lib/nucleus/adapters/v1/cloud_control/vars.rb', line 9

def env_vars(application_id)
  cc_vars = cc_vars(application_id)
  cc_vars.collect do |key, value|
    { id: key, key: key, value: value }
  end
end

#update_env_var(application_id, env_var_key, env_var) ⇒ Object



33
34
35
36
37
38
# File 'lib/nucleus/adapters/v1/cloud_control/vars.rb', line 33

def update_env_var(application_id, env_var_key, env_var)
  cc_vars = cc_vars(application_id)
  fail Errors::AdapterResourceNotFoundError,
       "Env. var key '#{env_var_key}' does not exist" unless env_var?(application_id, env_var_key, cc_vars)
  set_var(application_id, env_var_key, env_var[:value])
end