vagrant-aws 0.1.1 → 0.1.2

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.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # 0.1.2 (March 22, 2013)
2
+
3
+ * Choose the proper region when connecting to AWS. [GH-9]
4
+ * Configurable SSH port. [GH-13]
5
+ * Support other AWS-compatible API endpoints with `config.endpoint`
6
+ and `config.version`. [GH-6]
7
+ * Disable strict host key checking on rsync so known hosts aren't an issue. [GH-7]
8
+
1
9
  # 0.1.1 (March 18, 2013)
2
10
 
3
11
  * Up fog dependency for Vagrant 1.1.1
@@ -19,16 +19,20 @@ module VagrantPlugins
19
19
 
20
20
  # Get the configs
21
21
  region_config = env[:machine].provider_config.get_region_config(region)
22
- access_key_id = region_config.access_key_id
23
- secret_access_key = region_config.secret_access_key
22
+
23
+ # Build the fog config
24
+ fog_config = {
25
+ :provider => :aws,
26
+ :aws_access_key_id => region_config.access_key_id,
27
+ :aws_secret_access_key => region_config.secret_access_key,
28
+ :region => region
29
+ }
30
+
31
+ fog_config[:endpoint] = region_config.endpoint if region_config.endpoint
32
+ fog_config[:version] = region_config.version if region_config.version
24
33
 
25
34
  @logger.info("Connecting to AWS...")
26
- env[:aws_compute] = Fog::Compute.new({
27
- :provider => :aws,
28
- :aws_access_key_id => access_key_id,
29
- :aws_secret_access_key => secret_access_key,
30
- :region => region
31
- })
35
+ env[:aws_compute] = Fog::Compute.new(fog_config)
32
36
 
33
37
  @app.call(env)
34
38
  end
@@ -36,7 +36,7 @@ module VagrantPlugins
36
36
  # Read the DNS info
37
37
  return {
38
38
  :host => server.dns_name,
39
- :port => 22,
39
+ :port => config.ssh_port,
40
40
  :private_key_path => config.ssh_private_key_path,
41
41
  :username => config.ssh_username
42
42
  }
@@ -28,6 +28,7 @@ module VagrantPlugins
28
28
  ami = region_config.ami
29
29
  availability_zone = region_config.availability_zone
30
30
  instance_type = region_config.instance_type
31
+ ssh_port = region_config.ssh_port
31
32
  keypair = region_config.keypair_name
32
33
  private_ip_address = region_config.private_ip_address
33
34
  security_groups = region_config.security_groups
@@ -50,6 +51,7 @@ module VagrantPlugins
50
51
  env[:ui].info(" -- AMI: #{ami}")
51
52
  env[:ui].info(" -- Region: #{region}")
52
53
  env[:ui].info(" -- Availability Zone: #{availability_zone}") if availability_zone
54
+ env[:ui].info(" -- SSH Port: #{ssh_port}") if ssh_port
53
55
  env[:ui].info(" -- Keypair: #{keypair}") if keypair
54
56
  env[:ui].info(" -- Subnet ID: #{subnet_id}") if subnet_id
55
57
  env[:ui].info(" -- Private IP: #{private_ip_address}") if private_ip_address
@@ -61,6 +63,7 @@ module VagrantPlugins
61
63
  :flavor_id => instance_type,
62
64
  :image_id => ami,
63
65
  :key_name => keypair,
66
+ :ssh_port => ssh_port,
64
67
  :private_ip_address => private_ip_address,
65
68
  :subnet_id => subnet_id,
66
69
  :tags => tags
@@ -38,7 +38,7 @@ module VagrantPlugins
38
38
  # Rsync over to the guest path using the SSH info
39
39
  command = [
40
40
  "rsync", "--verbose", "--archive", "-z",
41
- "-e", "ssh -p #{ssh_info[:port]} -i '#{ssh_info[:private_key_path]}'",
41
+ "-e", "ssh -p #{ssh_info[:port]} -o StrictHostKeyChecking=no -i '#{ssh_info[:private_key_path]}'",
42
42
  hostpath,
43
43
  "#{ssh_info[:username]}@#{ssh_info[:host]}:#{guestpath}"]
44
44
 
@@ -39,6 +39,16 @@ module VagrantPlugins
39
39
  # @return [String]
40
40
  attr_accessor :region
41
41
 
42
+ # The EC2 endpoint to connect to
43
+ #
44
+ # @return [String]
45
+ attr_accessor :endpoint
46
+
47
+ # The version of the AWS api to use
48
+ #
49
+ # @return [String]
50
+ attr_accessor :version
51
+
42
52
  # The secret access key for accessing AWS.
43
53
  #
44
54
  # @return [String]
@@ -50,6 +60,11 @@ module VagrantPlugins
50
60
  # @return [Array<String>]
51
61
  attr_accessor :security_groups
52
62
 
63
+ # The SSH port used by the instance
64
+ #
65
+ # @return [int]
66
+ attr_accessor :ssh_port
67
+
53
68
  # The path to the SSH private key to use with this EC2 instance.
54
69
  # This overrides the `config.ssh.private_key_path` variable.
55
70
  #
@@ -80,8 +95,11 @@ module VagrantPlugins
80
95
  @keypair_name = UNSET_VALUE
81
96
  @private_ip_address = UNSET_VALUE
82
97
  @region = UNSET_VALUE
98
+ @endpoint = UNSET_VALUE
99
+ @version = UNSET_VALUE
83
100
  @secret_access_key = UNSET_VALUE
84
101
  @security_groups = UNSET_VALUE
102
+ @ssh_port = UNSET_VALUE
85
103
  @ssh_private_key_path = UNSET_VALUE
86
104
  @ssh_username = UNSET_VALUE
87
105
  @subnet_id = UNSET_VALUE
@@ -176,12 +194,16 @@ module VagrantPlugins
176
194
  # generally defaults to this as well.
177
195
  @region = "us-east-1" if @region == UNSET_VALUE
178
196
  @availability_zone = nil if @availability_zone == UNSET_VALUE
197
+ @endpoint = nil if @endpoint == UNSET_VALUE
198
+ @version = nil if @version == UNSET_VALUE
179
199
 
180
200
  # The security groups are empty by default.
181
201
  @security_groups = [] if @security_groups == UNSET_VALUE
182
202
 
183
203
  # The SSH values by default are nil, and the top-level config
184
204
  # `config.ssh` values are used.
205
+ # The SSH port should be 22 if left unset.
206
+ @ssh_port = 22 if @ssh_port == UNSET_VALUE
185
207
  @ssh_private_key_path = nil if @ssh_private_key_path == UNSET_VALUE
186
208
  @ssh_username = nil if @ssh_username == UNSET_VALUE
187
209
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module AWS
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-18 00:00:00.000000000 Z
12
+ date: 2013-03-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog
@@ -142,7 +142,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  segments:
144
144
  - 0
145
- hash: -3670424498424669674
145
+ hash: 1300892683038952165
146
146
  required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  none: false
148
148
  requirements: