miasma 0.2.16 → 0.2.18

Sign up to get free protection for your applications and to get access to all the features.
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