knife-vcenter 2.1.0 → 5.0.0

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
  SHA256:
3
- metadata.gz: 433d6065abe6b2ffa6e0a81008ddfb053b89553009c54f9889e60af443992b2d
4
- data.tar.gz: 3ec33019ad02c1fdc93684d1d7ff56c7e577950194bbfdde3bb6233af133c722
3
+ metadata.gz: 623c199e59de931af1b1f631c4e2179cf3d2edfc5ba53366b3ed1060fc186759
4
+ data.tar.gz: 354d21619fbbbc382007fabaa6bcbc462d579ecb27d6d47f132d85f39ff79a9e
5
5
  SHA512:
6
- metadata.gz: 0c1c84205ac005b1b71b5d7c263cc5460252f4f7675b05466fbd179f3a622534630788595fa91f22e4dc3b6040e55b6d13ab15a3be9f6eaa837f9aba3c395f98
7
- data.tar.gz: 58a58f37c10265e61b592b2c6ef7f6a3e267a83125cc8aea2e8c29e1802e093657607591291120d2803f870262d1137192b7178f8109bef881f12418c6e9be37
6
+ metadata.gz: 00ba3056b9745793ff226fc7b4f452fa2dc288b71221515972d030435b2170147e5a13612c20d308e5ef91d3ea372f577a61c130fde94e6bbd257ccece6dce59
7
+ data.tar.gz: 8461ae70e178bae44c55a2dbfb4669e47942a191ab36c8c77ba5d21dc42455c03ba52879bd83bbf31b2269bb5a7d01a7fab1232fbf22bd255a8812b40445c7be
@@ -20,8 +20,8 @@
20
20
  require "chef/knife/cloud/exceptions"
21
21
  require "chef/knife/cloud/service"
22
22
  require "chef/knife/cloud/helpers"
23
- require "chef/knife/cloud/vcenter_service_helpers"
24
- require "support/clone_vm"
23
+ require_relative "vcenter_service_helpers"
24
+ require_relative "../../../support/clone_vm"
25
25
  require "uri"
26
26
  require "json"
27
27
  require "ostruct"
@@ -104,7 +104,7 @@ class Chef
104
104
  @ipaddress = clone_obj.clone
105
105
 
106
106
  # return an object from the restapi
107
- return get_server(options[:name])
107
+ get_server(options[:name])
108
108
 
109
109
  when "create"
110
110
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
3
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
4
- # Copyright:: Copyright (c) 2017-2018 Chef Software, Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -31,16 +31,16 @@ class Chef
31
31
  # Creates the object for vCenterService
32
32
  #
33
33
  def create_service_instance
