knife-azure 2.0.17 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/azure/azure_interface.rb +1 -1
  3. data/lib/azure/custom_errors.rb +1 -1
  4. data/lib/azure/helpers.rb +1 -1
  5. data/lib/azure/resource_management/ARM_deployment_template.rb +1 -1
  6. data/lib/azure/resource_management/ARM_interface.rb +1 -1
  7. data/lib/azure/resource_management/vnet_config.rb +1 -1
  8. data/lib/azure/resource_management/windows_credentials.rb +1 -1
  9. data/lib/azure/service_management/ASM_interface.rb +1 -1
  10. data/lib/azure/service_management/ag.rb +1 -1
  11. data/lib/azure/service_management/certificate.rb +2 -2
  12. data/lib/azure/service_management/connection.rb +1 -1
  13. data/lib/azure/service_management/deploy.rb +1 -1
  14. data/lib/azure/service_management/disk.rb +1 -1
  15. data/lib/azure/service_management/host.rb +1 -1
  16. data/lib/azure/service_management/image.rb +1 -1
  17. data/lib/azure/service_management/loadbalancer.rb +1 -1
  18. data/lib/azure/service_management/rest.rb +1 -1
  19. data/lib/azure/service_management/role.rb +1 -1
  20. data/lib/azure/service_management/storageaccount.rb +1 -1
  21. data/lib/azure/service_management/utility.rb +1 -1
  22. data/lib/azure/service_management/vnet.rb +1 -1
  23. data/lib/chef/knife/azure_ag_create.rb +4 -4
  24. data/lib/chef/knife/azure_ag_list.rb +1 -1
  25. data/lib/chef/knife/azure_image_list.rb +3 -3
  26. data/lib/chef/knife/azure_internal-lb_create.rb +5 -5
  27. data/lib/chef/knife/azure_internal-lb_list.rb +1 -1
  28. data/lib/chef/knife/azure_server_create.rb +70 -70
  29. data/lib/chef/knife/azure_server_delete.rb +7 -7
  30. data/lib/chef/knife/azure_server_list.rb +1 -1
  31. data/lib/chef/knife/azure_server_show.rb +1 -1
  32. data/lib/chef/knife/azure_vnet_create.rb +5 -5
  33. data/lib/chef/knife/azure_vnet_list.rb +1 -1
  34. data/lib/chef/knife/azurerm_server_create.rb +43 -43
  35. data/lib/chef/knife/azurerm_server_delete.rb +6 -6
  36. data/lib/chef/knife/azurerm_server_list.rb +2 -2
  37. data/lib/chef/knife/azurerm_server_show.rb +2 -2
  38. data/lib/chef/knife/bootstrap/bootstrapper.rb +29 -35
  39. data/lib/chef/knife/bootstrap/common_bootstrap_options.rb +3 -5
  40. data/lib/chef/knife/bootstrap_azure.rb +8 -8
  41. data/lib/chef/knife/bootstrap_azurerm.rb +5 -5
  42. data/lib/chef/knife/helpers/azure_base.rb +46 -55
  43. data/lib/chef/knife/helpers/azurerm_base.rb +30 -39
  44. data/lib/knife-azure/version.rb +2 -2
  45. metadata +5 -5
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Adam Jacob (<adam@chef.io>)
4
4
  # Author:: Seth Chisamore (<schisamo@chef.io>)
5
- # Copyright:: Copyright 2010-2019, 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");
@@ -94,7 +94,7 @@ class Chef
94
94
  end
95
95
 
96
96
  def validate_disk_and_storage
97
- if locate_config_value(:preserve_azure_os_disk) && locate_config_value(:delete_azure_storage_account)
97
+ if config[:preserve_azure_os_disk] && config[:delete_azure_storage_account]
98
98
  ui.warn("Cannot delete storage account while keeping OS Disk. Please set any one option.")
99
99
  exit
100
100
  else
@@ -107,11 +107,11 @@ class Chef
107
107
  validate_disk_and_storage
108
108
  @name_args.each do |name|
109
109
  begin
