chef-provisioning-aws 0.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d4f9c82b6a8923c933077a7055cc31c083291527
4
- data.tar.gz: 886d034e57402dacb17d143c1e18e9bb94129a99
3
+ metadata.gz: a417bfb510b60aceeac847e46aae75bb45e95f2e
4
+ data.tar.gz: 553832588205c18911e9093b6377f65d8c5736f9
5
5
  SHA512:
6
- metadata.gz: 21596d7e34ff111450d05400eb681844bf8321a1721d409020c5ab7227591f333ff9eb9799b8f4b98526a888a75b5ba066e66026226787c0546477aa7873d65f
7
- data.tar.gz: d32aa0894bb97de809bc3bea3ba855c1820cb2aca2208e3a1276b1c00d83ce90ad689cc05b4be90706b3f49c2788e015834c455e7c8ad2bd5d85d8a73deea0b9
6
+ metadata.gz: 959abe2a3e9b4907bf5dedbc4ef91251dd76db537045564add148c099a954e50307d723c71f845f508a3803ad3cdee41f3f91a393d4ad4dc4cace0fd4e7aa8d9
7
+ data.tar.gz: cdf01038f21b40cd6e728dcec4dc6182774b9e8c706c4d35c8d5e12dda89a0d66cf248ebc93cee6298181e4dff89c51d5ceb95f9b3cfae20b0983eab07625147
@@ -15,6 +15,7 @@ require 'chef/provisioning/aws_driver/credentials'
15
15
 
16
16
  require 'yaml'
17
17
  require 'aws-sdk-v1'
18
+
18
19
  # loads the entire aws-sdk
19
20
  AWS.eager_autoload!
20
21
 
@@ -58,17 +59,20 @@ module AWSDriver
58
59
 
59
60
  # Load balancer methods
60
61
  def allocate_load_balancer(action_handler, lb_spec, lb_options, machine_specs)
61
- security_group_name = lb_options[:security_group_name] || 'default'
62
- security_group_id = lb_options[:security_group_id]
63
-
64
- security_group = if security_group_id.nil?
65
- ec2.security_groups.filter('group-name', security_group_name).first
66
- else
67
- ec2.security_groups[security_group_id]
68
- end
62
+ if lb_options[:security_group_id]
63
+ security_group = ec2.security_groups[:security_group_id]
64
+ elsif lb_options[:security_group_name]
65
+ security_group = ec2.security_groups.filter('group-name', lb_options[:security_group_name])
66
+ end
67
+
69
68
  availability_zones = lb_options[:availability_zones]
70
69
  listeners = lb_options[:listeners]
71
70
 
71
+ lb_optionals = {}
72
+ lb_optionals[:security_groups] = [security_group] if security_group
73
+ lb_optionals[:availability_zones] = availability_zones if availability_zones
74
+ lb_optionals[:listeners] = listeners if listeners
75
+
72
76
  actual_elb = load_balancer_for(lb_spec)
73
77
  if !actual_elb.exists?
74
78
  perform_action = proc { |desc, &block| action_handler.perform_action(desc, &block) }
@@ -79,10 +83,7 @@ module AWSDriver
79
83
  updates << " with security group #{security_group.name}" if security_group
80
84
 
81
85
  action_handler.perform_action updates do
82
- actual_elb = elb.load_balancers.create(lb_spec.name,
83
- availability_zones: availability_zones,
84
- listeners: listeners,
85
- security_groups: [security_group])
86
+ actual_elb = elb.load_balancers.create(lb_spec.name, lb_optionals)
86
87
 
87
88
  lb_spec.location = {
88
89
  'driver_url' => driver_url,
@@ -322,9 +323,9 @@ module AWSDriver
322
323
  end
323
324
  end
324
325
  wait_until_ready_machine(action_handler, machine_spec, instance)
325
- wait_for_transport(action_handler, machine_spec, machine_options)
326
326
  end
327
327
 
328
+ wait_for_transport(action_handler, machine_spec, machine_options)
328
329
  machine_for(machine_spec, machine_options, instance)
329
330
  end
330
331
 
@@ -530,12 +531,12 @@ module AWSDriver
530
531
 
531
532
  def ssh_options_for(machine_spec, machine_options, instance)
532
533
  result = {
533
- # TODO create a user known hosts file
534
- # :user_known_hosts_file => vagrant_ssh_config['UserKnownHostsFile'],
535
- # :paranoid => true,
536
- :auth_methods => [ 'publickey' ],
537
- :keys_only => true,
538
- :host_key_alias => "#{instance.id}.AWS"
534
+ # TODO create a user known hosts file
535
+ # :user_known_hosts_file => vagrant_ssh_config['UserKnownHostsFile'],
536
+ # :paranoid => true,
537
+ :auth_methods => [ 'publickey' ],
538
+ :keys_only => true,
539
+ :host_key_alias => "#{instance.id}.AWS"
539
540
  }.merge(machine_options[:ssh_options] || {})
540
541
  if instance.respond_to?(:private_key) && instance.private_key
541
542
  result[:key_data] = [ instance.private_key ]
@@ -1,7 +1,7 @@
1
1
  class Chef
2
2
  module Provisioning
3
3
  module AWSDriver
4
- VERSION = '0.2'
4
+ VERSION = '0.2.1'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-provisioning-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Ewart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-27 00:00:00.000000000 Z
11
+ date: 2015-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef