miasma 0.2.18 → 0.2.20

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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/lib/miasma.rb +6 -5
  4. data/lib/miasma/models/orchestration/stack.rb +6 -0
  5. data/lib/miasma/types/api.rb +15 -0
  6. data/lib/miasma/types/model.rb +3 -0
  7. data/lib/miasma/utils/lazy.rb +1 -1
  8. data/lib/miasma/version.rb +1 -1
  9. metadata +2 -35
  10. data/test/specs/cassettes/aws_buckets_all.yml +0 -45
  11. data/test/specs/cassettes/aws_load_balancer_balancer_after_destroy.yml +0 -85
  12. data/test/specs/cassettes/aws_load_balancer_balancer_before_create.yml +0 -271
  13. data/test/specs/cassettes/aws_load_balancer_balancer_direct_fetch.yml +0 -89
  14. data/test/specs/cassettes/aws_load_balancer_balancers_all.yml +0 -45
  15. data/test/specs/cassettes/aws_server_after_destroy.yml +0 -155
  16. data/test/specs/cassettes/aws_server_before_create.yml +0 -470
  17. data/test/specs/cassettes/aws_servers_all.yml +0 -44
  18. data/test/specs/cassettes/aws_servers_create.yml +0 -824
  19. data/test/specs/cassettes/aws_stack_create.yml +0 -603
  20. data/test/specs/cassettes/aws_stacks_after_destroy.yml +0 -148
  21. data/test/specs/cassettes/aws_stacks_all.yml +0 -99
  22. data/test/specs/cassettes/aws_stacks_before_create.yml +0 -300
  23. data/test/specs/cassettes/aws_stacks_direct_fetch.yml +0 -108
  24. data/test/specs/cassettes/aws_storage_bucket.yml +0 -429
  25. data/test/specs/cassettes/open_stack_server_after_destroy.yml +0 -83
  26. data/test/specs/cassettes/open_stack_server_before_create.yml +0 -138
  27. data/test/specs/cassettes/open_stack_servers_all.yml +0 -34
  28. data/test/specs/cassettes/open_stack_servers_create.yml +0 -296
  29. data/test/specs/cassettes/open_stack_stack_create.yml +0 -338
  30. data/test/specs/cassettes/open_stack_stacks_after_destroy.yml +0 -73
  31. data/test/specs/cassettes/open_stack_stacks_all.yml +0 -34
  32. data/test/specs/cassettes/open_stack_stacks_before_create.yml +0 -227
  33. data/test/specs/cassettes/open_stack_stacks_direct_fetch.yml +0 -39
  34. data/test/specs/cassettes/rackspace_identity_seed.yml +0 -38
  35. data/test/specs/cassettes/rackspace_server_after_destroy.yml +0 -88
  36. data/test/specs/cassettes/rackspace_server_before_create.yml +0 -143
  37. data/test/specs/cassettes/rackspace_servers_create.yml +0 -313
  38. data/test/specs/cassettes/rackspace_stack_create.yml +0 -289
  39. data/test/specs/cassettes/rackspace_stacks_after_destroy.yml +0 -79
  40. data/test/specs/cassettes/rackspace_stacks_all.yml +0 -81
  41. data/test/specs/cassettes/rackspace_stacks_before_create.yml +0 -211
  42. data/test/specs/cassettes/rackspace_stacks_direct_fetch.yml +0 -38
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 08b5ec54e6c99fa19d7db794ebe57a0e65f7c4d9
4
- data.tar.gz: 52a70279a5454564643da47b0e9907d109f1dcfa
3
+ metadata.gz: 62f79ab01a173526eeeddce33773d09da0c95bda
4
+ data.tar.gz: 9bfb290df4a4383d9c6f3fa0138c3c8a22862dff
5
5
  SHA512:
6
- metadata.gz: d3866076b6205fb31c4959ced35c0c1bc2ca50d0b0c83a93a01fabab4b767bdd0e3d9e6049b4d37743e6a5fab93fb0fc951e0faaaf61c8997630e8de97fd62d9
7
- data.tar.gz: bdd1b65c2713acc7a9055c35ce31592041f6e56f88df87e4ff72d0814ecdbc8aa937ddfc334f0f2c88a8b63bd7b253ef35e01f84c360a36c2dcd17134ee54133
6
+ metadata.gz: 603350c584ea581c96922bf764b63ac5fd076363c5293ba6aca64c601dd59ea49c649c4122fc243f5777f446de1589b18b1c4db4dcae9292f85302b3b49a82c5
7
+ data.tar.gz: c6d24222054251d5ab210ba6da055082f2e289a6d04fc9b06586f59837665cdb548119dde7ff3ee363d07bbd9b10c8ebfc2d765b64dda18baef7a085acd4bc09
@@ -1,3 +1,10 @@
1
+ # v0.2.20
2
+ * Add scrubbing response prior to parsing to prevent XML related errors
3
+ * Stub credentials if none are provided
4
+ * Add setup stub to allow implementations an entry point for custom behavior
5
+ * Add container attribute for unsupported attributes within model
6
+ * Provide better error output when loading fails
7
+
1
8
  # v0.2.18
