miasma 0.2.18 → 0.2.20

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