34
- Chef::Knife::Cloud::VcenterService.new(username: locate_config_value(:vcenter_username),
35
- password: locate_config_value(:vcenter_password),
36
- host: locate_config_value(:vcenter_host),
34
+ Chef::Knife::Cloud::VcenterService.new(username: config[:vcenter_username],
35
+ password: config[:vcenter_password],
36
+ host: config[:vcenter_host],
37
37
  verify_ssl: verify_ssl?)
38
38
  end
39
39
 
40
40
  # Do we have valid SSL?
41
41
  #
42
42
  def verify_ssl?
43
- !locate_config_value(:vcenter_disable_ssl_verify)
43
+ !config[:vcenter_disable_ssl_verify]
44
44
  end
45
45
 
46
46
  # Validate the options and fail out if something isn't there
@@ -54,7 +54,7 @@ class Chef
54
54
  #
55
55
  # @param [Object] keys makes sure that the values are all not nil
56
56
  def check_for_missing_config_values!(*keys)
57
- missing = keys.select { |x| locate_config_value(x).nil? }
57
+ missing = keys.select { |x| config[x].nil? }
58
58
 
59
59
  unless missing.empty?
60
60
  ui.error(format("The following required parameters are missing: %s", missing.join(", ")))
@@ -19,20 +19,22 @@
19
19
 
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/list_resource_command"
22
- require "chef/knife/cloud/vcenter_service"
23
- require "chef/knife/cloud/vcenter_service_helpers"
24
- require "chef/knife/cloud/vcenter_service_options"
22
+ require_relative "cloud/vcenter_service_options"
25
23
 
26
24
  class Chef
27
25
  class Knife
28
26
  class Cloud
29
27
  # Extends ResourceListcommand to talk to vCenter
30
28
  class VcenterClusterList < ResourceListCommand
31
- include VcenterServiceHelpers
32
29
  include VcenterServiceOptions
33
30
 
34
31
  banner "knife vcenter cluster list"
35
32
 
33
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
34
+ deps do
35
+ require_relative "cloud/vcenter_service"
36
+ end
37
+
36
38
  # Creates the columns and how to sort the columns
37
39
  #
38
40
  def before_exec_command
@@ -19,9 +19,7 @@
19
19
 
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/list_resource_command"
22
- require "chef/knife/cloud/vcenter_service"
23
- require "chef/knife/cloud/vcenter_service_helpers"
24
- require "chef/knife/cloud/vcenter_service_options"
22
+ require_relative "cloud/vcenter_service_options"
25
23
 
26
24
  class Chef
27
25
  # The main knife class
@@ -30,11 +28,15 @@ class Chef
30
28
  class Cloud
31
29
  # Extends the ResourceListCommand for specific vCenter
32
30
  class VcenterDatacenterList < ResourceListCommand
33
- include VcenterServiceHelpers
34
31
  include VcenterServiceOptions
35
32
 
36
33
  banner "knife vcenter datacenter list"
37
34
 
35
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
36
+ deps do
37
+ require_relative "cloud/vcenter_service"
38
+ end
39
+
38
40
  # Sets up the columns for listing out and sorts by name
39
41
  #
40
42
  def before_exec_command
@@ -19,9 +19,7 @@
19
19
 
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/list_resource_command"
22
- require "chef/knife/cloud/vcenter_service"
23
- require "chef/knife/cloud/vcenter_service_helpers"
24
- require "chef/knife/cloud/vcenter_service_options"
22
+ require_relative "cloud/vcenter_service_options"
25
23
 
26
24
  class Chef
27
25
  # Main knife class
@@ -30,11 +28,15 @@ class Chef
30
28
  class Cloud
31
29
  # Extends the ResourceListcommand for specific vCenter
32
30
  class VcenterHostList < ResourceListCommand
33
- include VcenterServiceHelpers
34
31
  include VcenterServiceOptions
35
32
 
36
33
  banner "knife vcenter host list"
37
34
 
35
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
36
+ deps do
37
+ require_relative "cloud/vcenter_service"
38
+ end
39
+
38
40
  # Sets up the columns for listing out and sorts by name
39
41
  #
40
42
  def before_exec_command
@@ -2,7 +2,7 @@
2
2
 
3
3
  #
4
4
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
5
- # Copyright:: Copyright (c) 2017-2018 Chef Software, Inc.
5
+ # Copyright:: Copyright (c) Chef Software Inc.
6
6
  # License:: Apache License, Version 2.0
7
7
  #
8
8
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,9 +21,7 @@
21
21
  require "chef/knife"
22
22
  require "chef/knife/cloud/server/create_command"
23
23
  require "chef/knife/cloud/server/create_options"
24
- require "chef/knife/cloud/vcenter_service"
25
- require "chef/knife/cloud/vcenter_service_helpers"
26
- require "chef/knife/cloud/vcenter_service_options"
24
+ require_relative "cloud/vcenter_service_options"
27
25
 
28
26
  class Chef
29
27
  # The main knife class
@@ -32,12 +30,16 @@ class Chef
32
30
  class Cloud
33
31
  # Extends the ServerCreateCommand for specific vCenter
34
32
  class VcenterVmClone < Chef::Knife::Cloud::ServerCreateCommand
35
- include VcenterServiceHelpers
36
33
  include VcenterServiceOptions
37
34
  include ServerCreateOptions
38
35
 
39
36
  banner "knife vcenter vm clone NAME (options)"
40
37
 
38
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
39
+ deps do
40
+ require_relative "cloud/vcenter_service"
41
+ end
42
+
41
43
  option :template,
42
44
  long: "--template NAME",
43
45
  description: "Name of VM or template to use to clone machine from"
@@ -87,12 +89,12 @@ class Chef
87
89
  @create_options = {
88
90
  name: @name_args[0],
89
91
  type: "clone",
90
- template: locate_config_value(:template),
91
- targethost: locate_config_value(:targethost),
92
- datacenter: locate_config_value(:datacenter),
93
- poweron: !locate_config_value(:disable_power_on),
94
- folder: locate_config_value(:folder),
95
- resource_pool: locate_config_value(:pool),
92
+ template: config[:template],
93
+ targethost: config[:targethost],
94
+ datacenter: config[:datacenter],
95
+ poweron: !config[:disable_power_on],
96
+ folder: config[:folder],
97
+ resource_pool: config[:pool],
96
98
  }
97
99
  end
98
100
 
@@ -101,7 +103,7 @@ class Chef
101
103
  def before_bootstrap
102
104
  super
103
105
 
104
- config[:chef_node_name] = locate_config_value(:chef_node_name) || server.name
106
+ config[:chef_node_name] = config[:chef_node_name] || server.name
105
107
 
106
108
  config[:bootstrap_ip_address] = hostname_for_server
107
109
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
3
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
4
- # Copyright:: Copyright (c) 2017-2018 Chef Software, Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,9 +20,7 @@
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/server/create_command"
22
22
  require "chef/knife/cloud/server/create_options"
23
- require "chef/knife/cloud/vcenter_service"
24
- require "chef/knife/cloud/vcenter_service_helpers"
25
- require "chef/knife/cloud/vcenter_service_options"
23
+ require_relative "cloud/vcenter_service_options"
26
24
 
27
25
  class Chef
28
26
  # The main knife class
@@ -31,12 +29,16 @@ class Chef
31
29
  class Cloud
32
30
  # Extends the ServerCreateCommand for specific vCenter
33
31
  class VcenterVmCreate < Chef::Knife::Cloud::ServerCreateCommand
34
- include VcenterServiceHelpers
35
32
  include VcenterServiceOptions
36
33
  include ServerCreateOptions
37
34
 
38
35
  banner "knife vcenter vm create NAME"
39
36
 
37
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
38
+ deps do
39
+ require_relative "cloud/vcenter_service"
40
+ end
41
+
40
42
  option :targethost,
41
43
  long: "--targethost HOST",
42
44
  description: "vCenter host on which the new VM should be created"
@@ -73,10 +75,10 @@ class Chef
73
75
  @create_options = {
74
76
  name: @name_args[0],
75
77
  type: "create",
76
- targethost: locate_config_value(:targethost),
77
- folder: locate_config_value(:folder),
78
- datastore: locate_config_value(:datastore),
79
- resource_pool: locate_config_value(:resource_pool),
78
+ targethost: config[:targethost],
79
+ folder: config[:folder],
80
+ datastore: config[:datastore],
81
+ resource_pool: config[:resource_pool],
80
82
  }
81
83
 
82
84
  puts @create_options
@@ -20,9 +20,7 @@
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/server/delete_options"
22
22
  require "chef/knife/cloud/server/delete_command"
23
- require "chef/knife/cloud/vcenter_service"
24
- require "chef/knife/cloud/vcenter_service_helpers"
25
- require "chef/knife/cloud/vcenter_service_options"
23
+ require_relative "cloud/vcenter_service_options"
26
24
 
27
25
  class Chef
28
26
  class Knife
@@ -31,10 +29,14 @@ class Chef
31
29
  class VcenterVmDelete < ServerDeleteCommand
32
30
  include ServerDeleteOptions
33
31
  include VcenterServiceOptions
34
- include VcenterServiceHelpers
35
32
 
36
33
  banner "knife vcenter vm delete NAME [NAME] (options)"
37
34
 
35
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
36
+ deps do
37
+ require_relative "cloud/vcenter_service"
38
+ end
39
+
38
40
  # rubocop:disable Style/GuardClause
39
41
  # Validates the parameters to make sure we're good.
40
42
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
3
  # Author:: Chef Partner Engineering (<partnereng@chef.io>)
4
- # Copyright:: Copyright (c) 2017-2018 Chef Software, Inc.
4
+ # Copyright:: Copyright (c) Chef Software Inc.
5
5
  # License:: Apache License, Version 2.0
6
6
  #
7
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,9 +20,7 @@
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/server/list_command"
22
22
  require "chef/knife/cloud/server/list_options"
23
- require "chef/knife/cloud/vcenter_service"
24
- require "chef/knife/cloud/vcenter_service_helpers"
25
- require "chef/knife/cloud/vcenter_service_options"
23
+ require_relative "cloud/vcenter_service_options"
26
24
 
27
25
  class Chef
28
26
  # The main knife class
@@ -31,11 +29,15 @@ class Chef
31
29
  class Cloud
32
30
  # Extends the ServerListCommand for specific vCenter
33
31
  class VcenterVmList < Chef::Knife::Cloud::ServerListCommand
34
- include VcenterServiceHelpers
35
32
  include VcenterServiceOptions
36
33
 
37
34
  banner "knife vcenter vm list"
38
35
 
36
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
37
+ deps do
38
+ require_relative "cloud/vcenter_service"
39
+ end
40
+
39
41
  # Sets up the columns for listing out and sorts by name
40
42
  #
41
43
  def before_exec_command
@@ -20,9 +20,7 @@
20
20
  require "chef/knife"
21
21
  require "chef/knife/cloud/server/show_options"
22
22
  require "chef/knife/cloud/server/show_command"
23
- require "chef/knife/cloud/vcenter_service"
24
- require "chef/knife/cloud/vcenter_service_helpers"
25
- require "chef/knife/cloud/vcenter_service_options"
23
+ require_relative "cloud/vcenter_service_options"
26
24
 
27
25
  class Chef
28
26
  class Knife
@@ -31,9 +29,14 @@ class Chef
31
29
  class VcenterVmShow < ServerShowCommand
32
30
  include ServerShowOptions
33
31
  include VcenterServiceOptions
34
- include VcenterServiceHelpers
35
32
 
36
33
  banner "knife vcenter vm show NAME (options)"
34
+
35
+ # lazy load this file as it includes vmware deps that we only want at plugin runtime
36
+ deps do
37
+ require_relative "cloud/vcenter_service"
38
+ end
39
+
37
40
  def validate_params!
38
41
  if @name_args.empty?
39
42
  ui.error("You must supply the name of the virtual machine to display.")
@@ -20,5 +20,5 @@
20
20
  # Provisions machines in vCenter
21
21
  module KnifeVcenter
22
22
  # The version of this amazing Gem, you should <3 it.
23
- VERSION = "2.1.0"
23
+ VERSION = "5.0.0"
24
24
  end
metadata CHANGED
@@ -1,35 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-vcenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Partner Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-05 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: knife-cloud
14
+ name: chef
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '3.0'
19
+ version: '15.11'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '1.2'
30
- - - "<"
26
+ version: '15.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: knife-cloud
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
- version: '3.0'
33
+ version: '4.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '4.0'
33
41
  - !ruby/object:Gem::Dependency
34
42
  name: rb-readline
35
43
  requirement: !ruby/object:Gem::Requirement
@@ -64,20 +72,6 @@ dependencies:
64
72
  - - "<"
65
73
  - !ruby/object:Gem::Version
66
74
  version: '3.0'
67
- - !ruby/object:Gem::Dependency
68
- name: savon
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '2.11'
74
- type: :runtime
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: '2.11'
81
75
  - !ruby/object:Gem::Dependency
82
76
  name: vsphere-automation-sdk
83
77
  requirement: !ruby/object:Gem::Requirement
@@ -92,90 +86,6 @@ dependencies:
92
86
  - - "~>"
93
87
  - !ruby/object:Gem::Version
94
88
  version: '0.4'
95
- - !ruby/object:Gem::Dependency
96
- name: bundler
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: '0'
109
- - !ruby/object:Gem::Dependency
110
- name: pry
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- version: '0'
116
- type: :development
117
- prerelease: false
118
- version_requirements: !ruby/object:Gem::Requirement
119
- requirements:
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: '0'
123
- - !ruby/object:Gem::Dependency
124
- name: ruby-debug-ide
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: 0.6.0
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: 0.6.0
137
- - !ruby/object:Gem::Dependency
138
- name: rake
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: '0'
144
- type: :development
145
- prerelease: false
146
- version_requirements: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- version: '0'
151
- - !ruby/object:Gem::Dependency
152
- name: rspec
153
- requirement: !ruby/object:Gem::Requirement
154
- requirements:
155
- - - "~>"
156
- - !ruby/object:Gem::Version
157
- version: '3.7'
158
- type: :development
159
- prerelease: false
160
- version_requirements: !ruby/object:Gem::Requirement
161
- requirements:
162
- - - "~>"
163
- - !ruby/object:Gem::Version
164
- version: '3.7'
165
- - !ruby/object:Gem::Dependency
166
- name: rubocop-rspec
167
- requirement: !ruby/object:Gem::Requirement
168
- requirements:
169
- - - "~>"
170
- - !ruby/object:Gem::Version
171
- version: '1.18'
172
- type: :development
173
- prerelease: false
174
- version_requirements: !ruby/object:Gem::Requirement
175
- requirements:
176
- - - "~>"
177
- - !ruby/object:Gem::Version
178
- version: '1.18'
179
89
  description: Knife plugin to VMware vCenter.
180
90
  email:
181
91
  - partnereng@chef.io
@@ -209,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
119
  requirements:
210
120
  - - ">="
211
121
  - !ruby/object:Gem::Version
212
- version: '2.3'
122
+ version: '2.6'
213
123
  required_rubygems_version: !ruby/object:Gem::Requirement
214
124
  requirements:
215
125
  - - ">="