2
9
  * Fix constant name used for retry interval (#9)
3
10
  * Provide better automatic conversion of response body
@@ -20,20 +20,21 @@ module Miasma
20
20
  # @option args [Hash] :credentials Service provider credentials
21
21
  def self.api(args={})
22
22
  args = Utils::Smash.new(args)
23
- [:type, :provider, :credentials].each do |key|
23
+ [:type, :provider].each do |key|
24
24
  unless(args[key])
25
25
  raise ArgumentError.new "Missing required api argument `#{key.inspect}`!"
26
26
  end
27
27
  end
28
28
  args[:type] = Utils.camel(args[:type].to_s).to_sym
29
29
  args[:provider] = Utils.camel(args[:provider].to_s).to_sym
30
+ args[:credentials] ||= {}
30
31
  begin
31
32
  require "miasma/contrib/#{Utils.snake(args[:provider])}"
32
33
  rescue LoadError
33
34
  # just ignore
34
35
  end
35
- base_klass = Models.const_get(args[:type])
36
36
  begin
37
+ base_klass = Models.const_get(args[:type])
37
38
  if(base_klass)
38
39
  api_klass = base_klass.const_get(args[:provider])
39
40
  if(api_klass)
@@ -42,10 +43,10 @@ module Miasma
42
43
  raise Error.new "Failed to locate #{args[:type]} API for #{args[:provider].inspect}"
43
44
  end
44
45
  else
45
- raise Error.new "Failed to locate request API type #{args[:type].inspect}"
46
+ raise Error.new "Failed to locate requested API type #{args[:type].inspect} for #{args[:provider].inspect}"
46
47
  end
47
- rescue NameError
48
- raise Error.new "Failed to locate request API type #{args[:type].inspect}"
48
+ rescue NameError => e
49
+ raise Error.new "Failed to locate requested API type #{args[:type].inspect}"
49
50
  end
50
51
  end
51
52
 
@@ -42,6 +42,12 @@ module Miasma
42
42
  attribute :template_url, String
43
43
  attribute :template_description, String
44
44
  attribute :timeout_in_minutes, Integer
45
+ attribute :tags, Smash, :coerce => lambda{|v| v.to_smash}
46
+ # TODO: This is new in AWS but I like this better for the
47
+ # attribute. For now, keep both but i would like to deprecate
48
+ # out the disable_rollback and provide the same functionality
49
+ # via this attribute.
50
+ attribute :on_failure, String, :allowed => %w(nothing rollback delete), :coerce => lambda{|v| v.to_s.downcase}
45
51
  attribute :disable_rollback, [TrueClass, FalseClass]
46
52
  attribute :notification_topics, String, :multiple => true
47
53
  attribute :capabilities, String, :multiple => true
@@ -21,6 +21,7 @@ module Miasma
21
21
  # @param creds [Smash] credentials
22
22
  # @return [self]
23
23
  def initialize(creds)
24
+ custom_setup(creds)
24
25
  if(creds.is_a?(Hash))
25
26
  load_data(creds)
26
27
  else
@@ -29,6 +30,15 @@ module Miasma
29
30
  connect
30
31
  end
31
32
 
33
+ # Simple hook for concrete APIs to make adjustments prior to
34
+ # initialization and connection
35
+ #
36
+ # @param creds [Hash]
37
+ # @return [TrueClass]
38
+ def custom_setup(creds)
39
+ true
40
+ end
41
+
32
42
  # @return [Symbol] name of provider
33
43
  def provider
34
44
  Utils.snake(self.class.to_s.split('::').last).to_sym
@@ -153,6 +163,11 @@ module Miasma
153
163
  extracted_headers = Smash[result.headers.map{|k,v| [Utils.snake(k), v]}]
154
164
  if(extract_body)
155
165
  body_content = result.body.to_s
166
+ body_content.encode!('UTF-8', 'binary',
167
+ :invalid => :replace,
168
+ :undef => :replace,
169
+ :replace => ''
170
+ )
156
171
  if(extracted_headers[:content_type].to_s.include?('json'))
157
172
  extracted_body = from_json(body_content) || body_content
158
173
  elsif(extracted_headers[:content_type].to_s.include?('xml'))
@@ -8,6 +8,8 @@ module Miasma
8
8
 
9
9
  include Utils::Memoization
10
10
 
11
+ attribute :custom, Smash, :coerce => lambda{|v| v.to_smash}, :default => Smash.new
12
+
11
13
  # @return [Miasma::Types::Api] underlying service API
12
14
  attr_reader :api
13
15
 
@@ -42,6 +44,7 @@ module Miasma
42
44
  raise TypeError.new "Expecting `model_data` to be of type `Hash`. Received: `#{model_data.class}`"
43
45
  end
44
46
  end
47
+ self.custom = {}
45
48
  end
46
49
 
47
50
  # Save changes to the model
@@ -119,7 +119,7 @@ module Miasma
119
119
  define_method(name) do
120
120
  send(depends_on) if depends_on
121
121
  self.class.on_missing(self) unless data.has_key?(name) || dirty.has_key?(name)
122
- dirty[name] || data[name]
122
+ dirty[name] || data[name] || self.class.attributes[name][:default]
123
123
  end
124
124
  define_method("#{name}=") do |val|
125
125
  values = multiple_values && val.is_a?(Array) ? val : [val]
@@ -1,4 +1,4 @@
1
1
  module Miasma
2
2
  # current library version
3
- VERSION = Gem::Version.new('0.2.18')
3
+ VERSION = Gem::Version.new('0.2.20')
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miasma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.18
4
+ version: 0.2.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Roberts
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-06 00:00:00.000000000 Z
11
+ date: 2015-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie
@@ -232,39 +232,6 @@ files:
232
232
  - lib/miasma/version.rb
233
233
  - miasma.gemspec
234
234
  - test/spec.rb
235
- - test/specs/cassettes/aws_buckets_all.yml
236
- - test/specs/cassettes/aws_load_balancer_balancer_after_destroy.yml
237
- - test/specs/cassettes/aws_load_balancer_balancer_before_create.yml
238
- - test/specs/cassettes/aws_load_balancer_balancer_direct_fetch.yml
239
- - test/specs/cassettes/aws_load_balancer_balancers_all.yml
240
- - test/specs/cassettes/aws_server_after_destroy.yml
241
- - test/specs/cassettes/aws_server_before_create.yml
242
- - test/specs/cassettes/aws_servers_all.yml
243
- - test/specs/cassettes/aws_servers_create.yml
244
- - test/specs/cassettes/aws_stack_create.yml
245
- - test/specs/cassettes/aws_stacks_after_destroy.yml
246
- - test/specs/cassettes/aws_stacks_all.yml
247
- - test/specs/cassettes/aws_stacks_before_create.yml
248
- - test/specs/cassettes/aws_stacks_direct_fetch.yml
249
- - test/specs/cassettes/aws_storage_bucket.yml
250
- - test/specs/cassettes/open_stack_server_after_destroy.yml
251
- - test/specs/cassettes/open_stack_server_before_create.yml
252
- - test/specs/cassettes/open_stack_servers_all.yml
253
- - test/specs/cassettes/open_stack_servers_create.yml
254
- - test/specs/cassettes/open_stack_stack_create.yml
255
- - test/specs/cassettes/open_stack_stacks_after_destroy.yml
256
- - test/specs/cassettes/open_stack_stacks_all.yml
257
- - test/specs/cassettes/open_stack_stacks_before_create.yml
258
- - test/specs/cassettes/open_stack_stacks_direct_fetch.yml
259
- - test/specs/cassettes/rackspace_identity_seed.yml
260
- - test/specs/cassettes/rackspace_server_after_destroy.yml
261
- - test/specs/cassettes/rackspace_server_before_create.yml
262
- - test/specs/cassettes/rackspace_servers_create.yml
263
- - test/specs/cassettes/rackspace_stack_create.yml
264
- - test/specs/cassettes/rackspace_stacks_after_destroy.yml
265
- - test/specs/cassettes/rackspace_stacks_all.yml
266
- - test/specs/cassettes/rackspace_stacks_before_create.yml
267
- - test/specs/cassettes/rackspace_stacks_direct_fetch.yml
268
235
  - test/specs/miasma_spec.rb
269
236
  - test/specs/models/compute_abstract.rb
270
237
  - test/specs/models/load_balancer_abstract.rb
@@ -1,45 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://s3.amazonaws.com/?Version=2006-03-01
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - miasma/v0.2.1
12
- Host:
13
- - s3.amazonaws.com
14
- X-Amz-Date:
15
- - 20141123T185442Z
16
- X-Amz-Content-Sha256:
17
- - e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
18
- Authorization:
19
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141123/us-east-1/s3/aws4_request,
20
- SignedHeaders=host;user-agent;x-amz-content-sha256;x-amz-date, Signature=696913a9c80773053cf38929a39165cb19cc4007ab18d6174a445e826f087bc8
21
- response:
22
- status:
23
- code: 200
24
- message: OK
25
- headers:
26
- X-Amz-Id-2:
27
- - YKxyeHdFxItUxIgFs3FTppy4bYffOGF2AZ3RUvwMxx5XpgBksdTFlzgpkWn+Fpw0
28
- X-Amz-Request-Id:
29
- - CDB9E21B80364C2A
30
- Date:
31
- - Sun, 23 Nov 2014 18:54:44 GMT
32
- Content-Type:
33
- - application/xml
34
- Transfer-Encoding:
35
- - chunked
36
- Server:
37
- - AmazonS3
38
- body:
39
- encoding: UTF-8
40
- string: |-
41
- <?xml version="1.0" encoding="UTF-8"?>
42
- <ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>413592dcd47430a483c65bf9d5da73cd2e086212c2a8cd9aff537b2468e83de9</ID><DisplayName>aws</DisplayName></Owner><Buckets><Bucket><Name>assets.hw-ops.com</Name><CreationDate>2013-12-18T21:07:32.000Z</CreationDate></Bucket><Bucket><Name>cf-templates-235p3whz4gj8-us-west-2</Name><CreationDate>2013-06-19T21:46:48.000Z</CreationDate></Bucket><Bucket><Name>chef-backup-test</Name><CreationDate>2014-02-25T18:43:28.000Z</CreationDate></Bucket><Bucket><Name>cloud-viz-playground</Name><CreationDate>2014-10-04T22:23:14.000Z</CreationDate></Bucket><Bucket><Name>energysavvy-dump</Name><CreationDate>2014-05-14T21:35:10.000Z</CreationDate></Bucket><Bucket><Name>export-test-cfn</Name><CreationDate>2014-01-27T20:45:26.000Z</CreationDate></Bucket><Bucket><Name>fission-assets</Name><CreationDate>2014-03-06T02:31:52.000Z</CreationDate></Bucket><Bucket><Name>fission-assets-testing</Name><CreationDate>2014-03-10T21:36:45.000Z</CreationDate></Bucket><Bucket><Name>fission-infra</Name><CreationDate>2013-12-31T14:58:22.000Z</CreationDate></Bucket><Bucket><Name>fubar-test-bucket</Name><CreationDate>2014-05-19T19:11:31.000Z</CreationDate></Bucket><Bucket><Name>heavywater.pkgd.io</Name><CreationDate>2014-03-07T04:32:44.000Z</CreationDate></Bucket><Bucket><Name>hw-book-club</Name><CreationDate>2014-06-30T21:31:08.000Z</CreationDate></Bucket><Bucket><Name>hw-chef-summit</Name><CreationDate>2014-10-03T03:20:13.000Z</CreationDate></Bucket><Bucket><Name>hw-packages</Name><CreationDate>2014-03-28T16:33:40.000Z</CreationDate></Bucket><Bucket><Name>hw-test-bucket</Name><CreationDate>2014-03-03T21:12:33.000Z</CreationDate></Bucket><Bucket><Name>hw-tmp-store</Name><CreationDate>2014-04-25T15:49:00.000Z</CreationDate></Bucket><Bucket><Name>hw-vagrant-baseboxes</Name><CreationDate>2014-03-25T17:05:06.000Z</CreationDate></Bucket><Bucket><Name>hw-xcode</Name><CreationDate>2014-03-18T16:36:23.000Z</CreationDate></Bucket><Bucket><Name>minecraft.hw-ops.com_backups</Name><CreationDate>2014-03-10T04:44:38.000Z</CreationDate></Bucket><Bucket><Name>s3hub-413592dcd47430a483c65bf9d5da73cd2e086212c2a8cd9aff537b246</Name><CreationDate>2014-05-14T21:41:23.000Z</CreationDate></Bucket><Bucket><Name>sensu-sparkle</Name><CreationDate>2014-10-17T19:11:39.000Z</CreationDate></Bucket><Bucket><Name>sensuapp.org</Name><CreationDate>2013-10-29T20:07:29.000Z</CreationDate></Bucket><Bucket><Name>tmp-stack-holder</Name><CreationDate>2014-05-20T19:12:48.000Z</CreationDate></Bucket><Bucket><Name>tmp.hw-ops.com</Name><CreationDate>2014-06-16T21:05:30.000Z</CreationDate></Bucket></Buckets></ListAllMyBucketsResult>
43
- http_version:
44
- recorded_at: Sun, 23 Nov 2014 18:54:43 GMT
45
- recorded_with: VCR 2.9.3
@@ -1,85 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://elasticloadbalancing.us-west-1.amazonaws.com/?Action=DeleteLoadBalancer&LoadBalancerName=miasma-test-load-balancer&Version=2012-06-01
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - miasma/v0.1.0
12
- Host:
13
- - elasticloadbalancing.us-west-1.amazonaws.com
14
- X-Amz-Date:
15
- - 20141116T154422Z
16
- Authorization:
17
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/elasticloadbalancing/aws4_request,
18
- SignedHeaders=host;user-agent;x-amz-date, Signature=f690c283a0b57570fd4f0c5fb2d0b0cec3614d38aa41fe11aa382764dcbf7a9b
19
- response:
20
- status:
21
- code: 200
22
- message: OK
23
- headers:
24
- X-Amzn-Requestid:
25
- - 6f8ee801-6da7-11e4-959d-a9a6fe3e0cc3
26
- Content-Type:
27
- - text/xml
28
- Content-Length:
29
- - '262'
30
- Date:
31
- - Sun, 16 Nov 2014 15:44:22 GMT
32
- body:
33
- encoding: UTF-8
34
- string: |
35
- <DeleteLoadBalancerResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
36
- <DeleteLoadBalancerResult/>
37
- <ResponseMetadata>
38
- <RequestId>6f8ee801-6da7-11e4-959d-a9a6fe3e0cc3</RequestId>
39
- </ResponseMetadata>
40
- </DeleteLoadBalancerResponse>
41
- http_version:
42
- recorded_at: Sun, 16 Nov 2014 15:44:22 GMT
43
- - request:
44
- method: get
45
- uri: https://elasticloadbalancing.us-west-1.amazonaws.com/?Action=DescribeLoadBalancers&Version=2012-06-01
46
- body:
47
- encoding: US-ASCII
48
- string: ''
49
- headers:
50
- User-Agent:
51
- - miasma/v0.1.0
52
- Host:
53
- - elasticloadbalancing.us-west-1.amazonaws.com
54
- X-Amz-Date:
55
- - 20141116T154422Z
56
- Authorization:
57
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/elasticloadbalancing/aws4_request,
58
- SignedHeaders=host;user-agent;x-amz-date, Signature=f889b3f7363372ee3edf9d10c18547c712304abffae7e59dd3573803508435e4
59
- response:
60
- status:
61
- code: 200
62
- message: OK
63
- headers:
64
- X-Amzn-Requestid:
65
- - 6fca1d2c-6da7-11e4-9397-cd8b3a4dd42e
66
- Content-Type:
67
- - text/xml
68
- Content-Length:
69
- - '335'
70
- Date:
71
- - Sun, 16 Nov 2014 15:44:22 GMT
72
- body:
73
- encoding: UTF-8
74
- string: |
75
- <DescribeLoadBalancersResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
76
- <DescribeLoadBalancersResult>
77
- <LoadBalancerDescriptions/>
78
- </DescribeLoadBalancersResult>
79
- <ResponseMetadata>
80
- <RequestId>6fca1d2c-6da7-11e4-9397-cd8b3a4dd42e</RequestId>
81
- </ResponseMetadata>
82
- </DescribeLoadBalancersResponse>
83
- http_version:
84
- recorded_at: Sun, 16 Nov 2014 15:44:23 GMT
85
- recorded_with: VCR 2.9.3
@@ -1,271 +0,0 @@
1
- ---
2
- http_interactions:
3
- - request:
4
- method: get
5
- uri: https://ec2.us-west-1.amazonaws.com/?Action=DescribeAvailabilityZones&Version=2014-06-15
6
- body:
7
- encoding: US-ASCII
8
- string: ''
9
- headers:
10
- User-Agent:
11
- - miasma/v0.1.0
12
- Host:
13
- - ec2.us-west-1.amazonaws.com
14
- X-Amz-Date:
15
- - 20141116T154420Z
16
- Authorization:
17
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/ec2/aws4_request,
18
- SignedHeaders=host;user-agent;x-amz-date, Signature=bc394e9b0ce080d66b7ec1865b0c20e06b99dad4fc964c7f3c154127cbebc513
19
- response:
20
- status:
21
- code: 200
22
- message: OK
23
- headers:
24
- Content-Type:
25
- - text/xml;charset=UTF-8
26
- Transfer-Encoding:
27
- - chunked
28
- Vary:
29
- - Accept-Encoding
30
- Date:
31
- - Sun, 16 Nov 2014 15:44:20 GMT
32
- Server:
33
- - AmazonEC2
34
- body:
35
- encoding: UTF-8
36
- string: |-
37
- <?xml version="1.0" encoding="UTF-8"?>
38
- <DescribeAvailabilityZonesResponse xmlns="http://ec2.amazonaws.com/doc/2014-06-15/">
39
- <requestId>aa7e058e-1de7-40f1-8fbf-1b347c49fea3</requestId>
40
- <availabilityZoneInfo>
41
- <item>
42
- <zoneName>us-west-1a</zoneName>
43
- <zoneState>available</zoneState>
44
- <regionName>us-west-1</regionName>
45
- <messageSet/>
46
- </item>
47
- <item>
48
- <zoneName>us-west-1c</zoneName>
49
- <zoneState>available</zoneState>
50
- <regionName>us-west-1</regionName>
51
- <messageSet/>
52
- </item>
53
- </availabilityZoneInfo>
54
- </DescribeAvailabilityZonesResponse>
55
- http_version:
56
- recorded_at: Sun, 16 Nov 2014 15:44:20 GMT
57
- - request:
58
- method: get
59
- uri: https://elasticloadbalancing.us-west-1.amazonaws.com/?Action=CreateLoadBalancer&AvailabilityZones.member.1=us-west-1a&AvailabilityZones.member.2=us-west-1c&Listeners.member.1.InstancePort=80&Listeners.member.1.InstanceProtocol=HTTP&Listeners.member.1.LoadBalancerPort=80&Listeners.member.1.Protocol=HTTP&LoadBalancerName=miasma-test-load-balancer&Version=2012-06-01
60
- body:
61
- encoding: US-ASCII
62
- string: ''
63
- headers:
64
- User-Agent:
65
- - miasma/v0.1.0
66
- Host:
67
- - elasticloadbalancing.us-west-1.amazonaws.com
68
- X-Amz-Date:
69
- - 20141116T154420Z
70
- Authorization:
71
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/elasticloadbalancing/aws4_request,
72
- SignedHeaders=host;user-agent;x-amz-date, Signature=ce6a6e83e48b55b1e6377cecf742fc2a51880d2d0d07baf999da2f3dae760733
73
- response:
74
- status:
75
- code: 200
76
- message: OK
77
- headers:
78
- X-Amzn-Requestid:
79
- - 6ea15428-6da7-11e4-b88c-a1bc33067be1
80
- Content-Type:
81
- - text/xml
82
- Content-Length:
83
- - '379'
84
- Date:
85
- - Sun, 16 Nov 2014 15:44:20 GMT
86
- body:
87
- encoding: UTF-8
88
- string: |
89
- <CreateLoadBalancerResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
90
- <CreateLoadBalancerResult>
91
- <DNSName>miasma-test-load-balancer-1682281649.us-west-1.elb.amazonaws.com</DNSName>
92
- </CreateLoadBalancerResult>
93
- <ResponseMetadata>
94
- <RequestId>6ea15428-6da7-11e4-b88c-a1bc33067be1</RequestId>
95
- </ResponseMetadata>
96
- </CreateLoadBalancerResponse>
97
- http_version:
98
- recorded_at: Sun, 16 Nov 2014 15:44:21 GMT
99
- - request:
100
- method: get
101
- uri: https://elasticloadbalancing.us-west-1.amazonaws.com/?Action=DescribeLoadBalancers&Version=2012-06-01
102
- body:
103
- encoding: US-ASCII
104
- string: ''
105
- headers:
106
- User-Agent:
107
- - miasma/v0.1.0
108
- Host:
109
- - elasticloadbalancing.us-west-1.amazonaws.com
110
- X-Amz-Date:
111
- - 20141116T154421Z
112
- Authorization:
113
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/elasticloadbalancing/aws4_request,
114
- SignedHeaders=host;user-agent;x-amz-date, Signature=6bdb10fe2a130bbf3cd5c6c9b44dd6053d5b08aaaf94e36b71471b6445416a84
115
- response:
116
- status:
117
- code: 200
118
- message: OK
119
- headers:
120
- X-Amzn-Requestid:
121
- - 6ef519e8-6da7-11e4-9397-cd8b3a4dd42e
122
- Content-Type:
123
- - text/xml
124
- Content-Length:
125
- - '2019'
126
- Date:
127
- - Sun, 16 Nov 2014 15:44:21 GMT
128
- body:
129
- encoding: UTF-8
130
- string: |
131
- <DescribeLoadBalancersResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
132
- <DescribeLoadBalancersResult>
133
- <LoadBalancerDescriptions>
134
- <member>
135
- <SecurityGroups/>
136
- <LoadBalancerName>miasma-test-load-balancer</LoadBalancerName>
137
- <CreatedTime>2014-11-16T15:44:21.230Z</CreatedTime>
138
- <HealthCheck>
139
- <Interval>30</Interval>
140
- <Target>TCP:80</Target>
141
- <HealthyThreshold>10</HealthyThreshold>
142
- <Timeout>5</Timeout>
143
- <UnhealthyThreshold>2</UnhealthyThreshold>
144
- </HealthCheck>
145
- <ListenerDescriptions>
146
- <member>
147
- <PolicyNames/>
148
- <Listener>
149
- <Protocol>HTTP</Protocol>
150
- <LoadBalancerPort>80</LoadBalancerPort>
151
- <InstanceProtocol>HTTP</InstanceProtocol>
152
- <InstancePort>80</InstancePort>
153
- </Listener>
154
- </member>
155
- </ListenerDescriptions>
156
- <Instances/>
157
- <Policies>
158
- <AppCookieStickinessPolicies/>
159
- <OtherPolicies/>
160
- <LBCookieStickinessPolicies/>
161
- </Policies>
162
- <AvailabilityZones>
163
- <member>us-west-1c</member>
164
- <member>us-west-1a</member>
165
- </AvailabilityZones>
166
- <CanonicalHostedZoneName>miasma-test-load-balancer-1682281649.us-west-1.elb.amazonaws.com</CanonicalHostedZoneName>
167
- <CanonicalHostedZoneNameID>Z1M58G0W56PQJA</CanonicalHostedZoneNameID>
168
- <Scheme>internet-facing</Scheme>
169
- <SourceSecurityGroup>
170
- <OwnerAlias>amazon-elb</OwnerAlias>
171
- <GroupName>amazon-elb-sg</GroupName>
172
- </SourceSecurityGroup>
173
- <DNSName>miasma-test-load-balancer-1682281649.us-west-1.elb.amazonaws.com</DNSName>
174
- <BackendServerDescriptions/>
175
- <Subnets/>
176
- </member>
177
- </LoadBalancerDescriptions>
178
- </DescribeLoadBalancersResult>
179
- <ResponseMetadata>
180
- <RequestId>6ef519e8-6da7-11e4-9397-cd8b3a4dd42e</RequestId>
181
- </ResponseMetadata>
182
- </DescribeLoadBalancersResponse>
183
- http_version:
184
- recorded_at: Sun, 16 Nov 2014 15:44:21 GMT
185
- - request:
186
- method: get
187
- uri: https://elasticloadbalancing.us-west-1.amazonaws.com/?Action=DescribeLoadBalancers&Version=2012-06-01
188
- body:
189
- encoding: US-ASCII
190
- string: ''
191
- headers:
192
- User-Agent:
193
- - miasma/v0.1.0
194
- Host:
195
- - elasticloadbalancing.us-west-1.amazonaws.com
196
- X-Amz-Date:
197
- - 20141116T154421Z
198
- Authorization:
199
- - AWS4-HMAC-SHA256 Credential=AKIAI6REJRIVB5PYDATQ/20141116/us-west-1/elasticloadbalancing/aws4_request,
200
- SignedHeaders=host;user-agent;x-amz-date, Signature=6bdb10fe2a130bbf3cd5c6c9b44dd6053d5b08aaaf94e36b71471b6445416a84
201
- response:
202
- status:
203
- code: 200
204
- message: OK
205
- headers:
206
- X-Amzn-Requestid:
207
- - 6f25784d-6da7-11e4-b88c-a1bc33067be1
208
- Content-Type:
209
- - text/xml
210
- Content-Length:
211
- - '2019'
212
- Date:
213
- - Sun, 16 Nov 2014 15:44:22 GMT
214
- body:
215
- encoding: UTF-8
216
- string: |
217
- <DescribeLoadBalancersResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/">
218
- <DescribeLoadBalancersResult>
219
- <LoadBalancerDescriptions>
220
- <member>
221
- <SecurityGroups/>
222
- <CreatedTime>2014-11-16T15:44:21.230Z</CreatedTime>
223
- <LoadBalancerName>miasma-test-load-balancer</LoadBalancerName>
224
- <HealthCheck>
225
- <Interval>30</Interval>
226
- <Target>TCP:80</Target>
227
- <HealthyThreshold>10</HealthyThreshold>
228
- <Timeout>5</Timeout>
229
- <UnhealthyThreshold>2</UnhealthyThreshold>
230
- </HealthCheck>
231
- <ListenerDescriptions>
232
- <member>
233
- <PolicyNames/>
234
- <Listener>
235
- <Protocol>HTTP</Protocol>
236
- <LoadBalancerPort>80</LoadBalancerPort>
237
- <InstanceProtocol>HTTP</InstanceProtocol>
238
- <InstancePort>80</InstancePort>
239
- </Listener>
240
- </member>
241
- </ListenerDescriptions>
242
- <Instances/>
243
- <Policies>
244
- <AppCookieStickinessPolicies/>
245
- <OtherPolicies/>
246
- <LBCookieStickinessPolicies/>
247
- </Policies>
248
- <AvailabilityZones>
249
- <member>us-west-1c</member>
250
- <member>us-west-1a</member>
251
- </AvailabilityZones>
252
- <CanonicalHostedZoneNameID>Z1M58G0W56PQJA</CanonicalHostedZoneNameID>
253
- <CanonicalHostedZoneName>miasma-test-load-balancer-1682281649.us-west-1.elb.amazonaws.com</CanonicalHostedZoneName>
254
- <Scheme>internet-facing</Scheme>
255
- <SourceSecurityGroup>
256
- <OwnerAlias>amazon-elb</OwnerAlias>
257
- <GroupName>amazon-elb-sg</GroupName>
258
- </SourceSecurityGroup>
259
- <DNSName>miasma-test-load-balancer-1682281649.us-west-1.elb.amazonaws.com</DNSName>
260
- <BackendServerDescriptions/>
261
- <Subnets/>
262
- </member>
263
- </LoadBalancerDescriptions>
264
- </DescribeLoadBalancersResult>
265
- <ResponseMetadata>
266
- <RequestId>6f25784d-6da7-11e4-b88c-a1bc33067be1</RequestId>
267
- </ResponseMetadata>
268
- </DescribeLoadBalancersResponse>
269
- http_version:
270
- recorded_at: Sun, 16 Nov 2014 15:44:22 GMT
271
- recorded_with: VCR 2.9.3