110
- service.delete_server( { name: name, preserve_azure_os_disk: locate_config_value(:preserve_azure_os_disk),
111
- preserve_azure_vhd: locate_config_value(:preserve_azure_vhd),
112
- preserve_azure_dns_name: locate_config_value(:preserve_azure_dns_name),
113
- delete_azure_storage_account: locate_config_value(:delete_azure_storage_account),
114
- wait: locate_config_value(:wait) } )
110
+ service.delete_server( { name: name, preserve_azure_os_disk: config[:preserve_azure_os_disk],
111
+ preserve_azure_vhd: config[:preserve_azure_vhd],
112
+ preserve_azure_dns_name: config[:preserve_azure_dns_name],
113
+ delete_azure_storage_account: config[:delete_azure_storage_account],
114
+ wait: config[:wait] } )
115
115
 
116
116
  if config[:purge]
117
117
  node_to_delete = config[:chef_node_name] || name
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Adam Jacob (<adam@chef.io>)
5
- # Copyright:: Copyright 2010-2019, 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");
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Seth Chisamore (<schisamo@chef.io>)
4
4
  # Author:: Adam Jacob (<adam@chef.io>)
5
- # Copyright:: Copyright 2010-2019, 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");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Jeff Mendoza (jeffmendoza@live.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -50,10 +50,10 @@ class Chef
50
50
  validate_asm_keys!(:azure_network_name, :azure_affinity_group, :azure_address_space)
51
51
 
52
52
  params = {
53
- azure_vnet_name: locate_config_value(:azure_network_name),
54
- azure_ag_name: locate_config_value(:azure_affinity_group),
55
- azure_address_space: locate_config_value(:azure_address_space),
56
- azure_subnet_name: locate_config_value(:azure_subnet_name) || "Subnet-#{Random.rand(10)}",
53
+ azure_vnet_name: config[:azure_network_name],
54
+ azure_ag_name: config[:azure_affinity_group],
55
+ azure_address_space: config[:azure_address_space],
56
+ azure_subnet_name: config[:azure_subnet_name] || "Subnet-#{Random.rand(10)}",
57
57
  }
58
58
 
