stacker_bee 2.1.1.pre324 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +5 -13
  2. data/.rspec +0 -1
  3. data/.travis.yml +1 -0
  4. data/Gemfile +1 -8
  5. data/README.md +8 -43
  6. data/bin/stacker_bee +3 -4
  7. data/config.default.yml +1 -1
  8. data/lib/stacker_bee/client.rb +2 -8
  9. data/lib/stacker_bee/configuration.rb +2 -22
  10. data/lib/stacker_bee/middleware/adapter.rb +2 -18
  11. data/lib/stacker_bee/middleware/cloud_stack_api.rb +2 -1
  12. data/lib/stacker_bee/middleware/console_access.rb +2 -1
  13. data/lib/stacker_bee/rash.rb +2 -25
  14. data/lib/stacker_bee/request_error.rb +1 -1
  15. data/spec/cassettes/A_request_sent_to_CloudStack_for_console_access/returns_html_for_console_access.yml +1 -1
  16. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/.yml +5 -5
  17. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_nil_request_parameter/properly_executes_the_request.yml +6 -6
  18. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_a_map/can_create_an_object.yml +60 -30
  19. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_an_Array/.yml +9 -9
  20. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_parameter_with_and_empty_string/properly_executes_the_request.yml +6 -6
  21. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/a_request_that_triggers_an_error/properly_signs_the_request.yml +3 -3
  22. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/.yml +37 -0
  23. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/containing_an_error/should_log_response_as_error.yml +37 -0
  24. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first/.yml +33 -0
  25. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/.yml +6 -6
  26. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_account_type_/.yml +6 -6
  27. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/first_item/_accounttype_/.yml +6 -6
  28. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_doesn_t_match_the_content_type/uses_the_middleware.yml +4 -4
  29. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/middleware/a_middleware_that_matches_the_content_type/uses_the_middleware.yml +4 -4
  30. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_log_request.yml +33 -0
  31. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/should_not_log_response_as_error.yml +33 -0
  32. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/space_character_in_a_request_parameter/properly_signs_the_request.yml +4 -4
  33. data/spec/integration/configure_middleware_spec.rb +2 -0
  34. data/spec/integration/console_spec.rb +5 -4
  35. data/spec/integration/request_spec.rb +10 -26
  36. data/spec/spec_helper.rb +7 -0
  37. data/spec/units/stacker_bee/api_spec.rb +2 -0
  38. data/spec/units/stacker_bee/client_spec.rb +1 -0
  39. data/spec/units/stacker_bee/configuration_spec.rb +2 -30
  40. data/spec/units/stacker_bee/connection_spec.rb +2 -0
  41. data/spec/units/stacker_bee/middleware/adapter_spec.rb +3 -9
  42. data/spec/units/stacker_bee/middleware/base_spec.rb +2 -0
  43. data/spec/units/stacker_bee/middleware/cloud_stack_api_spec.rb +15 -6
  44. data/spec/units/stacker_bee/middleware/console_access_spec.rb +5 -6
  45. data/spec/units/stacker_bee/middleware/dictionary_flattener_spec.rb +2 -0
  46. data/spec/units/stacker_bee/middleware/endpoint_normalizer_spec.rb +2 -0
  47. data/spec/units/stacker_bee/middleware/error_message_spec.rb +2 -0
  48. data/spec/units/stacker_bee/middleware/format_keys_spec.rb +2 -0
  49. data/spec/units/stacker_bee/middleware/format_values_spec.rb +2 -0
  50. data/spec/units/stacker_bee/middleware/http_status_spec.rb +2 -0
  51. data/spec/units/stacker_bee/middleware/log_response_spec.rb +1 -0
  52. data/spec/units/stacker_bee/middleware/raise_on_http_errors_spec.rb +2 -0
  53. data/spec/units/stacker_bee/middleware/remove_empty_strings_spec.rb +2 -0
  54. data/spec/units/stacker_bee/middleware/remove_nils_spec.rb +2 -0
  55. data/spec/units/stacker_bee/rash_spec.rb +4 -18
  56. data/spec/units/stacker_bee/request_error_spec.rb +2 -0
  57. data/spec/units/stacker_bee/utilities_spec.rb +2 -0
  58. data/spec/units/stacker_bee_spec.rb +2 -0
  59. data/stacker_bee.gemspec +5 -4
  60. metadata +41 -18
  61. data/spec/cassettes/A_response_to_a_request_sent_to_the_CloudStack_API/with_a_nonexistant_path/raises_a_client_error.yml +0 -47
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- Njk5OTk4ZGQ2Nzc4ODljOWYyMDc0OTgzZDFhZTNhNmI3MDkxNzRlNA==
5
- data.tar.gz: !binary |-
6
- Y2U1ZjVhYWNlN2M0N2QzN2YwZjc3NjZhYTIxOTMyYzM1YTc2ODY0ZA==
2
+ SHA1:
3
+ metadata.gz: 422b00e43af4e6e36a7193f788c3e2632054b1dd
4
+ data.tar.gz: 87e7ee5e1079f8d6092be8d787a3f9734f4a3c42
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MGM4NzZiOGU2ZTZjODJiZDFiOGZlN2MzN2RhZTZhNmIzNzJjY2RiNTY5ODg3
10
- YTg5MDMxM2JjNjRmZWY4OThkNjZkZTg0ZGQ2OWFmZGFjZGQxMTcyNTIzNmRk
11
- MjE1MDg2NTQ2MDc3ODU3YWVmMjI2MzE0YjliZjBkMjI2OWQwNTc=
12
- data.tar.gz: !binary |-
13
- ODhkNGRlMTBiODliZTZkYTA1ZjkyYTVhMjgzNzYyMTBhOGVlZTkzNDI4Mzll
14
- NzBkNTU0ZGM2MTAzODg5MGZkZGIwZjJiYWE1OGZlMmRiMjYwYzVhZDEwZDUx
15
- ZDFiYjA3YThiODY3N2RlOTQyYmEwZGVmZTQ2YWU5MTIxMWMzYzc=
6
+ metadata.gz: 5d00bc2fedb16a0035d25930fd69233fb7e08313884f3ea09e762e5047097da65b59dcec08a1312fd3e78c4ebc92927459f73d0ba9d9e924ed568c0e58327831
7
+ data.tar.gz: e89b31a178ed48bba9ddc67ad8ff266dd9645f6a64b8e060e9910072714dba37b632131fb4f5dd10fd5ddb9fe546b49eeb066edfbdab6cfcd8e35ede2129692e
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
1
  --color
2
2
  --format progress
3
- --require spec_helper
@@ -3,6 +3,7 @@ rvm:
3
3
  - 2.1
4
4
  - 2.0.0
5
5
  - 1.9.3
6
+ - 1.9.2
6
7
  - jruby-19mode
7
8
  - ruby-head
8
9
  - jruby-head
data/Gemfile CHANGED
@@ -1,11 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ # Specify your gem's dependencies in stacker_bee.gemspec
3
4
  gemspec
4
-
5
- # webmock 1.19.0 breaks VCR cassettes using multiple brackets
6
- # Could be related to https://github.com/bblimke/webmock/issues/365
7
- gem 'webmock', '1.18.0'
8
-
9
- group :development do
10
- gem 'pry'
11
- end
data/README.md CHANGED
@@ -29,7 +29,7 @@ And execute:
29
29
 
30
30
  ```ruby
31
31
  cloud_stack = StackerBee::Client.new(
32
- url: 'http://localhost:8080',
32
+ url: 'http://localhost:8080/client/api',
33
33
  api_key: 'MY_API_KEY',
34
34
  secret_key: 'MY_SECRET_KEY'
35
35
  )
@@ -85,7 +85,7 @@ Usage:
85
85
 
86
86
  Example:
87
87
 
88
- $ stacker_bee -u http://localhost:8080 -a MY_API_KEY -s MY_SECRET_KEY
88
+ $ stacker_bee -u http://localhost:8080/client/api -a MY_API_KEY -s MY_SECRET_KEY
89
89
  StackerBee CloudStack REPL
90
90
  >> list_virtual_machines state: 'Running'
91
91
  => [{"id"=>"48b91ab4-dc23-4e24-bc6f-695d58c91087",
@@ -100,7 +100,7 @@ Configuring a client:
100
100
 
101
101
  ```ruby
102
102
  cloud_stack = StackerBee::Client.new(
103
- url: 'http://localhost:8080',
103
+ url: 'http://localhost:8080/client/api',
104
104
  api_key: 'API_KEY',
105
105
  secret_key: 'SECRET_KEY'
106
106
  )
@@ -109,7 +109,7 @@ cloud_stack = StackerBee::Client.new(
109
109
  All configuration parameters set on the `StackerBee::Client` class are used as defaults for `StackerBee::Client` instances.
110
110
 
111
111
  ```ruby
112
- StackerBee::Client.url = 'http://localhost:8080'
112
+ StackerBee::Client.url = 'http://localhost:8080/client/api'
113
113
 
114
114
  user_client = StackerBee::Client.new(
115
115
  api_key: 'USER_API_KEY',
@@ -127,52 +127,17 @@ root_client = StackerBee::Client.new(
127
127
  The URL of your CloudStack instance's URL.
128
128
 
129
129
  ```ruby
130
- StackerBee::Client.url = 'http://localhost:8080'
130
+ StackerBee::Client.url = 'http://localhost:8080/client/api'
131
131
  ```
132
132
 
133
133
  Or:
134
134
 
135
135
  ```ruby
136
136
  my_client = StackerBee::Client.new(
137
- url: 'http://localhost:8080'
137
+ url: 'http://localhost:8080/client/api'
138
138
  )
139
139
  ```
140
140
 
141
- ### API path
142
-
143
- The path of your CloudStack instance's API URL.
144
- Defaults to `'/client/api/'`.
145
-
146
- ```ruby
147
- StackerBee::Client.api_path = '/other-path/client/api'
148
- ```
149
-
150
- Or:
151
-
152
- ```ruby
153
- my_client = StackerBee::Client.new(
154
- api_path: '/other-path/client/api'
155
- )
156
- ```
157
-
158
- ### Console path
159
-
160
- The path of your CloudStack instance's URL for console access.
161
- Defaults to `'/client/console/'`.
162
-
163
- ```ruby
164
- StackerBee::Client.console_path = '/other-path/client/console'
165
- ```
166
-
167
- Or:
168
-
169
- ```ruby
170
- my_client = StackerBee::Client.new(
171
- console_path: '/other-path/client/console'
172
- )
173
- ```
174
-
175
-
176
141
  ### Keys
177
142
 
178
143
  Your CloudStack credentials, i.e. API key and secret key.
@@ -254,7 +219,7 @@ StackerBee supports using SSL. To do so, use an HTTPS URL. In some deployments,
254
219
 
255
220
  ```ruby
256
221
  StackerBee::Client.configuration = {
257
- url: 'https://my-cloudstack-server',
222
+ url: 'https://my-cloudstack-server/client/api',
258
223
  ssl_verify: false # ignore certificate validation errors
259
224
  }
260
225
  ```
@@ -265,7 +230,7 @@ The `StackerBee::Client` class can be configured with multiple options at once.
265
230
 
266
231
  ```ruby
267
232
  StackerBee::Client.configuration = {
268
- url: 'http://localhost:8080',
233
+ url: 'http://localhost:8080/client/api',
269
234
  api_key: 'API_KEY',
270
235
  secret_key: 'MY_SECRET_KEY'
271
236
  }
@@ -58,10 +58,9 @@ begin
58
58
  options.merge! Hash[YAML.load(hash).map { |k, v| [k.to_sym, v] }]
59
59
  end
60
60
  unless options.keys.include?(:config) ||
61
- ([:api_key, :secret_key, :url] - options.keys).empty?
62
- puts \
63
- 'Please specify a config file with --config, or all of the following: ' \
64
- '--api_key, --secret_key and --url'
61
+ ([:api_key, :secret_key, :url] - options.keys).empty?
62
+ puts 'Please specify a config file or all of the following: ' \
63
+ '--api_key, --secret_key and --url'
65
64
  exit
66
65
  end
67
66
  rescue OptionParser::InvalidOption, OptionParser::MissingArgument
@@ -1,3 +1,3 @@
1
- url: 'http://127.0.0.1:1234'
1
+ url: 'http://127.0.0.1:1234/client/api/'
2
2
  api_key: 'MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY-KEY-MY'
3
3
  secret_key: 'TOP-SECRET-TOP-SECRET-TOP-SECRET-TOP-SECRET-TOP-SECRET-TOP-SECRET-TOP-SECRET-TOP-SECRE'
@@ -31,17 +31,13 @@ module StackerBee
31
31
  )
