vagrant-vcloud 0.4.4 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,6 +27,12 @@ module VagrantPlugins
27
27
  class ComposeVAppError < VCloudError
28
28
  error_key(:compose_vapp_error)
29
29
  end
30
+ class ModifyVAppError < VCloudError
31
+ error_key(:modify_vapp_error)
32
+ end
33
+ class PoweronVAppError < VCloudError
34
+ error_key(:poweron_vapp_error)
35
+ end
30
36
  class InvalidNetSpecification < VCloudError
31
37
  error_key(:invalid_network_specification)
32
38
  end
@@ -39,10 +39,33 @@ module VagrantPlugins
39
39
  # @return [Integer]
40
40
  attr_reader :host_port
41
41
 
42
- def initialize(id, host_port, guest_port, options)
43
- @id = id
44
- @guest_port = guest_port
45
- @host_port = host_port
42
+ # The network name to forward from.
43
+ #
44
+ # @return [String]
45
+ attr_reader :network_name
46
+
47
+ # The network name to forward to.
48
+ #
49
+ # @return [String]
50
+ attr_reader :edge_network_name
51
+
52
+ # The id of the parent network.
53
+ #
54
+ # @return [String]
55
+ attr_reader :edge_network_id
56
+
57
+ # The id of the vm nic.
58
+ #
59
+ # @return [Integer]
60
+ attr_reader :vmnic_id
61
+
62
+ def initialize(id, host_port, guest_port, network_name, edge_network_id, edge_network_name, options)
63
+ @id = id
64
+ @guest_port = guest_port
65
+ @host_port = host_port
66
+ @network_name = network_name
67
+ @edge_network_id = edge_network_id
68
+ @edge_network_name = edge_network_name
46
69
 
47
70
  options ||= {}
48
71
  @auto_correct = false
@@ -52,6 +75,7 @@ module VagrantPlugins
52
75
  @guest_ip = options[:guest_ip] || nil
53
76
  @host_ip = options[:host_ip] || nil
54
77
  @protocol = options[:protocol] || 'tcp'
78
+ @vmnic_id = options[:vmnic_id] || 0
55
79
  end
56
80
 
57
81
  # This corrects the host port and changes it to the given new port.
@@ -8,10 +8,10 @@ module VagrantPlugins
8
8
 
9
9
  # This method compiles the forwarded ports into {ForwardedPort}
10
10
  # models.
11
- def compile_forwarded_ports(config)
11
+ def compile_forwarded_ports(machine)
12
12
  mappings = {}
13
13
 
14
- config.vm.networks.each do |type, options|
14
+ machine.config.vm.networks.each do |type, options|
15
15
  if type == :forwarded_port
16
16
  guest_port = options[:guest]
17
17
  host_port = options[:host]
@@ -21,8 +21,49 @@ module VagrantPlugins
21
21
  # skip forwarded rules already found in handle_nat_port_collisions
22
22
  next if options[:already_exists]
23
23
 
24
+ # skip forwarded rules if disabled
25
+ next if !options[:disabled].nil? && options[:disabled] == true
26
+
24
27
  mappings[host_port] =
25
- Model::ForwardedPort.new(id, host_port, guest_port, options)
28
+ Model::ForwardedPort.new(id, host_port, guest_port, 'Vagrant-vApp-Net', machine.provider_config.vdc_network_id, machine.provider_config.vdc_network_name, options)
29
+ end
30
+ end
31
+ if !machine.provider_config.nics.nil?
32
+ machine.provider_config.nics.each do |nic|
33
+ next if nic[:forwarded_port].nil?
34
+ nic[:forwarded_port].each do |fp|
35
+ options = fp
36
+
37
+ guest_port = options[:guest]
38
+ host_port = options[:host]
39
+ options = scoped_hash_override(options, :vcloud)
40
+ id = options[:id]
41
+
42
+ # skip forwarded rules already found in handle_nat_port_collisions
43
+ next if options[:already_exists]
44
+
45
+ # skip forwarded rules if disabled
46
+ next if !options[:disabled].nil? && options[:disabled] == true
47
+
48
+ # find matching network
49
+ edge_id = nil
50
+ edge_name = nil
51
+ if !machine.provider_config.networks.nil? && !machine.provider_config.networks[:vapp].nil?
52
+ machine.provider_config.networks[:vapp].each do |net|
53
+ next if net[:name] != nic[:network]
54
+ edge_id = net[:parent_network]
55
+ edge_name = net[:vdc_network_name]
56
+ break
57
+ end
58
+ end
59
+ if edge_id == nil || edge_name == nil
60
+ edge_id = machine.provider_config.vdc_network_id
61
+ edge_name = machine.provider_config.vdc_network_name
62
+ end
63
+
64
+ mappings[host_port] = Model::ForwardedPort.new(id, host_port, guest_port, nic[:network], edge_id, edge_name, options)
65
+
66
+ end
26
67
  end
