miasma 0.2.16 → 0.2.18

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/miasma/models/storage.rb +2 -2
  4. data/lib/miasma/types/api.rb +32 -25
  5. data/lib/miasma/version.rb +1 -1
  6. data/miasma.gemspec +1 -1
  7. data/test/spec.rb +20 -0
  8. data/test/specs/cassettes/aws_buckets_all.yml +45 -0
  9. data/test/specs/cassettes/aws_load_balancer_balancer_after_destroy.yml +85 -0
  10. data/test/specs/cassettes/aws_load_balancer_balancer_before_create.yml +271 -0
  11. data/test/specs/cassettes/aws_load_balancer_balancer_direct_fetch.yml +89 -0
  12. data/test/specs/cassettes/aws_load_balancer_balancers_all.yml +45 -0
  13. data/test/specs/cassettes/aws_server_after_destroy.yml +155 -0
  14. data/test/specs/cassettes/aws_server_before_create.yml +470 -0
  15. data/test/specs/cassettes/aws_servers_all.yml +44 -0
  16. data/test/specs/cassettes/aws_servers_create.yml +824 -0
  17. data/test/specs/cassettes/aws_stack_create.yml +603 -0
  18. data/test/specs/cassettes/aws_stacks_after_destroy.yml +148 -0
  19. data/test/specs/cassettes/aws_stacks_all.yml +99 -0
  20. data/test/specs/cassettes/aws_stacks_before_create.yml +300 -0
  21. data/test/specs/cassettes/aws_stacks_direct_fetch.yml +108 -0
  22. data/test/specs/cassettes/aws_storage_bucket.yml +429 -0
  23. data/test/specs/cassettes/open_stack_server_after_destroy.yml +83 -0
  24. data/test/specs/cassettes/open_stack_server_before_create.yml +138 -0
  25. data/test/specs/cassettes/open_stack_servers_all.yml +34 -0
  26. data/test/specs/cassettes/open_stack_servers_create.yml +296 -0
  27. data/test/specs/cassettes/open_stack_stack_create.yml +338 -0
  28. data/test/specs/cassettes/open_stack_stacks_after_destroy.yml +73 -0
  29. data/test/specs/cassettes/open_stack_stacks_all.yml +34 -0
  30. data/test/specs/cassettes/open_stack_stacks_before_create.yml +227 -0
  31. data/test/specs/cassettes/open_stack_stacks_direct_fetch.yml +39 -0
  32. data/test/specs/cassettes/rackspace_identity_seed.yml +38 -0
  33. data/test/specs/cassettes/rackspace_server_after_destroy.yml +88 -0
  34. data/test/specs/cassettes/rackspace_server_before_create.yml +143 -0
  35. data/test/specs/cassettes/rackspace_servers_create.yml +313 -0
  36. data/test/specs/cassettes/rackspace_stack_create.yml +289 -0
  37. data/test/specs/cassettes/rackspace_stacks_after_destroy.yml +79 -0
  38. data/test/specs/cassettes/rackspace_stacks_all.yml +81 -0
  39. data/test/specs/cassettes/rackspace_stacks_before_create.yml +211 -0
  40. data/test/specs/cassettes/rackspace_stacks_direct_fetch.yml +38 -0
  41. data/test/specs/miasma_spec.rb +33 -0
  42. data/test/specs/models/compute_abstract.rb +118 -0
  43. data/test/specs/models/load_balancer_abstract.rb +88 -0
  44. data/test/specs/models/orchestration_abstract.rb +123 -0
  45. data/test/specs/models/storage_abstract.rb +120 -0
  46. data/test/specs/utils/animal_strings_spec.rb +15 -0
  47. data/test/specs/utils/memoization_spec.rb +83 -0
  48. data/test/specs/utils/smash_spec.rb +107 -0
  49. metadata +44 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41b7c30c7e913e69f6fc0e9e896c5385e95dcdbd
4
- data.tar.gz: 96ffd5aea9c6a9f505ad70dee5817b5863d9d412
3
+ metadata.gz: 08b5ec54e6c99fa19d7db794ebe57a0e65f7c4d9
4
+ data.tar.gz: 52a70279a5454564643da47b0e9907d109f1dcfa
5
5
  SHA512:
