knife-vcenter 2.1.0 → 5.0.0

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.
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
  - - ">="