32
32
 
33
33
  # rubocop:disable MethodLength
34
- # rubocop:disable Metrics/AbcSize
35
34
  def middlewares
36
35
  # request
37
- builder.use Middleware::ConsoleAccess,
38
- console_path: configuration.console_path
36
+ builder.use Middleware::ConsoleAccess
39
37
 
40
38
  builder.use Middleware::EndpointNormalizer, api: self.class.api
41
39
  builder.use Middleware::RemoveEmptyStrings
42
- builder.use Middleware::CloudStackAPI,
43
- api_path: configuration.api_path,
44
- api_key: configuration.api_key
40
+ builder.use Middleware::CloudStackAPI, api_key: configuration.api_key
45
41
 
46
42
  configuration.middlewares.call builder
47
43
 
@@ -64,8 +60,6 @@ module StackerBee
64
60
 
65
61
  builder.build
66
62
  end
67
- # rubocop:enable Metrics/AbcSize
68
- # rubocop:enable MethodLength
69
63
 
70
64
  def builder
71
65
  @builder ||= Builder.new
@@ -6,8 +6,6 @@ module StackerBee
6
6
  ATTRIBUTES = [
7
7
  :ssl_verify,
8
8
  :url,
9
- :api_path,
10
- :console_path,
11
9
  :secret_key,
12
10
  :api_key,
13
11
  :middlewares,
@@ -39,14 +37,6 @@ module StackerBee
39
37
  attribute :url
40
38
  end
41
39
 
42
- def api_path
43
- attribute :api_path, '/client/api'
44
- end
45
-
46
- def console_path
47
- attribute :console_path, '/client/console'
48
- end
49
-
50
40
  def secret_key
51
41
  attribute :secret_key
52
42
  end
@@ -77,18 +67,8 @@ module StackerBee
77
67
 
78
68
  private
79
69
 
80
- def attribute(key, default_value = nil)
81
- value = @attributes.fetch(key, default_value)
82
-
83
- if blank?(value)
84
- default_value
85
- else
86
- value
87
- end
88
- end
89
-
90
- def blank?(value)
91
- value.nil? || value == ''
70
+ def attribute(key, value = nil)
71
+ @attributes.fetch(key, value)
92
72
  end
93
73
  end
94
74
  end
@@ -2,29 +2,13 @@ module StackerBee
2
2
  module Middleware
3
3
  class Adapter < Base
4
4
  def call(env)
5
- perform_request env
6
- pluck_content_type env
7
- pluck_body env
8
- end
9
-
10
- def pluck_content_type(env)
5
+ params = env.request.params.to_a.sort
6
+ env.raw_response = connection.get(env.request.path, params)
11
7
  env.response.content_type =
12
8
  env.raw_response.env[:response_headers]['content-type']
13
- end
14
-
15
- def pluck_body(env)
16
9
  env.response.body = env.raw_response.body
17
10
  end
18
11
 
19
- def perform_request(env)
20
- params = env.request.params.to_a.sort
21
- env.raw_response = connection.get(path(env), params)
22
- end
23
-
24
- def path(env)
25
- env.request.path.to_s.gsub(/\/$/, '')
26
- end
27
-
28
12
  def endpoint_name_for(*)
29
13
  end
30
14
  end
@@ -2,6 +2,7 @@ module StackerBee
2
2
  module Middleware
3
3
  class CloudStackAPI < Base
4
4
  RESPONSE_TYPE = 'json'
5
+ DEFAULT_PATH = '/client/api/'
5
6
 
6
7
  def before(env)
7
8
  env.request.params.merge!(
@@ -9,7 +10,7 @@ module StackerBee
9
10
  command: env.request.endpoint_name,
10
11
  response: RESPONSE_TYPE
11
12
  )
12
- env.request.path ||= api_path
13
+ env.request.path ||= DEFAULT_PATH
13
14
  end
14
15
  end
15
16
  end
@@ -4,12 +4,13 @@ module StackerBee
4
4
  include Utilities
5
5
 
6
6
  ENDPOINT = 'consoleAccess'
7
+ PATH = '/client/console'
7
8
  PARAMS = { cmd: 'access' }
8
9
 
9
10
  def before(env)
10
11
  return unless matches_endpoint?(env.request.endpoint_name)
11
12
  super
12
- env.request.path = console_path
13
+ env.request.path = PATH
13
14
  env.request.endpoint_name = ENDPOINT
14
15
  end
15
16
 
@@ -12,11 +12,8 @@ module StackerBee
12
12
  :flatten, :invert, :keys, :key, :merge, :rassoc, :to_a, :to_h, :to_hash
13
13
  ]
14
14
 
15
- def initialize(hash = {}, preferred_keys = [])
15
+ def initialize(hash = {})
16
16
  @hash = {}
17
-
18
- save_preferred_keys preferred_keys
19
-
20
17
  hash.each_pair do |key, value|
21
18
  @hash[convert_key(key)] = convert_value(value)
22
19
  end
@@ -81,27 +78,7 @@ module StackerBee
81
78
  end
82
79
 
83
80
  def convert_key(key)
84
- if key.is_a?(Numeric)
85
- key
86
- elsif preferred_key_format?(key)
87
- preferred_key_format(key)
88
- else
89
- uncase(key)
90
- end
91
- end
92
-
93
- def save_preferred_keys(keys)
94
- @preferred_keys = keys.each_with_object({}) do |key, mapping|
95
- mapping[uncase(key)] = key
96
- end
97
- end
98
-
99
- def preferred_key_format?(key)
100
- @preferred_keys.key?(uncase(key))
101
- end
102
-
103
- def preferred_key_format(key)
104
- @preferred_keys[uncase(key)]
81
+ key.is_a?(Numeric) ? key : uncase(key)
105
82
  end
106
83
 
107
84
  def convert_value(value)
@@ -5,7 +5,7 @@ module StackerBee
5
5
  def initialize(env)
6
6
  self.env = env
7
7
  self.status = env.response.status
8
- super env.response.error || env.request.path
8
+ super env.response.error
9
9
  end