6
- metadata.gz: b4e0fd3e0e1beb4d8977452b8858681b557dc66f2854a9b19c66911b397d0a82edf51ca8d54da5da46902be43e6b4745a6da14581e786c208e4d083a99a131d9
7
- data.tar.gz: b1f785ecc418a88787ae2f5f88c7631e5b92dd521750d2bbdaac77edfcd43819c588db42a43f5e4728f427a5d5cd0c9a6332e045b643164764218adc057a6d06
6
+ metadata.gz: d3866076b6205fb31c4959ced35c0c1bc2ca50d0b0c83a93a01fabab4b767bdd0e3d9e6049b4d37743e6a5fab93fb0fc951e0faaaf61c8997630e8de97fd62d9
7
+ data.tar.gz: bdd1b65c2713acc7a9055c35ce31592041f6e56f88df87e4ff72d0814ecdbc8aa937ddfc334f0f2c88a8b63bd7b253ef35e01f84c360a36c2dcd17134ee54133
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # v0.2.18
2
+ * Fix constant name used for retry interval (#9)
3
+ * Provide better automatic conversion of response body
4
+ * Update size limits for storage files
5
+
1
6
  # v0.2.16
2
7
  * Add `:unknown` as allowed state value for orchestration stacks
3
8
  * Add load balancer attribute for instance states
@@ -6,9 +6,9 @@ module Miasma
6
6
  class Storage < Types::Api
7
7
 
8
8
  # @return [Integer] max bytes allowed for storing body in string
9
- MAX_BODY_SIZE_FOR_STRINGIFY = 102400
9
+ MAX_BODY_SIZE_FOR_STRINGIFY = (1024**2) * 10
10
10
  # @return [Integer] chunking size for reading IO
11
- READ_BODY_CHUNK_SIZE = 102400
11
+ READ_BODY_CHUNK_SIZE = (1024**2) * 5
12
12
 
13
13
  autoload :Buckets, 'miasma/models/storage/buckets'
14
14
  autoload :Bucket, 'miasma/models/storage/bucket'
@@ -123,7 +123,7 @@ module Miasma
123
123
  rescue => e
124
124
  if(attempts && attempts < MAX_REQUEST_RETRIES)
125
125
  attempts += 1
126
- sleep RETRY_REQUEST_DELAY
126
+ sleep REQUEST_RETRY_DELAY
127
127
  retry
128
128
  else
129
129
  raise
@@ -152,32 +152,15 @@ module Miasma
152
152
  def format_response(result, extract_body=true)
153
153
  extracted_headers = Smash[result.headers.map{|k,v| [Utils.snake(k), v]}]
154
154
  if(extract_body)
155
+ body_content = result.body.to_s
155
156
  if(extracted_headers[:content_type].to_s.include?('json'))
156
- begin
157
- extracted_body = MultiJson.load(result.body.to_s)
158
- if(extracted_body.respond_to?(:to_smash))
159
- extracted_body = extracted_body.to_smash
160
- elsif(extracted_body.respond_to?(:map!))
161
- extracted_body.map! do |i|
162
- i.respond_to?(:to_smash) ? i.to_smash : i
163
- end
164
- end
165
- rescue MultiJson::ParseError
166
- extracted_body = result.body.to_s
167
- end
157
+ extracted_body = from_json(body_content) || body_content
168
158
  elsif(extracted_headers[:content_type].to_s.include?('xml'))
169
- begin
170
- extracted_body = MultiXml.parse(result.body.to_s)
171
- if(extracted_body.respond_to?(:to_smash))
172
- extracted_body = extracted_body.to_smash
173
- elsif(extracted_body.respond_to?(:map!))
174
- extracted_body.map! do |i|
175
- i.respond_to?(:to_smash) ? i.to_smash : i
176
- end
177
- end
178
- rescue MultiXml::ParseError
179
- extracted_body = result.body.to_s
180
- end
159
+ extracted_body = from_xml(body_content) || body_content
160
+ else
161
+ extracted_body = from_json(body_content) ||
162
+ from_xml(body_content) ||
163
+ body_content
181
164
  end
182
165
  end
183
166
  unless(extracted_body)
@@ -195,6 +178,30 @@ module Miasma
195
178
  )
196
179
  end
197
180
 
181
+ # Convert from JSON
182
+ #
183
+ # @param string [String]
184
+ # @return [Hash, Array, NilClass]
185
+ def from_json(string)
186
+ begin
187
+ MultiJson.load(string).to_smash
188
+ rescue MultiJson::ParseError
189
+ nil
190
+ end
191
+ end
192
+
193
+ # Convert from JSON
194
+ #
195
+ # @param string [String]
196
+ # @return [Hash, Array, NilClass]
197
+ def from_xml(string)
198
+ begin
199
+ MultiXml.parse(string).to_smash
200
+ rescue MultiXml::ParseError
201
+ nil
202
+ end
203
+ end
204
+
198
205
  end
199
206
 
200
207
  end
@@ -1,4 +1,4 @@
1
1
  module Miasma
2
2
  # current library version
3
- VERSION = Gem::Version.new('0.2.16')
3
+ VERSION = Gem::Version.new('0.2.18')
4
4
  end
data/miasma.gemspec CHANGED
@@ -25,5 +25,5 @@ Gem::Specification.new do |s|
25
25
  s.add_development_dependency 'minitest'
26
26
  s.add_development_dependency 'vcr'
27
27
  s.add_development_dependency 'webmock'
28
- s.files = Dir['lib/**/*'] + %w(miasma.gemspec README.md CHANGELOG.md LICENSE)
28
+ s.files = Dir['{bin,lib,test}/**/*'] + %w(miasma.gemspec README.md CHANGELOG.md LICENSE)
29
29
  end
data/test/spec.rb ADDED
@@ -0,0 +1,20 @@
1
+ require 'vcr'
2
+ require 'webmock/minitest'
3
+ require 'minitest/autorun'
4
+
5
+ require 'miasma'
6
+
7
+ spec_dir = File.join(File.dirname(__FILE__), 'specs')
8
+
9
+ Dir.glob(File.join(spec_dir, 'models', '*.rb')).each do |path|
10
+ require File.expand_path(path)
11
+ end
12
+
13
+ Dir.glob(File.join(spec_dir, '**/**/*_spec.rb')).each do |path|
14
+ require File.expand_path(path)
15
+ end
16
+
17
+ VCR.configure do |c|
18
+ c.cassette_library_dir = File.join(spec_dir, 'cassettes')
19
+ c.hook_into :webmock
20
+ end
@@ -0,0 +1,45 @@
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
@@ -0,0 +1,85 @@
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
@@ -0,0 +1,271 @@
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