Module: Ropenstack::Orchestration::Version1

Defined in:
lib/ropenstack/orchestration/v1.rb

Overview

  • Name: OrchestrationVersion1

  • Description: Implementation of the Orchestration V1.0 API Client in Ruby

  • Author: Sam ‘Tehsmash’ Betts, John Davidge

  • Date: 30/06/2014

Instance Method Summary collapse

Instance Method Details

#build_infoObject



118
119
120
# File 'lib/ropenstack/orchestration/v1.rb', line 118

def build_info
  get_request(address("/build_info"), @token)
end

#create_software_configObject

TODO



127
128
# File 'lib/ropenstack/orchestration/v1.rb', line 127

def create_software_config
end

#create_software_deploymentObject

TODO



147
148
# File 'lib/ropenstack/orchestration/v1.rb', line 147

def create_software_deployment
end

#delete_software_config(id) ⇒ Object



130
131
132
# File 'lib/ropenstack/orchestration/v1.rb', line 130

def delete_software_config(id)
  delete_request(address("/software_configs/" + id), @token)
end

#delete_software_deployment(id) ⇒ Object



154
155
156
# File 'lib/ropenstack/orchestration/v1.rb', line 154

def delete_software_deployment(id)
  delete_request(address("/software_deployments/" + id), @token)
end

#events(stack, id = nil, resource = nil, event = nil) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
# File 'lib/ropenstack/orchestration/v1.rb', line 92

def events(stack, id = nil, resource = nil, event = nil)
  if id.nil?
    get_request(address("/stacks/"+stack+"/events"), @token)
  elsif resource.nil?
    get_request(address("/stacks/"+stack+"/"+id+"/events"), @token)
  elsif event.nil?
    get_request(address("/stacks/"+stack+"/"+id+"/resources/"+resource+"/events"), @token)
  else
    get_request(address("/stacks/"+stack+"/"+id+"/resources/"+resource+"/events/"+event), @token)
  end 
end

#resource_type_template(name) ⇒ Object



88
89
90
# File 'lib/ropenstack/orchestration/v1.rb', line 88

def resource_type_template(name)
  get_request(address("/resource_types/"+name+"/template"), @token)
end

#resource_types(name = nil) ⇒ Object



80
81
82
83
84
85
86
# File 'lib/ropenstack/orchestration/v1.rb', line 80

def resource_types(name = nil)
  if name.nil?
    get_request(address("/resource_types"), @token)
  else
    get_request(address("/resource_types/"+name), @token)
  end
end

#resources(stack, id = nil, name = nil, meta = false) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/ropenstack/orchestration/v1.rb', line 66

def resources(stack, id = nil, name = nil, meta = false)
  if id.nil?
    get_request(address("/stacks/"+stack+"/resources"), @token)
  elsif name.nil?
    get_request(address("/stacks/"+stack+"/"+id+"/resources"), @token)
  else
    if meta 
      get_request(address("/stacks/"+stack+"/"+id+"/resources/"+name+"/metadata"), @token)
    else
      get_request(address("/stacks/"+stack+"/"+id+"/resources/"+name), @token)
    end
  end 
end

#server_software_deployment(server) ⇒ Object



142
143
144
# File 'lib/ropenstack/orchestration/v1.rb', line 142

def server_software_deployment(server)
  get_request(address("/software_deployments/metadata/"+server), @token)
end

#software_configs(id) ⇒ Object



122
123
124
# File 'lib/ropenstack/orchestration/v1.rb', line 122

def software_configs(id)
  get_request(address("/software_configs/" + id), @token)
end

#software_deployments(id = nil) ⇒ Object



134
135
136
137
138
139
140
# File 'lib/ropenstack/orchestration/v1.rb', line 134

def software_deployments(id = nil)
  if id.nil?
    get_request(address("/software_deployments"), @token)
  else
    get_request(address("/software_deployments/" + id), @token)
  end
end

#stack_action(name, id, action) ⇒ Object



55
56
57
58
59
60
61
62
63
64
# File 'lib/ropenstack/orchestration/v1.rb', line 55

def stack_action(name, id, action)
  case action
  when "SUSPEND"
    post_request(address("/stack/"+name+"/"+id+"/action"), {:suspend => nil}, @token)
  when "RESUME"
    post_request(address("/stack/"+name+"/"+id+"/action"), {:resume => nil}, @token)
  else
    raise Ropenstack::RopenstackError, "Invalid Action Passed"
  end
end

#stack_adandon(name, id, preview) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/ropenstack/orchestration/v1.rb', line 47

def stack_adandon(name, id, preview)
  if preview
    get_request(address("/stack/" + name + "/"+ id + "/abandon"), @token)
  else
    delete_request(address("/stack/" + name + "/"+ id + "/abandon"), @token)
  end
end

#stack_create(name, template, isURL, environmment, files, parameters, timeout, disable, adoptData, preview) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ropenstack/orchestration/v1.rb', line 19

def stack_create(name, template, isURL, environmment, files, parameters, timeout, disable, adoptData, preview)
  data = { 
    :stack_name => name,
    :environment => environment, 
    :timeout_mins => timeout, 
    :files => files,
    :parameters => parameters,
    :disable => disable
  }
  if isURL
    data[:template_url] = template
  else
    data[:template] = template
  end
  unless adoptData.nil? 
    data[:adopt_stack_data] = adoptData
  end
  post_request(address("/stacks"), data, @token)
end

#stack_delete(name, id) ⇒ Object



43
44
45
# File 'lib/ropenstack/orchestration/v1.rb', line 43

def stack_delete(name, id)
  delete_request(address("/stack/"+name+"/"+id), @token)
end

#stack_template(name, id) ⇒ Object



104
105
106
# File 'lib/ropenstack/orchestration/v1.rb', line 104

def stack_template(name, id)
  get_request(address("/stacks/" + name + "/" + id), @token)
end

#stack_update(name, id) ⇒ Object



39
40
41
# File 'lib/ropenstack/orchestration/v1.rb', line 39

def stack_update(name, id)
  put_request(address("/stack/"+name+"/"+id+"/action"), {:resume => nil}, @token)
end

#stacks(name, id) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/ropenstack/orchestration/v1.rb', line 9

def stacks(name, id)
  if name.nil?
    get_request(address("/stacks"), @token)
  elsif id.nil?
    get_request(address("/stacks/"+name), @token)
  else
    get_request(address("/stacks/"+name+"/"+id), @token)
  end
end

#update_software_deployment(id) ⇒ Object

TODO



151
152
# File 'lib/ropenstack/orchestration/v1.rb', line 151

def update_software_deployment(id)
end

#validate_template(template, isURL) ⇒ Object



108
109
110
111
112
113
114
115
116
# File 'lib/ropenstack/orchestration/v1.rb', line 108

def validate_template(template, isURL)
  data = {}
  if isURL
    data[:template_url] = template
  else
    data[:template] = template
  end
  post_request(address("/validate"), data, @token)
end

#versionObject



158
159
160
# File 'lib/ropenstack/orchestration/v1.rb', line 158

def version
  "V1"
end