27
68
  end
28
69
 
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module VCloud
3
- VERSION = '0.4.4'
3
+ VERSION = '0.4.6'
4
4
  end
5
5
  end
data/locales/en.yml CHANGED
@@ -24,6 +24,7 @@ en:
24
24
  template: "Configuration must specify a template name"
25
25
  username: "Configuration must specify a vCloud Director username"
26
26
  vdc_name: "Configuration must specify a vCloud Director Virtual Datacenter (Target Organization VDC)"
27
+ vdc_network_name: "Configuration must specify a vCloud Director vDC network name"
27
28
  errors:
28
29
  missing_compute_resource: "Configured compute resource not found"
29
30
  missing_datacenter: "Configured data center not found"
@@ -35,6 +36,8 @@ en:
35
36
  invalid_network_specification: "Wrong Network specification in the Vagrantfile, make sure you have access to the specified network."
36
37
  stop_vapp_error: "Impossible to stop vApp, could be a transient error, please try again, error: %{message}"
37
38
  compose_vapp_error: "Impossible to compose a vApp, error: %{message}"
39
+ modify_vapp_error: "Unable to modify vApp, error: %{message}"
40
+ poweron_vapp_error: "Unable to power on vApp, error: %{message}"
38
41
  forward_port_collision: "Port collision detected, change it in the Vagrantfile or add auto_correct: true. %{guest_port} => %{host_port}"
39
42
  rest_errors:
40
43
  object_not_found: "Object not found in vCloud Director"
@@ -59,7 +62,17 @@ en:
59
62
 
60
63
  Host path: %{hostpath}
61
64
  Error: %{err}
62
-
65
+ gc:
66
+ admin_password: "Guest customization must be enabled to generate/specify password"
67
+ admin_password_gs: "Admin assword must be auto generated or secified"
68
+ admin_password_reset: "Guest customization must be enabled to require password reset"
69
+ auto_login: "Allow admin password is required to enable auto login"
70
+ auto_login_count: "Auto login count must be between 1 and 100"
71
+ auto_login_count_req: "Auto login count is required, if auto login is enabled"
72
+ change_sid: "Guest customization must be enabled to change the SID"
73
+ domain: "Change SID mst be enabled to join to a domain"
74
+ domain_join: "Joining a domain requires domain name, domain user, and domain password"
75
+ script: "Guest customization must be enabled to run a script"
63
76
  states:
64
77
  not_created: |-
65
78
  The environment has not yet been created. Run `vagrant up` to
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-vcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fabio Rapposelli
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-28 00:00:00.000000000 Z
12
+ date: 2016-12-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: i18n
@@ -223,6 +223,7 @@ files:
223
223
  - lib/vagrant-vcloud/action/read_ssh_info.rb
224
224
  - lib/vagrant-vcloud/action/read_state.rb
225
225
  - lib/vagrant-vcloud/action/resume.rb
226
+ - lib/vagrant-vcloud/action/shut_down.rb
226
227
  - lib/vagrant-vcloud/action/suspend.rb
227
228
  - lib/vagrant-vcloud/action/sync_folders.rb
228
229
  - lib/vagrant-vcloud/action/unmap_port_forwardings.rb
@@ -263,7 +264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
264
  version: '0'
264
265
  requirements: []
265
266
  rubyforge_project:
266
- rubygems_version: 2.0.14
267
+ rubygems_version: 2.5.2
267
268
  signing_key:
268
269
  specification_version: 4
269
270
  summary: VMware vCloud Director® provider