knife-azure 1.6.0.rc.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +304 -8
- data/lib/azure/azure_interface.rb +81 -0
- data/lib/azure/custom_errors.rb +35 -0
- data/lib/azure/helpers.rb +44 -0
- data/lib/azure/resource_management/ARM_base.rb +29 -0
- data/lib/azure/resource_management/ARM_deployment_template.rb +561 -0
- data/lib/azure/resource_management/ARM_interface.rb +795 -0
- data/lib/azure/resource_management/windows_credentials.rb +136 -0
- data/lib/azure/service_management/ASM_interface.rb +301 -0
- data/lib/azure/{ag.rb → service_management/ag.rb} +2 -2
- data/lib/azure/{certificate.rb → service_management/certificate.rb} +2 -2
- data/lib/azure/service_management/connection.rb +102 -0
- data/lib/azure/{deploy.rb → service_management/deploy.rb} +8 -2
- data/lib/azure/{disk.rb → service_management/disk.rb} +2 -2
- data/lib/azure/{host.rb → service_management/host.rb} +2 -2
- data/lib/azure/{image.rb → service_management/image.rb} +2 -2
- data/lib/azure/{loadbalancer.rb → service_management/loadbalancer.rb} +4 -18
- data/lib/azure/{rest.rb → service_management/rest.rb} +15 -10
- data/lib/azure/{role.rb → service_management/role.rb} +174 -6
- data/lib/azure/{storageaccount.rb → service_management/storageaccount.rb} +2 -2
- data/lib/azure/{utility.rb → service_management/utility.rb} +0 -0
- data/lib/azure/{vnet.rb → service_management/vnet.rb} +2 -2
- data/lib/chef/knife/azure_ag_create.rb +3 -6
- data/lib/chef/knife/azure_ag_list.rb +2 -16
- data/lib/chef/knife/azure_base.rb +89 -22
- data/lib/chef/knife/azure_image_list.rb +3 -7
- data/lib/chef/knife/azure_internal-lb_create.rb +2 -5
- data/lib/chef/knife/azure_internal-lb_list.rb +2 -16
- data/lib/chef/knife/azure_server_create.rb +122 -501
- data/lib/chef/knife/azure_server_delete.rb +15 -38
- data/lib/chef/knife/azure_server_list.rb +2 -27
- data/lib/chef/knife/azure_server_show.rb +4 -60
- data/lib/chef/knife/azure_vnet_create.rb +2 -7
- data/lib/chef/knife/azure_vnet_list.rb +2 -17
- data/lib/chef/knife/azurerm_base.rb +228 -0
- data/lib/chef/knife/azurerm_server_create.rb +393 -0
- data/lib/chef/knife/azurerm_server_delete.rb +121 -0
- data/lib/chef/knife/azurerm_server_list.rb +18 -0
- data/lib/chef/knife/azurerm_server_show.rb +37 -0
- data/lib/chef/knife/bootstrap/bootstrap_options.rb +105 -0
- data/lib/chef/knife/bootstrap/bootstrapper.rb +343 -0
- data/lib/chef/knife/bootstrap/common_bootstrap_options.rb +116 -0
- data/lib/chef/knife/bootstrap_azure.rb +110 -0
- data/lib/chef/knife/bootstrap_azurerm.rb +116 -0
- data/lib/knife-azure/version.rb +1 -2
- metadata +132 -16
- data/lib/azure/connection.rb +0 -99
@@ -0,0 +1,116 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (c) 2016 Opscode, Inc.
|
5
|
+
# License:: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
class Chef
|
21
|
+
class Knife
|
22
|
+
class Bootstrap
|
23
|
+
module CommonBootstrapOptions
|
24
|
+
|
25
|
+
def self.included(includer)
|
26
|
+
includer.class_eval do
|
27
|
+
|
28
|
+
deps do
|
29
|
+
require 'chef/knife/bootstrap'
|
30
|
+
Chef::Knife::Bootstrap.load_deps
|
31
|
+
end
|
32
|
+
|
33
|
+
option :chef_node_name,
|
34
|
+
:short => "-N NAME",
|
35
|
+
:long => "--node-name NAME",
|
36
|
+
:description => "The Chef node name for your new node"
|
37
|
+
|
38
|
+
option :bootstrap_version,
|
39
|
+
:long => "--bootstrap-version VERSION",
|
40
|
+
:description => "The version of Chef to install",
|
41
|
+
:proc => Proc.new { |v| Chef::Config[:knife][:bootstrap_version] = v }
|
42
|
+
|
43
|
+
option :run_list,
|
44
|
+
:short => "-r RUN_LIST",
|
45
|
+
:long => "--run-list RUN_LIST",
|
46
|
+
:description => "Comma separated list of roles/recipes to apply",
|
47
|
+
:proc => lambda { |o| o.split(/[\s,]+/) },
|
48
|
+
:default => []
|
49
|
+
|
50
|
+
option :json_attributes,
|
51
|
+
:short => "-j JSON",
|
52
|
+
:long => "--json-attributes JSON",
|
53
|
+
:description => "A JSON string to be added to the first run of chef-client",
|
54
|
+
:proc => lambda { |o| JSON.parse(o) }
|
55
|
+
|
56
|
+
option :bootstrap_proxy,
|
57
|
+
:long => "--bootstrap-proxy PROXY_URL",
|
58
|
+
:description => "The proxy server for the node being bootstrapped",
|
59
|
+
:proc => Proc.new { |p| Chef::Config[:knife][:bootstrap_proxy] = p }
|
60
|
+
|
61
|
+
option :cert_path,
|
62
|
+
:long => "--cert-path PATH",
|
63
|
+
:description => "SSL Certificate Path"
|
64
|
+
|
65
|
+
option :node_ssl_verify_mode,
|
66
|
+
:long => "--node-ssl-verify-mode [peer|none]",
|
67
|
+
:description => "Whether or not to verify the SSL cert for all HTTPS requests.",
|
68
|
+
:proc => Proc.new { |v|
|
69
|
+
valid_values = ["none", "peer"]
|
70
|
+
unless valid_values.include?(v)
|
71
|
+
raise "Invalid value '#{v}' for --node-ssl-verify-mode. Valid values are: #{valid_values.join(", ")}"
|
72
|
+
end
|
73
|
+
}
|
74
|
+
|
75
|
+
option :node_verify_api_cert,
|
76
|
+
:long => "--[no-]node-verify-api-cert",
|
77
|
+
:description => "Verify the SSL cert for HTTPS requests to the Chef server API.",
|
78
|
+
:boolean => true
|
79
|
+
|
80
|
+
option :azure_extension_client_config,
|
81
|
+
:long => "--azure-extension-client-config CLIENT_PATH",
|
82
|
+
:description => "Optional. Path to a client.rb file for use by the bootstrapped node."
|
83
|
+
|
84
|
+
option :auto_update_client,
|
85
|
+
:long => "--auto-update-client",
|
86
|
+
:boolean => true,
|
87
|
+
:default => false,
|
88
|
+
:description => "Set this flag to enable auto chef client update in azure chef extension."
|
89
|
+
|
90
|
+
option :delete_chef_extension_config,
|
91
|
+
:long => "--delete-chef-extension-config",
|
92
|
+
:boolean => true,
|
93
|
+
:default => false,
|
94
|
+
:description => "Determines whether Chef configuration files removed when Azure removes the Chef resource extension from the VM. The default is false."
|
95
|
+
|
96
|
+
option :uninstall_chef_client,
|
97
|
+
:long => "--uninstall-chef-client",
|
98
|
+
:boolean => true,
|
99
|
+
:default => false,
|
100
|
+
:description => "Determines whether Chef Client will be un-installed from the VM or not. The default value is false."
|
101
|
+
|
102
|
+
option :secret,
|
103
|
+
:short => "-s SECRET",
|
104
|
+
:long => "--secret ",
|
105
|
+
:description => "The secret key to use to encrypt data bag item values. Can also be defaulted in your config with the key 'secret'"
|
106
|
+
|
107
|
+
option :secret_file,
|
108
|
+
:long => "--secret-file SECRET_FILE",
|
109
|
+
:description => "A file containing the secret key to use to encrypt data bag item values. Can also be defaulted in your config with the key 'secret_file'"
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
@@ -0,0 +1,110 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Aliasgar Batterywala (aliasgar.batterywala@clogeny.com)
|
3
|
+
# Copyright:: Copyright (c) 2016 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/knife/azure_base'
|
20
|
+
require 'chef/knife/bootstrap/common_bootstrap_options'
|
21
|
+
require 'chef/knife/bootstrap/bootstrapper'
|
22
|
+
|
23
|
+
class Chef
|
24
|
+
class Knife
|
25
|
+
class BootstrapAzure < Knife
|
26
|
+
|
27
|
+
include Knife::AzureBase
|
28
|
+
include Knife::Bootstrap::CommonBootstrapOptions
|
29
|
+
include Knife::Bootstrap::Bootstrapper
|
30
|
+
|
31
|
+
banner "knife bootstrap azure SERVER (options)"
|
32
|
+
|
33
|
+
option :azure_dns_name,
|
34
|
+
:short => "-d DNS_NAME",
|
35
|
+
:long => "--azure-dns-name DNS_NAME",
|
36
|
+
:description => "Optional. The DNS prefix name that is used to access the cloud service."
|
37
|
+
|
38
|
+
def run
|
39
|
+
ui.info "Validating..."
|
40
|
+
validate_asm_keys!
|
41
|
+
|
42
|
+
begin
|
43
|
+
if @name_args.length == 1
|
44
|
+
service.add_extension(@name_args[0], set_ext_params)
|
45
|
+
else
|
46
|
+
raise ArgumentError, 'Please specify the SERVER name which needs to be bootstrapped via the Chef Extension.' if @name_args.length == 0
|
47
|
+
raise ArgumentError, 'Please specify only one SERVER name which needs to be bootstrapped via the Chef Extension.' if @name_args.length > 1
|
48
|
+
end
|
49
|
+
rescue => error
|
50
|
+
ui.error("#{error.message}")
|
51
|
+
Chef::Log.debug("#{error.backtrace.join("\n")}")
|
52
|
+
exit
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def set_ext_params
|
57
|
+
begin
|
58
|
+
ui.info "Looking for the server #{@name_args[0]}..."
|
59
|
+
server = service.find_server({
|
60
|
+
name: @name_args[0],
|
61
|
+
azure_dns_name: locate_config_value(:azure_dns_name)
|
62
|
+
})
|
63
|
+
|
64
|
+
if !server.instance_of? Azure::Role
|
65
|
+
if server.nil?
|
66
|
+
if !locate_config_value(:azure_dns_name).nil?
|
67
|
+
raise "Hosted service #{locate_config_value(:azure_dns_name)} does not exist."
|
68
|
+
else
|
69
|
+
raise "Server #{@name_args[0]} does not exist."
|
70
|
+
end
|
71
|
+
else
|
72
|
+
raise "Server #{@name_args[0]} does not exist under the hosted service #{locate_config_value(:azure_dns_name)}."
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
ui.info "\nServer #{@name_args[0]} found."
|
77
|
+
ui.info "Setting the Chef Extension parameters."
|
78
|
+
ext_params = Hash.new
|
79
|
+
case server.os_type.downcase
|
80
|
+
when 'windows'
|
81
|
+
ext_params[:chef_extension] = 'ChefClient'
|
82
|
+
when 'linux'
|
83
|
+
if ['ubuntu', 'debian', 'rhel', 'centos'].any? { |platform| server.os_version.downcase.include? platform }
|
84
|
+
ext_params[:chef_extension] = 'LinuxChefClient'
|
85
|
+
else
|
86
|
+
raise "OS version #{server.os_version} for OS type #{server.os_type} is not supported."
|
87
|
+
end
|
88
|
+
else
|
89
|
+
raise "OS type #{server.os_type} is not supported."
|
90
|
+
end
|
91
|
+
|
92
|
+
ext_params[:azure_dns_name] = server.hostedservicename || locate_config_value(:azure_dns_name)
|
93
|
+
ext_params[:deploy_name] = server.deployname
|
94
|
+
ext_params[:role_xml] = server.role_xml
|
95
|
+
ext_params[:azure_vm_name] = @name_args[0]
|
96
|
+
ext_params[:chef_extension_publisher] = get_chef_extension_publisher
|
97
|
+
ext_params[:chef_extension_version] = get_chef_extension_version(ext_params[:chef_extension])
|
98
|
+
ext_params[:chef_extension_public_param] = get_chef_extension_public_params
|
99
|
+
ext_params[:chef_extension_private_param] = get_chef_extension_private_params
|
100
|
+
rescue => error
|
101
|
+
ui.error("#{error.message}")
|
102
|
+
Chef::Log.debug("#{error.backtrace.join("\n")}")
|
103
|
+
exit
|
104
|
+
end
|
105
|
+
|
106
|
+
ext_params
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
@@ -0,0 +1,116 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Nimisha Sharad (nimisha.sharad@clogeny.com)
|
3
|
+
#
|
4
|
+
# Copyright:: Copyright (c) 2016 Opscode, Inc.
|
5
|
+
# License:: Apache License, Version 2.0
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
require 'chef/knife/azurerm_base'
|
21
|
+
require 'chef/knife/bootstrap/common_bootstrap_options'
|
22
|
+
require 'chef/knife/bootstrap/bootstrapper'
|
23
|
+
|
24
|
+
class Chef
|
25
|
+
class Knife
|
26
|
+
class BootstrapAzurerm < Knife
|
27
|
+
include Knife::AzurermBase
|
28
|
+
include Knife::Bootstrap::CommonBootstrapOptions
|
29
|
+
include Knife::Bootstrap::Bootstrapper
|
30
|
+
|
31
|
+
banner "knife bootstrap azurerm SERVER (options)"
|
32
|
+
|
33
|
+
option :azure_service_location,
|
34
|
+
:short => "-m LOCATION",
|
35
|
+
:long => "--azure-service-location LOCATION",
|
36
|
+
: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.
|
37
|
+
Eg: West US, East US, East Asia, Southeast Asia, North Europe, West Europe",
|
38
|
+
:proc => Proc.new { |lo| Chef::Config[:knife][:azure_service_location] = lo }
|
39
|
+
|
40
|
+
def run
|
41
|
+
ui.log("Validating...")
|
42
|
+
validate_arm_keys!(:azure_resource_group_name, :azure_service_location)
|
43
|
+
|
44
|
+
begin
|
45
|
+
if @name_args.length == 1
|
46
|
+
ui.log("Creating VirtualMachineExtension....")
|
47
|
+
vm_extension = service.create_vm_extension(set_ext_params)
|
48
|
+
if vm_extension
|
49
|
+
ui.log("VirtualMachineExtension creation successfull.")
|
50
|
+
ui.log("Virtual Machine Extension name is: #{vm_extension.name}")
|
51
|
+
ui.log("Virtual Machine Extension ID is: #{vm_extension.id}")
|
52
|
+
end
|
53
|
+
else
|
54
|
+
raise ArgumentError, 'Please specify the SERVER name which needs to be bootstrapped via the Chef Extension.' if @name_args.length == 0
|
55
|
+
raise ArgumentError, 'Please specify only one SERVER name which needs to be bootstrapped via the Chef Extension.' if @name_args.length > 1
|
56
|
+
end
|
57
|
+
rescue => error
|
58
|
+
if error.class == MsRestAzure::AzureOperationError && error.body
|
59
|
+
if error.body['error']['code'] == 'DeploymentFailed'
|
60
|
+
ui.error("#{error.body['error']['message']}")
|
61
|
+
else
|
62
|
+
ui.error(error.body)
|
63
|
+
end
|
64
|
+
else
|
65
|
+
ui.error("#{error.message}")
|
66
|
+
Chef::Log.debug("#{error.backtrace.join("\n")}")
|
67
|
+
end
|
68
|
+
exit
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def set_ext_params
|
73
|
+
begin
|
74
|
+
server = service.find_server(locate_config_value(:azure_resource_group_name), name_args[0])
|
75
|
+
|
76
|
+
if server
|
77
|
+
if service.extension_already_installed?(server)
|
78
|
+
raise "Virtual machine #{server.name} already has Chef extension installed on it."
|
79
|
+
else
|
80
|
+
ext_params = Hash.new
|
81
|
+
case server.properties.storage_profile.os_disk.os_type.downcase
|
82
|
+
when 'windows'
|
83
|
+
ext_params[:chef_extension] = 'ChefClient'
|
84
|
+
when 'linux'
|
85
|
+
if ['ubuntu', 'debian', 'rhel', 'centos'].any? { |platform| server.properties.storage_profile.image_reference.offer.downcase.include? platform }
|
86
|
+
ext_params[:chef_extension] = 'LinuxChefClient'
|
87
|
+
else
|
88
|
+
raise "Offer #{server.properties.storage_profile.image_reference.offer} is not supported in the extension."
|
89
|
+
end
|
90
|
+
else
|
91
|
+
raise "OS type #{server.properties.storage_profile.os_disk.os_type} is not supported."
|
92
|
+
end
|
93
|
+
|
94
|
+
ext_params[:azure_resource_group_name] = locate_config_value(:azure_resource_group_name)
|
95
|
+
ext_params[:azure_vm_name] = @name_args[0]
|
96
|
+
ext_params[:azure_service_location] = locate_config_value(:azure_service_location)
|
97
|
+
ext_params[:chef_extension_publisher] = get_chef_extension_publisher
|
98
|
+
ext_params[:chef_extension_version] = get_chef_extension_version(ext_params[:chef_extension])
|
99
|
+
ext_params[:chef_extension_public_param] = get_chef_extension_public_params
|
100
|
+
ext_params[:chef_extension_private_param] = get_chef_extension_private_params
|
101
|
+
end
|
102
|
+
else
|
103
|
+
raise "The given server '#{@name_args[0]}' does not exist under resource group '#{locate_config_value(:azure_resource_group_name)}'"
|
104
|
+
end
|
105
|
+
rescue => error
|
106
|
+
ui.error("#{error.message}")
|
107
|
+
Chef::Log.debug("#{error.backtrace.join("\n")}")
|
108
|
+
exit
|
109
|
+
end
|
110
|
+
|
111
|
+
ext_params
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
data/lib/knife-azure/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-azure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.0
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Barry Davis
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-06-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -39,6 +39,90 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: azure_mgmt_resources
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 0.2.1
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.2.1
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: azure_mgmt_compute
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.2.1
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.2.1
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: azure_mgmt_storage
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 0.2.1
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.2.1
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: azure_mgmt_network
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - '='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 0.2.1
|
91
|
+
type: :runtime
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: 0.2.1
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: listen
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '='
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 3.0.6
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - '='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 3.0.6
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: ffi
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :runtime
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
42
126
|
- !ruby/object:Gem::Dependency
|
43
127
|
name: chef
|
44
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,6 +143,20 @@ dependencies:
|
|
59
143
|
- - ">="
|
60
144
|
- !ruby/object:Gem::Version
|
61
145
|
version: 12.2.1
|
146
|
+
- !ruby/object:Gem::Dependency
|
147
|
+
name: github_changelog_generator
|
148
|
+
requirement: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
type: :development
|
154
|
+
prerelease: false
|
155
|
+
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
62
160
|
- !ruby/object:Gem::Dependency
|
63
161
|
name: mixlib-config
|
64
162
|
requirement: !ruby/object:Gem::Requirement
|
@@ -111,19 +209,27 @@ extra_rdoc_files:
|
|
111
209
|
files:
|
112
210
|
- LICENSE
|
113
211
|
- README.md
|
114
|
-
- lib/azure/
|
115
|
-
- lib/azure/
|
116
|
-
- lib/azure/
|
117
|
-
- lib/azure/
|
118
|
-
- lib/azure/
|
119
|
-
- lib/azure/
|
120
|
-
- lib/azure/
|
121
|
-
- lib/azure/
|
122
|
-
- lib/azure/
|
123
|
-
- lib/azure/
|
124
|
-
- lib/azure/
|
125
|
-
- lib/azure/
|
126
|
-
- lib/azure/
|
212
|
+
- lib/azure/azure_interface.rb
|
213
|
+
- lib/azure/custom_errors.rb
|
214
|
+
- lib/azure/helpers.rb
|
215
|
+
- lib/azure/resource_management/ARM_base.rb
|
216
|
+
- lib/azure/resource_management/ARM_deployment_template.rb
|
217
|
+
- lib/azure/resource_management/ARM_interface.rb
|
218
|
+
- lib/azure/resource_management/windows_credentials.rb
|
219
|
+
- lib/azure/service_management/ASM_interface.rb
|
220
|
+
- lib/azure/service_management/ag.rb
|
221
|
+
- lib/azure/service_management/certificate.rb
|
222
|
+
- lib/azure/service_management/connection.rb
|
223
|
+
- lib/azure/service_management/deploy.rb
|
224
|
+
- lib/azure/service_management/disk.rb
|
225
|
+
- lib/azure/service_management/host.rb
|
226
|
+
- lib/azure/service_management/image.rb
|
227
|
+
- lib/azure/service_management/loadbalancer.rb
|
228
|
+
- lib/azure/service_management/rest.rb
|
229
|
+
- lib/azure/service_management/role.rb
|
230
|
+
- lib/azure/service_management/storageaccount.rb
|
231
|
+
- lib/azure/service_management/utility.rb
|
232
|
+
- lib/azure/service_management/vnet.rb
|
127
233
|
- lib/chef/knife/azure_ag_create.rb
|
128
234
|
- lib/chef/knife/azure_ag_list.rb
|
129
235
|
- lib/chef/knife/azure_base.rb
|
@@ -136,6 +242,16 @@ files:
|
|
136
242
|
- lib/chef/knife/azure_server_show.rb
|
137
243
|
- lib/chef/knife/azure_vnet_create.rb
|
138
244
|
- lib/chef/knife/azure_vnet_list.rb
|
245
|
+
- lib/chef/knife/azurerm_base.rb
|
246
|
+
- lib/chef/knife/azurerm_server_create.rb
|
247
|
+
- lib/chef/knife/azurerm_server_delete.rb
|
248
|
+
- lib/chef/knife/azurerm_server_list.rb
|
249
|
+
- lib/chef/knife/azurerm_server_show.rb
|
250
|
+
- lib/chef/knife/bootstrap/bootstrap_options.rb
|
251
|
+
- lib/chef/knife/bootstrap/bootstrapper.rb
|
252
|
+
- lib/chef/knife/bootstrap/common_bootstrap_options.rb
|
253
|
+
- lib/chef/knife/bootstrap_azure.rb
|
254
|
+
- lib/chef/knife/bootstrap_azurerm.rb
|
139
255
|
- lib/knife-azure/version.rb
|
140
256
|
homepage: https://github.com/chef/knife-azure
|
141
257
|
licenses:
|
@@ -157,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
273
|
version: '0'
|
158
274
|
requirements: []
|
159
275
|
rubyforge_project:
|
160
|
-
rubygems_version: 2.
|
276
|
+
rubygems_version: 2.5.1
|
161
277
|
signing_key:
|
162
278
|
specification_version: 4
|
163
279
|
summary: A plugin to the Chef knife tool for creating instances on the Microsoft Azure
|