10
10
 
11
11
  def self.for(env)
@@ -2,7 +2,7 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: <CLOUD_STACK_HOST>/client/console?apiKey=<CLOUD_STACK_API_KEY>&cmd=access&command=consoleAccess&response=json&signature=0xjsh2gd3qbGVi9egkb6VHocx%2BI=&vm=36f9c08b-f17a-4d0e-ac9b-d45ce2d34fcd
5
+ uri: <CLOUD_STACK_HOST>/client/console?apiKey=<CLOUD_STACK_API_KEY>&cmd=access&command=consoleAccess&response=json&signature=DsI/kxaNO7AgzDCgE1j/3rtq3xU&vm=36f9c08b-f17a-4d0e-ac9b-d45ce2d34fcd
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=listAccounts&response=json&signature=oftBcJm8kFc%2Buxul8pAL2%2Bh0bdU=
5
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=listAccounts&response=json&signature=oftBcJm8kFc%2Buxul8pAL2%2Bh0bdU=
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.9
11
+ - Faraday v0.8.8
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -26,8 +26,8 @@ http_interactions:
26
26
  - Jetty(6.1.26)
27
27
  body:
28
28
  encoding: UTF-8
29
- string: '{ "listaccountsresponse" : { "count":1 ,"account" : [ {"id":"b32dc958-b904-11e3-b3f0-080027079e3d","name":"admin","accounttype":1,"domainid":"b32db4c2-b904-11e3-b3f0-080027079e3d","domain":"ROOT","vmlimit":"Unlimited","vmtotal":0,"vmavailable":"Unlimited","iplimit":"Unlimited","iptotal":0,"ipavailable":"Unlimited","volumelimit":"Unlimited","volumetotal":0,"volumeavailable":"Unlimited","snapshotlimit":"Unlimited","snapshottotal":0,"snapshotavailable":"Unlimited","templatelimit":"Unlimited","templatetotal":0,"templateavailable":"Unlimited","projectlimit":"Unlimited","projecttotal":0,"projectavailable":"Unlimited","networklimit":"Unlimited","networktotal":2,"networkavailable":"Unlimited","vpclimit":"Unlimited","vpctotal":0,"vpcavailable":"Unlimited","cpulimit":"Unlimited","cputotal":0,"cpuavailable":"Unlimited","memorylimit":"Unlimited","memorytotal":0,"memoryavailable":"Unlimited","primarystoragelimit":"Unlimited","primarystoragetotal":0,"primarystorageavailable":"Unlimited","secondarystoragelimit":"Unlimited","secondarystoragetotal":0,"secondarystorageavailable":"Unlimited","state":"enabled","user":[{"id":"b32e02b0-b904-11e3-b3f0-080027079e3d","username":"admin","firstname":"Admin","lastname":"User","email":"admin@mailprovider.com","created":"2014-03-31T18:45:58+0000","state":"enabled","account":"admin","accounttype":1,"domainid":"b32db4c2-b904-11e3-b3f0-080027079e3d","domain":"ROOT","apikey":"<CLOUD_STACK_API_KEY>","secretkey":"<CLOUD_STACK_SECRET_KEY>","accountid":"b32dc958-b904-11e3-b3f0-080027079e3d","iscallerchilddomain":false,"isdefault":true}],"isdefault":true}
29
+ string: '{ "listaccountsresponse" : { "count":1 ,"account" : [ {"id":"fdc009b8-2034-11e3-a44b-d6558ad1fb9f","name":"admin","accounttype":1,"domainid":"fdbfec94-2034-11e3-a44b-d6558ad1fb9f","domain":"ROOT","vmlimit":"Unlimited","vmtotal":0,"vmavailable":"Unlimited","iplimit":"Unlimited","iptotal":0,"ipavailable":"Unlimited","volumelimit":"Unlimited","volumetotal":0,"volumeavailable":"Unlimited","snapshotlimit":"Unlimited","snapshottotal":0,"snapshotavailable":"Unlimited","templatelimit":"Unlimited","templatetotal":0,"templateavailable":"Unlimited","projectlimit":"Unlimited","projecttotal":0,"projectavailable":"Unlimited","networklimit":"Unlimited","networktotal":0,"networkavailable":"Unlimited","vpclimit":"Unlimited","vpctotal":0,"vpcavailable":"Unlimited","cpulimit":"Unlimited","cputotal":0,"cpuavailable":"Unlimited","memorylimit":"Unlimited","memorytotal":0,"memoryavailable":"Unlimited","primarystoragelimit":"Unlimited","primarystoragetotal":0,"primarystorageavailable":"Unlimited","secondarystoragelimit":"Unlimited","secondarystoragetotal":0,"secondarystorageavailable":"Unlimited","state":"enabled","user":[{"id":"fdc03456-2034-11e3-a44b-d6558ad1fb9f","username":"admin","firstname":"Admin","lastname":"User","email":"admin@mailprovider.com","created":"2013-09-17T23:36:11-0400","state":"enabled","account":"admin","accounttype":1,"domainid":"fdbfec94-2034-11e3-a44b-d6558ad1fb9f","domain":"ROOT","apikey":"<CLOUD_STACK_API_KEY>","secretkey":"<CLOUD_STACK_SECRET_KEY>","accountid":"fdc009b8-2034-11e3-a44b-d6558ad1fb9f","iscallerchilddomain":false,"isdefault":true}],"isdefault":true}
30
30
  ] } }'
31
31
  http_version:
32
- recorded_at: Mon, 24 Nov 2014 18:07:24 GMT
33
- recorded_with: VCR 2.9.3
32
+ recorded_at: Thu, 24 Oct 2013 18:42:15 GMT
33
+ recorded_with: VCR 2.6.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=listAccounts&response=json&signature=oftBcJm8kFc%2Buxul8pAL2%2Bh0bdU=
5
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=listAccounts&response=json&signature=oftBcJm8kFc%2Buxul8pAL2%2Bh0bdU=
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.9
11
+ - Faraday v0.8.8
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -21,13 +21,13 @@ http_interactions:
21
21
  Content-Type:
22
22
  - text/javascript; charset=UTF-8
23
23
  Content-Length:
24
- - '1727'
24
+ - '1778'
25
25
  Server:
26
26
  - Jetty(6.1.26)
27
27
  body:
28
28
  encoding: UTF-8
29
- string: '{ "listaccountsresponse" : { "count":1 ,"account" : [ {"id":"b32dc958-b904-11e3-b3f0-080027079e3d","name":"admin","accounttype":1,"domainid":"b32db4c2-b904-11e3-b3f0-080027079e3d","domain":"ROOT","vmlimit":"Unlimited","vmtotal":0,"vmavailable":"Unlimited","iplimit":"Unlimited","iptotal":0,"ipavailable":"Unlimited","volumelimit":"Unlimited","volumetotal":0,"volumeavailable":"Unlimited","snapshotlimit":"Unlimited","snapshottotal":0,"snapshotavailable":"Unlimited","templatelimit":"Unlimited","templatetotal":0,"templateavailable":"Unlimited","projectlimit":"Unlimited","projecttotal":0,"projectavailable":"Unlimited","networklimit":"Unlimited","networktotal":3,"networkavailable":"Unlimited","vpclimit":"Unlimited","vpctotal":0,"vpcavailable":"Unlimited","cpulimit":"Unlimited","cputotal":0,"cpuavailable":"Unlimited","memorylimit":"Unlimited","memorytotal":0,"memoryavailable":"Unlimited","primarystoragelimit":"Unlimited","primarystoragetotal":0,"primarystorageavailable":"Unlimited","secondarystoragelimit":"Unlimited","secondarystoragetotal":0,"secondarystorageavailable":"Unlimited","state":"enabled","user":[{"id":"b32e02b0-b904-11e3-b3f0-080027079e3d","username":"admin","firstname":"Admin","lastname":"User","email":"admin@mailprovider.com","created":"2014-03-31T18:45:58+0000","state":"enabled","account":"admin","accounttype":1,"domainid":"b32db4c2-b904-11e3-b3f0-080027079e3d","domain":"ROOT","apikey":"<CLOUD_STACK_API_KEY>","secretkey":"<CLOUD_STACK_SECRET_KEY>","accountid":"b32dc958-b904-11e3-b3f0-080027079e3d","iscallerchilddomain":false,"isdefault":true}],"isdefault":true}
29
+ string: '{ "listaccountsresponse" : { "count":1 ,"account" : [ {"id":"fdc009b8-2034-11e3-a44b-d6558ad1fb9f","name":"admin","accounttype":1,"domainid":"fdbfec94-2034-11e3-a44b-d6558ad1fb9f","domain":"ROOT","receivedbytes":100,"sentbytes":100,"vmlimit":"Unlimited","vmtotal":1,"vmavailable":"Unlimited","iplimit":"Unlimited","iptotal":1,"ipavailable":"Unlimited","volumelimit":"Unlimited","volumetotal":1,"volumeavailable":"Unlimited","snapshotlimit":"Unlimited","snapshottotal":0,"snapshotavailable":"Unlimited","templatelimit":"Unlimited","templatetotal":0,"templateavailable":"Unlimited","vmrunning":1,"projectlimit":"Unlimited","projecttotal":0,"projectavailable":"Unlimited","networklimit":"Unlimited","networktotal":1,"networkavailable":"Unlimited","vpclimit":"Unlimited","vpctotal":0,"vpcavailable":"Unlimited","cpulimit":"Unlimited","cputotal":1,"cpuavailable":"Unlimited","memorylimit":"Unlimited","memorytotal":32,"memoryavailable":"Unlimited","primarystoragelimit":"Unlimited","primarystoragetotal":2,"primarystorageavailable":"Unlimited","secondarystoragelimit":"Unlimited","secondarystoragetotal":0,"secondarystorageavailable":"Unlimited","state":"enabled","user":[{"id":"fdc03456-2034-11e3-a44b-d6558ad1fb9f","username":"admin","firstname":"Admin","lastname":"User","email":"admin@mailprovider.com","created":"2013-09-17T23:36:11-0400","state":"enabled","account":"admin","accounttype":1,"domainid":"fdbfec94-2034-11e3-a44b-d6558ad1fb9f","domain":"ROOT","apikey":"<CLOUD_STACK_API_KEY>","secretkey":"<CLOUD_STACK_SECRET_KEY>","accountid":"fdc009b8-2034-11e3-a44b-d6558ad1fb9f","iscallerchilddomain":false,"isdefault":true}],"isdefault":true}
30
30
  ] } }'
31
31
  http_version:
32
- recorded_at: Mon, 24 Nov 2014 18:07:26 GMT
33
- recorded_with: VCR 2.9.3
32
+ recorded_at: Mon, 28 Oct 2013 17:22:52 GMT
33
+ recorded_with: VCR 2.6.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=listZones&response=json&signature=/MnHgTBKGc%2BXx0Z8KwMllvw92vg=
5
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=listZones&response=json&signature=/MnHgTBKGc%2BXx0Z8KwMllvw92vg=
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.8.9
11
+ - Faraday v0.8.8
12
12
  Accept-Encoding:
13
13
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
14
  Accept:
@@ -26,19 +26,19 @@ http_interactions:
26
26
  - Jetty(6.1.26)
27
27
  body:
28
28
  encoding: UTF-8
29
- string: '{ "listzonesresponse" : { "count":1 ,"zone" : [ {"id":"3c0f55e5-a4a2-4a82-8c98-20bf34d5766b","name":"Sandbox-simulator","dns1":"10.147.28.6","internaldns1":"10.147.28.6","guestcidraddress":"10.1.1.0/24","networktype":"Advanced","securitygroupsenabled":false,"allocationstate":"Enabled","zonetoken":"f4879166-43de-3164-841c-213cc55f6623","dhcpprovider":"VirtualRouter","localstorageenabled":false}
29
+ string: '{ "listzonesresponse" : { "count":1 ,"zone" : [ {"id":"39e9e31e-925c-4b55-8d33-f99912b73dfc","name":"Sandbox-simulator","dns1":"10.147.28.6","internaldns1":"10.147.28.6","guestcidraddress":"10.1.1.0/24","networktype":"Advanced","securitygroupsenabled":false,"allocationstate":"Enabled","zonetoken":"ea3acbc4-cae8-3b82-b42f-7492ddfede00","dhcpprovider":"VirtualRouter","localstorageenabled":false}
30
30
  ] } }'
31
31
  http_version:
32
- recorded_at: Mon, 24 Nov 2014 18:07:26 GMT
32
+ recorded_at: Thu, 19 Dec 2013 17:34:44 GMT
33
33
  - request:
34
34
  method: get
35
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=listNetworkOfferings&response=json&signature=BAdYatJ5Rjcffi6sU8P%2BZtLhSF8=&supportedServices=sourcenat&type=isolated
35
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=listNetworkOfferings&response=json&signature=BAdYatJ5Rjcffi6sU8P%2BZtLhSF8=&supportedServices=sourcenat&type=isolated
36
36
  body:
37
37
  encoding: US-ASCII
38
38
  string: ''
39
39
  headers:
40
40
  User-Agent:
41
- - Faraday v0.8.9
41
+ - Faraday v0.8.8
42
42
  Accept-Encoding:
43
43
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
44
44
  Accept:
@@ -57,26 +57,26 @@ http_interactions:
57
57
  body:
58
58
  encoding: UTF-8
59
59
  string: '{ "listnetworkofferingsresponse" : { "count":4 ,"networkoffering" :
60
- [ {"id":"01e36ec9-d1a0-4023-b781-c8dcd5b9cdb4","name":"DefaultIsolatedNetworkOfferingWithSourceNatService","displaytext":"Offering
61
- for Isolated networks with Source Nat service enabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":true,"specifyipranges":false,"availability":"Required","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"40f265ea-0185-4d41-b766-170dbc2213ec","service":[{"name":"UserData","provider":[{"name":"VirtualRouter"}]},{"name":"Lb","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"Dns","provider":[{"name":"VirtualRouter"}]},{"name":"Dhcp","provider":[{"name":"VirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"Firewall","provider":[{"name":"VirtualRouter"}]},{"name":"Vpn","provider":[{"name":"VirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"PortForwarding","provider":[{"name":"VirtualRouter"}]}],"forvpc":false,"ispersistent":false,"egressdefaultpolicy":false},
62
- {"id":"e3d6437f-da81-4ead-9566-7ffa7a047569","name":"DefaultIsolatedNetworkOfferingForVpcNetworks","displaytext":"Offering
63
- for Isolated Vpc networks with Source Nat service enabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"40f265ea-0185-4d41-b766-170dbc2213ec","service":[{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Lb","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Vpn","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"PortForwarding","provider":[{"name":"VpcVirtualRouter"}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false},
64
- {"id":"74b83fba-e223-4f77-9374-39dda87cd7e1","name":"DefaultIsolatedNetworkOfferingForVpcNetworksNoLB","displaytext":"Offering
65
- for Isolated Vpc networks with Source Nat service enabled and LB service Disabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"40f265ea-0185-4d41-b766-170dbc2213ec","service":[{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Vpn","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"PortForwarding","provider":[{"name":"VpcVirtualRouter"}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false},
66
- {"id":"3d0cab31-531e-4522-8c47-45cf0f1690ad","name":"DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB","displaytext":"Offering
67
- for Isolated Vpc networks with Internal LB support","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"40f265ea-0185-4d41-b766-170dbc2213ec","service":[{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Lb","provider":[{"name":"InternalLbVm"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false}
60
+ [ {"id":"fa126319-f822-4786-9cd3-30bd0c55ca94","name":"DefaultIsolatedNetworkOfferingWithSourceNatService","displaytext":"Offering
61
+ for Isolated networks with Source Nat service enabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":true,"specifyipranges":false,"availability":"Required","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"983410fa-b51b-439c-b8ba-be973804c38f","service":[{"name":"PortForwarding","provider":[{"name":"VirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"Dhcp","provider":[{"name":"VirtualRouter"}]},{"name":"Firewall","provider":[{"name":"VirtualRouter"}]},{"name":"Lb","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"UserData","provider":[{"name":"VirtualRouter"}]},{"name":"Dns","provider":[{"name":"VirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"Vpn","provider":[{"name":"VirtualRouter"}]}],"forvpc":false,"ispersistent":false,"egressdefaultpolicy":false},
62
+ {"id":"7e70b3b5-5e2c-42cb-9b49-93a87c13a675","name":"DefaultIsolatedNetworkOfferingForVpcNetworks","displaytext":"Offering
63
+ for Isolated Vpc networks with Source Nat service enabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"983410fa-b51b-439c-b8ba-be973804c38f","service":[{"name":"PortForwarding","provider":[{"name":"VpcVirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Lb","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"Vpn","provider":[{"name":"VpcVirtualRouter"}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false},
64
+ {"id":"a9d78d52-f306-44c5-bb6d-c121a507db05","name":"DefaultIsolatedNetworkOfferingForVpcNetworksNoLB","displaytext":"Offering
65
+ for Isolated Vpc networks with Source Nat service enabled and LB service Disabled","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"983410fa-b51b-439c-b8ba-be973804c38f","service":[{"name":"PortForwarding","provider":[{"name":"VpcVirtualRouter"}]},{"name":"StaticNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"ElasticIp","value":"false","canchooseservicecapability":false},{"name":"AssociatePublicIP","value":"true","canchooseservicecapability":false}]},{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]},{"name":"Vpn","provider":[{"name":"VpcVirtualRouter"}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false},
66
+ {"id":"f9a7b0d0-ce61-4f8d-a360-be1040d67287","name":"DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB","displaytext":"Offering
67
+ for Isolated Vpc networks with Internal LB support","traffictype":"Guest","isdefault":true,"specifyvlan":false,"conservemode":false,"specifyipranges":false,"availability":"Optional","networkrate":200,"state":"Enabled","guestiptype":"Isolated","serviceofferingid":"983410fa-b51b-439c-b8ba-be973804c38f","service":[{"name":"Dhcp","provider":[{"name":"VpcVirtualRouter"}]},{"name":"NetworkACL","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Lb","provider":[{"name":"InternalLbVm"}],"capability":[{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"ElasticLb","value":"false","canchooseservicecapability":false},{"name":"InlineMode","value":"false","canchooseservicecapability":false}]},{"name":"UserData","provider":[{"name":"VpcVirtualRouter"}]},{"name":"Dns","provider":[{"name":"VpcVirtualRouter"}]},{"name":"SourceNat","provider":[{"name":"VpcVirtualRouter"}],"capability":[{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false},{"name":"RedundantRouter","value":"false","canchooseservicecapability":false}]}],"forvpc":true,"ispersistent":false,"egressdefaultpolicy":false}
68
68
  ] } }'
69
69
  http_version:
70
- recorded_at: Mon, 24 Nov 2014 18:07:26 GMT
70
+ recorded_at: Thu, 19 Dec 2013 17:34:44 GMT
71
71
  - request:
72
72
  method: get
73
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=createNetwork&displaytext=John&name=John&networkOfferingId=01e36ec9-d1a0-4023-b781-c8dcd5b9cdb4&response=json&signature=/nNmE94p717JINMF7VU7FEgW0MM=&zoneId=3c0f55e5-a4a2-4a82-8c98-20bf34d5766b
73
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=createNetwork&displaytext=John&name=John&networkOfferingId=fa126319-f822-4786-9cd3-30bd0c55ca94&response=json&signature=UDcfFqlzwpHJib/9kLKzR0%2BCbyc=&zoneId=39e9e31e-925c-4b55-8d33-f99912b73dfc
74
74
  body:
75
75
  encoding: US-ASCII
76
76
  string: ''
77
77
  headers:
78
78
  User-Agent:
79
- - Faraday v0.8.9
79
+ - Faraday v0.8.8
80
80
  Accept-Encoding:
81
81
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
82
82
  Accept:
@@ -94,8 +94,11 @@ http_interactions:
94
94
  - Jetty(6.1.26)
95
95
  body:
96
96
  encoding: UTF-8
97
- string: '{ "createnetworkresponse" : { "network" : {"id":"fe5441e4-8fd2-414e-a2d1-eb2aab1108ec","name":"John","displaytext":"John","broadcastdomaintype":"Vlan","traffictype":"Guest","gateway":"10.1.1.1","netmask":"255.255.255.0","cidr":"10.1.1.0/24","zoneid":"3c0f55e5-a4a2-4a82-8c98-20bf34d5766b","zonename":"Sandbox-simulator","networkofferingid":"01e36ec9-d1a0-4023-b781-c8dcd5b9cdb4","networkofferingname":"DefaultIsolatedNetworkOfferingWithSourceNatService","networkofferingdisplaytext":"Offering
98
- for Isolated networks with Source Nat service enabled","networkofferingconservemode":true,"networkofferingavailability":"Required","issystem":false,"state":"Allocated","related":"fe5441e4-8fd2-414e-a2d1-eb2aab1108ec","dns1":"10.147.28.6","type":"Isolated","acltype":"Account","account":"admin","domainid":"b32db4c2-b904-11e3-b3f0-080027079e3d","domain":"ROOT","service":[{"name":"UserData"},{"name":"Lb","capability":[{"name":"SupportedStickinessMethods","value":"[{\"methodname\":\"LbCookie\",\"paramlist\":[{\"paramname\":\"cookie-name\",\"required\":false,\"isflag\":false,\"description\":\"
97
+ string: '{ "createnetworkresponse" : { "network" : {"id":"18772181-9674-4a30-81e7-99ebb6a5baed","name":"John","displaytext":"John","broadcastdomaintype":"Vlan","traffictype":"Guest","gateway":"10.1.1.1","netmask":"255.255.255.0","cidr":"10.1.1.0/24","zoneid":"39e9e31e-925c-4b55-8d33-f99912b73dfc","zonename":"Sandbox-simulator","networkofferingid":"fa126319-f822-4786-9cd3-30bd0c55ca94","networkofferingname":"DefaultIsolatedNetworkOfferingWithSourceNatService","networkofferingdisplaytext":"Offering
98
+ for Isolated networks with Source Nat service enabled","networkofferingconservemode":true,"networkofferingavailability":"Required","issystem":false,"state":"Allocated","related":"18772181-9674-4a30-81e7-99ebb6a5baed","dns1":"10.147.28.6","type":"Isolated","acltype":"Account","account":"admin","domainid":"ce4585b8-41f5-11e3-aaa7-d6558ad1fb9f","domain":"ROOT","service":[{"name":"PortForwarding"},{"name":"StaticNat"},{"name":"Dhcp","capability":[{"name":"DhcpAccrossMultipleSubnets","value":"true","canchooseservicecapability":false}]},{"name":"Firewall","capability":[{"name":"TrafficStatistics","value":"per
99
+ public ip","canchooseservicecapability":false},{"name":"SupportedTrafficDirection","value":"ingress,
100
+ egress","canchooseservicecapability":false},{"name":"SupportedEgressProtocols","value":"tcp,udp,icmp,
101
+ all","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,udp,icmp","canchooseservicecapability":false},{"name":"MultipleIps","value":"true","canchooseservicecapability":false}]},{"name":"Lb","capability":[{"name":"SupportedLbAlgorithms","value":"roundrobin,leastconn,source","canchooseservicecapability":false},{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"SupportedStickinessMethods","value":"[{\"methodname\":\"LbCookie\",\"paramlist\":[{\"paramname\":\"cookie-name\",\"required\":false,\"isflag\":false,\"description\":\"
99
102
  \"},{\"paramname\":\"mode\",\"required\":false,\"isflag\":false,\"description\":\"
100
103
  \"},{\"paramname\":\"nocache\",\"required\":false,\"isflag\":true,\"description\":\"
101
104
  \"},{\"paramname\":\"indirect\",\"required\":false,\"isflag\":true,\"description\":\"
@@ -112,23 +115,50 @@ http_interactions:
112
115
  http traffic\"},{\"methodname\":\"SourceBased\",\"paramlist\":[{\"paramname\":\"tablesize\",\"required\":false,\"isflag\":false,\"description\":\"
113
116
  \"},{\"paramname\":\"expire\",\"required\":false,\"isflag\":false,\"description\":\"
114
117
  \"}],\"description\":\"This is source based Stickiness method, it can be used
115
- for any type of protocol.\"}]","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,
116
- udp","canchooseservicecapability":false},{"name":"SupportedLBIsolation","value":"dedicated","canchooseservicecapability":false},{"name":"LbSchemes","value":"Public","canchooseservicecapability":false},{"name":"SupportedLbAlgorithms","value":"roundrobin,leastconn,source","canchooseservicecapability":false}]},{"name":"Dns","capability":[{"name":"AllowDnsSuffixModification","value":"true","canchooseservicecapability":false}]},{"name":"Dhcp","capability":[{"name":"DhcpAccrossMultipleSubnets","value":"true","canchooseservicecapability":false}]},{"name":"StaticNat"},{"name":"Firewall","capability":[{"name":"SupportedEgressProtocols","value":"tcp,udp,icmp,
117
- all","canchooseservicecapability":false},{"name":"SupportedTrafficDirection","value":"ingress,
118
- egress","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,udp,icmp","canchooseservicecapability":false},{"name":"MultipleIps","value":"true","canchooseservicecapability":false},{"name":"TrafficStatistics","value":"per
119
- public ip","canchooseservicecapability":false}]},{"name":"Vpn","capability":[{"name":"SupportedVpnTypes","value":"pptp,l2tp,ipsec","canchooseservicecapability":false},{"name":"VpnTypes","value":"removeaccessvpn","canchooseservicecapability":false}]},{"name":"SourceNat","capability":[{"name":"RedundantRouter","value":"true","canchooseservicecapability":false},{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false}]},{"name":"PortForwarding"}],"networkdomain":"cs2sandbox.simulator","physicalnetworkid":"25b674fb-96c2-4c8c-80b4-051ef4dbde22","restartrequired":false,"specifyipranges":false,"canusefordeploy":true,"ispersistent":false,"tags":[],"displaynetwork":true}
118
+ for any type of protocol.\"}]","canchooseservicecapability":false},{"name":"LbSchemes","value":"Public","canchooseservicecapability":false},{"name":"SupportedProtocols","value":"tcp,
119
+ udp","canchooseservicecapability":false}]},{"name":"UserData"},{"name":"Dns","capability":[{"name":"AllowDnsSuffixModification","value":"true","canchooseservicecapability":false}]},{"name":"SourceNat","capability":[{"name":"RedundantRouter","value":"true","canchooseservicecapability":false},{"name":"SupportedSourceNatTypes","value":"peraccount","canchooseservicecapability":false}]},{"name":"Vpn","capability":[{"name":"SupportedVpnTypes","value":"pptp,l2tp,ipsec","canchooseservicecapability":false},{"name":"VpnTypes","value":"removeaccessvpn","canchooseservicecapability":false}]}],"networkdomain":"cs2sandbox.simulator","physicalnetworkid":"46d08659-81e9-4f31-a589-a15aca972af0","restartrequired":false,"specifyipranges":false,"canusefordeploy":true,"ispersistent":false,"tags":[],"displaynetwork":true}
120
120
  } }'
121
121
  http_version:
122
- recorded_at: Mon, 24 Nov 2014 18:07:26 GMT
122
+ recorded_at: Thu, 19 Dec 2013 17:34:44 GMT
123
123
  - request:
124
124
  method: get
125
- uri: <CLOUD_STACK_HOST>/client/api?apiKey=<CLOUD_STACK_API_KEY>&command=createTags&resourceIds=fe5441e4-8fd2-414e-a2d1-eb2aab1108ec&resourceType=Network&response=json&signature=JDvENSGhv00hzG9nGX47ZDesXwA=&tags%5B0%5D%5B.key%5D=speed%20%5Blab%5D&tags%5B0%5D%5B.name%5D=speed%20%5Blab%5D&tags%5B0%5D%5B.value%5D=real%20fast!
125
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=createTags&resourceIds=18772181-9674-4a30-81e7-99ebb6a5baed&resourceType=Network&response=json&signature=xFXocwxqx4V1VH1EGVtjwdGZ0Yw=&tags%5B0%5D%5B%7D.key%5D=speed%20%5Blab%5D&tags%5B0%5D%5B%7D.name%5D=speed%20%5Blab%5D&tags%5B0%5D%5B%7D.value%5D=real%20fast!
126
126
  body:
127
127
  encoding: US-ASCII
128
128
  string: ''
129
129
  headers:
130
130
  User-Agent:
131
- - Faraday v0.8.9
131
+ - Faraday v0.8.8
132
+ Accept-Encoding:
133
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
134
+ Accept:
135
+ - '*/*'
136
+ response:
137
+ status:
138
+ code: 401
139
+ message: Unauthorized
140
+ headers:
141
+ Content-Type:
142
+ - text/javascript; charset=UTF-8
143
+ Content-Length:
144
+ - '131'
145
+ Server:
146
+ - Jetty(6.1.26)
147
+ body:
148
+ encoding: UTF-8
149
+ string: '{ "createtagsresponse" : {"uuidList":[],"errorcode":401,"errortext":"unable
150
+ to verify user credentials and/or request signature"} }'
151
+ http_version:
152
+ recorded_at: Thu, 19 Dec 2013 17:34:44 GMT
153
+ - request:
154
+ method: get
155
+ uri: <CLOUD_STACK_URL>?apiKey=<CLOUD_STACK_API_KEY>&command=createTags&resourceIds=18772181-9674-4a30-81e7-99ebb6a5baed&resourceType=Network&response=json&signature=IqPennOpZ2NWFlJIBomJG9Ys9Zg=&tags%5B0%5D%5B.key%5D=speed%20%5Blab%5D&tags%5B0%5D%5B.name%5D=speed%20%5Blab%5D&tags%5B0%5D%5B.value%5D=real%20fast!
156
+ body:
157
+ encoding: US-ASCII
158
+ string: ''
159
+ headers:
160
+ User-Agent:
161
+ - Faraday v0.8.8
132
162
  Accept-Encoding:
133
163
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
134
164
  Accept:
@@ -146,8 +176,8 @@ http_interactions:
146
176
  - Jetty(6.1.26)
147
177
  body:
148
178
  encoding: UTF-8
149
- string: '{ "createtagsresponse" : {"jobid":"7b8031e9-71b6-4281-8b04-67bc2a5035bb"}
179
+ string: '{ "createtagsresponse" : {"jobid":"7f37bba8-dd8e-4ba2-b5a4-bb97f3cf0cab"}
150
180
  }'
151
181
  http_version:
152
- recorded_at: Mon, 24 Nov 2014 18:07:26 GMT
153
- recorded_with: VCR 2.9.3
182
+ recorded_at: Thu, 19 Dec 2013 17:42:02 GMT
183
+ recorded_with: VCR 2.8.0