59
59
  rsp = service.create_vnet(params)
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Jeff Mendoza (jeffmendoza@live.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -156,55 +156,55 @@ class Chef
156
156
 
157
157
  def create_server_def
158
158
  server_def = {
159
- azure_resource_group_name: locate_config_value(:azure_resource_group_name),
160
- azure_storage_account: locate_config_value(:azure_storage_account),
161
- azure_storage_account_type: locate_config_value(:azure_storage_account_type),
162
- azure_vm_name: locate_config_value(:azure_vm_name),
163
- azure_service_location: locate_config_value(:azure_service_location),
164
- azure_os_disk_name: locate_config_value(:azure_os_disk_name),
165
- azure_os_disk_caching: locate_config_value(:azure_os_disk_caching),
166
- azure_os_disk_create_option: locate_config_value(:azure_os_disk_create_option),
167
- azure_vm_size: locate_config_value(:azure_vm_size),
168
- azure_image_reference_publisher: locate_config_value(:azure_image_reference_publisher),
169
- azure_image_reference_offer: locate_config_value(:azure_image_reference_offer),
170
- azure_image_reference_sku: locate_config_value(:azure_image_reference_sku),
171
- azure_image_reference_version: locate_config_value(:azure_image_reference_version),
172
- azure_availability_set: locate_config_value(:azure_availability_set),
173
- azure_vnet_name: locate_config_value(:azure_vnet_name),
174
- azure_vnet_subnet_name: locate_config_value(:azure_vnet_subnet_name),
175
- ssl_cert_fingerprint: locate_config_value(:thumbprint),
176
- cert_path: locate_config_value(:cert_path),
177
- cert_password: locate_config_value(:cert_passphrase),
178
- vnet_subnet_address_prefix: locate_config_value(:vnet_subnet_address_prefix),
179
- server_count: locate_config_value(:server_count),
159
+ azure_resource_group_name: config[:azure_resource_group_name],
160
+ azure_storage_account: config[:azure_storage_account],
161
+ azure_storage_account_type: config[:azure_storage_account_type],
162
+ azure_vm_name: config[:azure_vm_name],
163
+ azure_service_location: config[:azure_service_location],
164
+ azure_os_disk_name: config[:azure_os_disk_name],
165
+ azure_os_disk_caching: config[:azure_os_disk_caching],
166
+ azure_os_disk_create_option: config[:azure_os_disk_create_option],
167
+ azure_vm_size: config[:azure_vm_size],
168
+ azure_image_reference_publisher: config[:azure_image_reference_publisher],
169
+ azure_image_reference_offer: config[:azure_image_reference_offer],
170
+ azure_image_reference_sku: config[:azure_image_reference_sku],
171
+ azure_image_reference_version: config[:azure_image_reference_version],
172
+ azure_availability_set: config[:azure_availability_set],
173
+ azure_vnet_name: config[:azure_vnet_name],
174
+ azure_vnet_subnet_name: config[:azure_vnet_subnet_name],
175
+ ssl_cert_fingerprint: config[:thumbprint],
176
+ cert_path: config[:cert_path],
177
+ cert_password: config[:cert_passphrase],
178
+ vnet_subnet_address_prefix: config[:vnet_subnet_address_prefix],
179
+ server_count: config[:server_count],
180
180
  }
181
181
 
182
- server_def[:tcp_endpoints] = locate_config_value(:tcp_endpoints) if locate_config_value(:tcp_endpoints)
182
+ server_def[:tcp_endpoints] = config[:tcp_endpoints] if config[:tcp_endpoints]
183
183
 
184
184
  # We assign azure_vm_name to chef_node_name If node name is nill because storage account name is combination of hash value and node name.
185
- config[:chef_node_name] ||= locate_config_value(:azure_vm_name)
185
+ config[:chef_node_name] ||= config[:azure_vm_name]
186
186
 
187
- server_def[:azure_storage_account] = locate_config_value(:azure_vm_name) if server_def[:azure_storage_account].nil?
187
+ server_def[:azure_storage_account] = config[:azure_vm_name] if server_def[:azure_storage_account].nil?
188
188
  server_def[:azure_storage_account] = server_def[:azure_storage_account].gsub(/[!@#$%^&*()_-]/, "")
189
189
 
190
- server_def[:azure_os_disk_name] = locate_config_value(:azure_vm_name) if server_def[:azure_os_disk_name].nil?
190
+ server_def[:azure_os_disk_name] = config[:azure_vm_name] if server_def[:azure_os_disk_name].nil?
191
191
  server_def[:azure_os_disk_name] = server_def[:azure_os_disk_name].gsub(/[!@#$%^&*()_-]/, "")
192
192
 
193
- server_def[:azure_vnet_name] = locate_config_value(:azure_vm_name) if server_def[:azure_vnet_name].nil?
194
- server_def[:azure_vnet_subnet_name] = locate_config_value(:azure_vm_name) if locate_config_value(:azure_vnet_subnet_name).nil?
193
+ server_def[:azure_vnet_name] = config[:azure_vm_name] if server_def[:azure_vnet_name].nil?
194
+ server_def[:azure_vnet_subnet_name] = config[:azure_vm_name] if config[:azure_vnet_subnet_name].nil?
195
195
 
196
196
  server_def[:chef_extension] = get_chef_extension_name
197
197
  server_def[:chef_extension_publisher] = get_chef_extension_publisher
198
- server_def[:chef_extension_version] = locate_config_value(:azure_chef_extension_version)
198
+ server_def[:chef_extension_version] = config[:azure_chef_extension_version]
199
199
  server_def[:chef_extension_public_param] = get_chef_extension_public_params
200
200
  server_def[:chef_extension_private_param] = get_chef_extension_private_params
201
201
  server_def[:auto_upgrade_minor_version] = false
202
- server_def[:connection_user] = locate_config_value(:connection_user)
203
- server_def[:disablePasswordAuthentication] = if locate_config_value(:ssh_public_key)
204
- server_def[:ssh_public_key] = File.read(locate_config_value(:ssh_public_key))
202
+ server_def[:connection_user] = config[:connection_user]
203
+ server_def[:disablePasswordAuthentication] = if config[:ssh_public_key]
204
+ server_def[:ssh_public_key] = File.read(config[:ssh_public_key])
205
205
  "true"
206
206
  else
207
- server_def[:connection_password] = locate_config_value(:connection_password)
207
+ server_def[:connection_password] = config[:connection_password]
208
208
  "false"
209
209
  end
210
210
 
@@ -229,7 +229,7 @@ class Chef
229
229
  end
230
230
 
231
231
  def validate_ohai_hints
232
- hint_values = locate_config_value(:ohai_hints).split(",")
232
+ hint_values = config[:ohai_hints].split(",")
233
233
  hint_values.each do |hint|
234
234
  unless is_supported_ohai_hint?(hint)
235
235
  raise ArgumentError, "Ohai Hint name #{hint} passed is not supported. Please run the command help to see the list of supported values."
@@ -245,22 +245,22 @@ class Chef
245
245
  end
246
246
 
247
247
  def set_configs
248
- unless locate_config_value(:connection_user).nil?
249
- config[:connection_user] = locate_config_value(:connection_user)
248
+ unless config[:connection_user].nil?
249
+ config[:connection_user] = config[:connection_user]
250
250
  end
251
251
 
252
- unless locate_config_value(:connection_password).nil?
253
- config[:connection_password] = locate_config_value(:connection_password)
252
+ unless config[:connection_password].nil?
253
+ config[:connection_password] = config[:connection_password]
254
254
  end
255
255
  end
256
256
 
257
257
  def set_default_image_reference!
258
258
  begin
259
- if locate_config_value(:azure_image_os_type)
259
+ if config[:azure_image_os_type]
260
260
  validate_publisher_and_offer
261
261
  ## if azure_image_os_type is given (with or without azure-image-reference-sku) and other image reference parameters are not given,
262
262
  # set default image reference parameters
263
- case locate_config_value(:azure_image_os_type)
263
+ case config[:azure_image_os_type]
264
264
  when "ubuntu"
265
265
  set_os_image("Canonical", "UbuntuServer", "14.04.2-LTS")
266
266
  when "centos"
@@ -292,15 +292,15 @@ class Chef
292
292
  def set_os_image(publisher, img_offer, default_os_version)
293
293
  config[:azure_image_reference_publisher] = publisher
294
294
  config[:azure_image_reference_offer] = img_offer
295
- config[:azure_image_reference_sku] = locate_config_value(:azure_image_reference_sku) ? locate_config_value(:azure_image_reference_sku) : default_os_version
295
+ config[:azure_image_reference_sku] = config[:azure_image_reference_sku] ? config[:azure_image_reference_sku] : default_os_version
296
296
  end
297
297
 
298
298
  def is_image_os_type?
299
- locate_config_value(:azure_image_reference_publisher) && locate_config_value(:azure_image_reference_offer) && locate_config_value(:azure_image_reference_sku) && locate_config_value(:azure_image_reference_version)
299
+ config[:azure_image_reference_publisher] && config[:azure_image_reference_offer] && config[:azure_image_reference_sku] && config[:azure_image_reference_version]
300
300
  end
301
301
 
302
302
  def validate_publisher_and_offer
303
- if locate_config_value(:azure_image_reference_publisher) || locate_config_value(:azure_image_reference_offer)
303
+ if config[:azure_image_reference_publisher] || config[:azure_image_reference_offer]
304
304
  # if azure_image_os_type is given and any of the other image reference parameters like publisher or offer are also given,
305
305
  # raise error
306
306
  raise ArgumentError, 'Please specify either --azure-image-os-type OR --azure-image-os-type with --azure-image-reference-sku or 4 image reference parameters i.e.
@@ -2,7 +2,7 @@
2
2
  # Author:: Barry Davis (barryd@jetstreamsoftware.com)
3
3
  # Author:: Adam Jacob (<adam@chef.io>)
4
4
  # Author:: Seth Chisamore (<schisamo@chef.io>)
5
- # Copyright:: Copyright 2010-2019, 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");
@@ -74,10 +74,10 @@ class Chef
74
74
  validate_arm_keys!(:azure_resource_group_name)
75
75
  @vm_name = @name_args[0]
76
76
 
77
- if locate_config_value(:delete_resource_group)
77
+ if config[:delete_resource_group]
78
78
  delete_resource_group
79
79
  else
80
- service.delete_server(locate_config_value(:azure_resource_group_name), @vm_name)
80
+ service.delete_server(config[:azure_resource_group_name], @vm_name)
81
81
  end
82
82
 
83
83
  if config[:purge]
@@ -90,18 +90,18 @@ class Chef
90
90
  end
91
91
 
92
92
  def delete_resource_group
93
- resource_group_name = locate_config_value(:azure_resource_group_name)
93
+ resource_group_name = config[:azure_resource_group_name]
94
94
  ui.warn "Deleting resource group will delete all the virtual_machines inside it."
95
95
  begin
96
96
  ui.confirm("Do you really want to delete resource group")
97
97
  rescue SystemExit # Need to handle this as confirming with N/n raises SystemExit exception
98
98
  server = nil # Cleanup is implicitly performed in other cloud plugins
99
99
  ui.warn "Resource group not deleted. Proceeding for server delete ..."
100
- service.delete_server(locate_config_value(:azure_resource_group_name), @vm_name)
100
+ service.delete_server(config[:azure_resource_group_name], @vm_name)
101
101
  exit
102
102
  end
103
103
  ui.info "Deleting Resource Group " + resource_group_name + " and Virtual Machine " + @vm_name + " .."
104
- service.delete_resource_group(locate_config_value(:azure_resource_group_name))
104
+ service.delete_resource_group(config[:azure_resource_group_name])
105
105
  ui.warn "Deleted resource_group_name #{resource_group_name} and #{@vm_name}"
106
106
  end
107
107
 
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Adam Jacob (<adam@chef.io>)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -36,7 +36,7 @@ class Chef
36
36
  get_azure_cli_version
37
37
  validate_arm_keys!
38
38
  begin
39
- service.list_servers(locate_config_value(:azure_resource_group_name))
39
+ service.list_servers(config[:azure_resource_group_name])
40
40
  rescue => error
41
41
  service.common_arm_rescue_block(error)
42
42
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Meera Navale (meera.navale@msystechnologies.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -36,7 +36,7 @@ class Chef
36
36
  get_azure_cli_version
37
37
  validate_arm_keys!(:azure_resource_group_name)
38
38
  begin
39
- service.show_server(@name_args[0], locate_config_value(:azure_resource_group_name))
39
+ service.show_server(@name_args[0], config[:azure_resource_group_name])
40
40
  rescue => error
41
41
  service.common_arm_rescue_block(error)
42
42
  end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,6 +16,8 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require_relative "../../../azure/resource_management/ARM_interface"
20
+
19
21
  class Chef
20
22
  class Knife
21
23
  class Bootstrap
@@ -39,13 +41,13 @@ class Chef
39
41
 
40
42
  # get latest version
41
43
  def get_chef_extension_version(chef_extension_name = nil)
42
- if locate_config_value(:azure_chef_extension_version)
43
- Chef::Config[:knife][:azure_chef_extension_version]
44
+ if config[:azure_chef_extension_version]
45
+ config[:azure_chef_extension_version]
44
46
  else
45
47
  chef_extension_name ||= get_chef_extension_name
46
48
  if @service.instance_of? Azure::ResourceManagement::ARMInterface
47
49
  service.get_latest_chef_extension_version(
48
- azure_service_location: locate_config_value(:azure_service_location),
50
+ azure_service_location: config[:azure_service_location],
49
51
  chef_extension_publisher: get_chef_extension_publisher,
50
52
  chef_extension: chef_extension_name
51
53
  )
@@ -57,7 +59,7 @@ class Chef
57
59
  end
58
60
 
59
61
  def ohai_hints
60
- hint_values = locate_config_value(:ohai_hints)
62
+ hint_values = config[:ohai_hints]
61
63
  if hint_values.casecmp("default") == 0
62
64
  default_hint_options
63
65
  else
@@ -67,47 +69,39 @@ class Chef
67
69
 
68
70
  def get_chef_extension_public_params
69
71
  pub_config = {}
70
- if locate_config_value(:azure_extension_client_config)
71
- pub_config[:client_rb] = File.read(File.expand_path(locate_config_value(:azure_extension_client_config)))
72
+ if config[:azure_extension_client_config]
73
+ pub_config[:client_rb] = File.read(File.expand_path(config[:azure_extension_client_config]))
72
74
  else
73
75
  pub_config[:client_rb] = "chef_server_url \t #{Chef::Config[:chef_server_url].to_json}\nvalidation_client_name\t#{Chef::Config[:validation_client_name].to_json}"
74
76
  end
75
77
 
76
- pub_config[:runlist] = locate_config_value(:run_list).empty? ? "" : locate_config_value(:run_list).join(",").to_json
77
- pub_config[:custom_json_attr] = locate_config_value(:json_attributes) || {}
78
- pub_config[:extendedLogs] = locate_config_value(:extended_logs) ? "true" : "false"
79
- pub_config[:hints] = ohai_hints if @service.instance_of?(Azure::ResourceManagement::ARMInterface) && !locate_config_value(:ohai_hints).nil?
80
- pub_config[:chef_daemon_interval] = locate_config_value(:chef_daemon_interval) if locate_config_value(:chef_daemon_interval)
81
- pub_config[:daemon] = locate_config_value(:daemon) if locate_config_value(:daemon)
78
+ pub_config[:runlist] = config[:run_list].empty? ? "" : config[:run_list].join(",").to_json
79
+ pub_config[:custom_json_attr] = config[:json_attributes] || {}
80
+ pub_config[:extendedLogs] = config[:extended_logs] ? "true" : "false"
81
+ pub_config[:hints] = ohai_hints if @service.instance_of?(Azure::ResourceManagement::ARMInterface) && !config[:ohai_hints].nil?
82
+ pub_config[:chef_daemon_interval] = config[:chef_daemon_interval] if config[:chef_daemon_interval]
83
+ pub_config[:daemon] = config[:daemon] if config[:daemon]
82
84
 
83
85
  # bootstrap attributes
84
86
  pub_config[:bootstrap_options] = {}
85
- pub_config[:bootstrap_options][:environment] = locate_config_value(:environment) if locate_config_value(:environment)
86
- pub_config[:bootstrap_options][:chef_node_name] = locate_config_value(:chef_node_name) if locate_config_value(:chef_node_name)
87
+ pub_config[:bootstrap_options][:environment] = config[:environment] if config[:environment]
88
+ pub_config[:bootstrap_options][:chef_node_name] = config[:chef_node_name] if config[:chef_node_name]
87
89
  pub_config[:bootstrap_options][:chef_server_url] = Chef::Config[:chef_server_url] if Chef::Config[:chef_server_url]
88
90
  pub_config[:bootstrap_options][:validation_client_name] = Chef::Config[:validation_client_name] if Chef::Config[:validation_client_name]
89
- pub_config[:bootstrap_options][:node_verify_api_cert] = locate_config_value(:node_verify_api_cert) ? "true" : "false" if config.key?(:node_verify_api_cert)
90
- pub_config[:bootstrap_options][:bootstrap_version] = locate_config_value(:bootstrap_version) if locate_config_value(:bootstrap_version)
91
- pub_config[:bootstrap_options][:node_ssl_verify_mode] = locate_config_value(:node_ssl_verify_mode) if locate_config_value(:node_ssl_verify_mode)
92
- pub_config[:bootstrap_options][:bootstrap_proxy] = locate_config_value(:bootstrap_proxy) if locate_config_value(:bootstrap_proxy)
91
+ pub_config[:bootstrap_options][:node_verify_api_cert] = config[:node_verify_api_cert] ? "true" : "false" if config.key?(:node_verify_api_cert)
92
+ pub_config[:bootstrap_options][:bootstrap_version] = config[:bootstrap_version] if config[:bootstrap_version]
93
+ pub_config[:bootstrap_options][:node_ssl_verify_mode] = config[:node_ssl_verify_mode] if config[:node_ssl_verify_mode]
94
+ pub_config[:bootstrap_options][:bootstrap_proxy] = config[:bootstrap_proxy] if config[:bootstrap_proxy]
93
95
  pub_config
94
96
  end
95
97
 
96
98
  def load_correct_secret
97
- knife_secret_file = Chef::Config[:knife][:encrypted_data_bag_secret_file]
98
- knife_secret = Chef::Config[:knife][:encrypted_data_bag_secret]
99
- cli_secret_file = config[:encrypted_data_bag_secret_file]
100
- cli_secret = config[:encrypted_data_bag_secret]
101
-
102
- # The value set in knife.rb gets set in config object too
103
- # That's why setting cli objects to nil if the values are specified in knife.rb
104
- cli_secret_file = nil if cli_secret_file == knife_secret_file
105
- cli_secret = nil if cli_secret == knife_secret
99
+ secret_file = config[:encrypted_data_bag_secret_file]
100
+ secret = config[:encrypted_data_bag_secret]
106
101
 
107
- cli_secret_file = Chef::EncryptedDataBagItem.load_secret(cli_secret_file) unless cli_secret_file.nil?
108
- knife_secret_file = Chef::EncryptedDataBagItem.load_secret(knife_secret_file) unless knife_secret_file.nil?
102
+ secret_file = Chef::EncryptedDataBagItem.load_secret(secret_file) unless secret_file.nil?
109
103
 
110
- cli_secret_file || cli_secret || knife_secret_file || knife_secret
104
+ secret_file || secret
111
105
  end
112
106
 
113
107
  def create_node_and_client_pem
@@ -115,7 +109,7 @@ class Chef
115
109
  require "chef/knife/bootstrap/client_builder"
116
110
  Chef::Knife::Bootstrap::ClientBuilder.new(
117
111
  chef_config: Chef::Config,
118
- knife_config: config,
112
+ config: config,
119
113
  ui: ui
120
114
  )
121
115
  end
@@ -153,9 +147,9 @@ class Chef
153
147
  end
154
148
 
155
149
  # SSL cert bootstrap support
156
- if locate_config_value(:cert_path)
157
- if File.exist?(File.expand_path(locate_config_value(:cert_path)))
158
- pri_config[:chef_server_crt] = File.read(File.expand_path(locate_config_value(:cert_path)))
150
+ if config[:cert_path]
151
+ if File.exist?(File.expand_path(config[:cert_path]))
152
+ pri_config[:chef_server_crt] = File.read(File.expand_path(config[:cert_path]))
159
153
  else
160
154
  ui.error("Specified SSL certificate does not exist.")
161
155
  exit 1
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
3
- # Copyright:: Copyright 2010-2019, Chef Software Inc.
3
+ # Copyright:: Copyright (c) Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -46,8 +46,7 @@ class Chef
46
46
  short: "-m LOCATION",
47
47
  long: "--azure-service-location LOCATION",
48
48
  description: "Required if not using an Affinity Group. Specifies the geographic location - the name of the data center location that is valid for your subscription.
49
- Eg: West US, East US, East Asia, Southeast Asia, North Europe, West Europe",
50
- proc: Proc.new { |lo| Chef::Config[:knife][:azure_service_location] = lo }
49
+ Eg: West US, East US, East Asia, Southeast Asia, North Europe, West Europe"
51
50
 
52
51
  option :azure_storage_account,
53
52
  short: "-a NAME",
@@ -69,8 +68,7 @@ class Chef
69
68
  long: "--azure-vm-size SIZE",
70
69
  description: "Optional. Size of virtual machine. Default is Standard_A1_v2.
71
70
  Eg: Standard_A1_v2, Standard_F2, Standard_G1 etc.",
72
- default: "Standard_A1_v2",
73
- proc: Proc.new { |si| Chef::Config[:knife][:azure_vm_size] = si }
71
+ default: "Standard_A1_v2"
74
72
 
75
73
  deprecated_option :bootstrap_protocol,
76
74
  replacement: :connection_protocol,