vagrant-azure 1.3.0 → 2.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +5 -6
  5. data/LICENSE +21 -4
  6. data/README.md +36 -178
  7. data/Rakefile +3 -5
  8. data/example_box/Vagrantfile +7 -8
  9. data/lib/vagrant-azure/action/connect_azure.rb +9 -30
  10. data/lib/vagrant-azure/action/is_created.rb +19 -0
  11. data/lib/vagrant-azure/action/is_stopped.rb +19 -0
  12. data/lib/vagrant-azure/action/message_already_created.rb +19 -0
  13. data/lib/vagrant-azure/action/message_not_created.rb +19 -0
  14. data/lib/vagrant-azure/action/message_will_not_destroy.rb +19 -0
  15. data/lib/vagrant-azure/action/read_ssh_info.rb +13 -33
  16. data/lib/vagrant-azure/action/read_state.rb +28 -26
  17. data/lib/vagrant-azure/action/restart_vm.rb +11 -11
  18. data/lib/vagrant-azure/action/run_instance.rb +164 -80
  19. data/lib/vagrant-azure/action/start_instance.rb +34 -15
  20. data/lib/vagrant-azure/action/stop_instance.rb +36 -21
  21. data/lib/vagrant-azure/action/terminate_instance.rb +18 -14
  22. data/lib/vagrant-azure/action/wait_for_state.rb +17 -23
  23. data/lib/vagrant-azure/action.rb +49 -124
  24. data/lib/vagrant-azure/config.rb +107 -111
  25. data/lib/vagrant-azure/errors.rb +9 -11
  26. data/lib/vagrant-azure/plugin.rb +8 -32
  27. data/lib/vagrant-azure/provider.rb +7 -29
  28. data/lib/vagrant-azure/services/azure_resource_manager.rb +80 -0
  29. data/lib/vagrant-azure/util/machine_id_helper.rb +20 -0
  30. data/lib/vagrant-azure/util/timer.rb +15 -0
  31. data/lib/vagrant-azure/util/vm_await.rb +36 -0
  32. data/lib/vagrant-azure/util/vm_status_translator.rb +59 -0
  33. data/lib/vagrant-azure/version.rb +5 -7
  34. data/lib/vagrant-azure.rb +4 -9
  35. data/locales/en.yml +74 -3
  36. data/spec/spec_helper.rb +40 -0
  37. data/spec/vagrant-azure/config_spec.rb +18 -0
  38. data/spec/vagrant-azure/services/azure_resource_manager_spec.rb +19 -0
  39. data/templates/arm/deployment.json.erb +264 -0
  40. data/vagrant-azure.gemspec +19 -14
  41. metadata +96 -51
  42. data/lib/vagrant-azure/action/os_type.rb +0 -34
  43. data/lib/vagrant-azure/action/powershell_run.rb +0 -28
  44. data/lib/vagrant-azure/action/rdp.rb +0 -63
  45. data/lib/vagrant-azure/action/read_winrm_info.rb +0 -57
  46. data/lib/vagrant-azure/action/sync_folders.rb +0 -64
  47. data/lib/vagrant-azure/action/vagrant_azure_service.rb +0 -44
  48. data/lib/vagrant-azure/capabilities/winrm.rb +0 -12
  49. data/lib/vagrant-azure/command/powershell.rb +0 -43
  50. data/lib/vagrant-azure/command/rdp.rb +0 -24
  51. data/lib/vagrant-azure/driver.rb +0 -48
  52. data/lib/vagrant-azure/monkey_patch/winrm.rb +0 -12
@@ -0,0 +1,264 @@
1
+ {
2
+ "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json",
3
+ "contentVersion": "1.0.0.0",
4
+ "parameters": {
5
+ "adminUserName": {
6
+ "type": "string",
7
+ "defaultValue": "vagrant",
8
+ "metadata": {
9
+ "description": "User name for the Virtual Machine."
10
+ }
11
+ },
12
+ <% if operating_system == 'Windows' %>
13
+ "adminPassword": {
14
+ "type": "string",
15
+ "metadata": {
16
+ "description": "Password for the Virtual Machine (only used on Windows)"
17
+ }
18
+ },
19
+ <% end %>
20
+ "sshKeyData": {
21
+ "type": "string",
22
+ "metadata": {
23
+ "description": "SSH rsa public key file as a string."
24
+ }
25
+ },
26
+ "dnsLabelPrefix": {
27
+ "type": "string",
28
+ "metadata": {
29
+ "description": "Unique DNS Name for the Public IP used to access the Virtual Machine."
30
+ }
31
+ },
32
+ "vmSize": {
33
+ "type": "string",
34
+ "defaultValue": "Standard_D1",
35
+ "metadata": {
36
+ "description": "Size of the VM"
37
+ }
38
+ },
39
+ "vmName": {
40
+ "type": "string",
41
+ "metadata": {
42
+ "description": "Name of the VM"
43
+ }
44
+ },
45
+ "imagePublisher": {
46
+ "type": "string",
47
+ "defaultValue": "canonical",
48
+ "metadata": {
49
+ "description": "Name of the image publisher"
50
+ }
51
+ },
52
+ "imageOffer": {
53
+ "type": "string",
54
+ "defaultValue": "ubuntuserver",
55
+ "metadata": {
56
+ "description": "Name of the image offer"
57
+ }
58
+ },
59
+ "imageSku": {
60
+ "type": "string",
61
+ "defaultValue": "16.04.0-DAILY-LTS",
62
+ "metadata": {
63
+ "description": "Name of the image sku"
64
+ }
65
+ },
66
+ "imageVersion": {
67
+ "type": "string",
68
+ "defaultValue": "latest",
69
+ "metadata": {
70
+ "description": "Name of the image sku"
71
+ }
72
+ },
73
+ "subnetName": {
74
+ "type": "string",
75
+ "defaultValue": "vagrant-subnet",
76
+ "metadata": {
77
+ "description": "Name of the subnet"
78
+ }
79
+ },
80
+ "virtualNetworkName": {
81
+ "type": "string",
82
+ "defaultValue": "vagrantVNET",
83
+ "metadata": {
84
+ "description": "Name of the virtual network"
85
+ }
86
+ }
87
+ },
88
+ "variables": {
89
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'vagrant')]",
90
+ "location": "[resourceGroup().location]",
91
+ "osDiskName": "osDisk1",
92
+ "addressPrefix": "10.0.0.0/16",
93
+ "subnetPrefix": "10.0.0.0/24",
94
+ "vmStorageAccountContainerName": "vagrant-vhds",
95
+ "nicName": "[concat(parameters('vmName'), '-vagrantNIC')]",
96
+ "publicIPAddressName": "[concat(parameters('vmName'), '-vagrantPublicIP')]",
97
+ "publicIPAddressType": "Dynamic",
98
+ "storageAccountType": "Standard_LRS",
99
+ "networkSecurityGroupName": "[concat(parameters('vmName'), '-vagrantNSG')]",
100
+ "sshKeyPath": "[concat('/home/',parameters('adminUsername'),'/.ssh/authorized_keys')]",
101
+ "vnetID": "[resourceId('Microsoft.Network/virtualNetworks', parameters('virtualNetworkName'))]",
102
+ "subnetRef": "[concat(variables('vnetID'),'/subnets/',parameters('subnetName'))]",
103
+ "apiVersion": "2015-06-15"
104
+ },
105
+ "resources": [
106
+ {
107
+ "type": "Microsoft.Storage/storageAccounts",
108
+ "name": "[variables('storageAccountName')]",
109
+ "apiVersion": "[variables('apiVersion')]",
110
+ "location": "[variables('location')]",
111
+ "properties": {
112
+ "accountType": "[variables('storageAccountType')]"
113
+ }
114
+ },
115
+ {
116
+ "apiVersion": "[variables('apiVersion')]",
117
+ "type": "Microsoft.Network/networkSecurityGroups",
118
+ "name": "[variables('networkSecurityGroupName')]",
119
+ "location": "[variables('location')]",
120
+ "properties": {
121
+ "securityRules": [
122
+ {
123
+ "name": "ssh_rule",
124
+ "properties": {
125
+ "description": "Locks inbound down to ssh default port 22.",
126
+ "protocol": "Tcp",
127
+ "sourcePortRange": "*",
128
+ "destinationPortRange": "22",
129
+ "sourceAddressPrefix": "*",
130
+ "destinationAddressPrefix": "*",
131
+ "access": "Allow",
132
+ "priority": 123,
133
+ "direction": "Inbound"
134
+ }
135
+ }
136
+ ]
137
+ }
138
+ },
139
+ {
140
+ "apiVersion": "[variables('apiVersion')]",
141
+ "type": "Microsoft.Network/publicIPAddresses",
142
+ "name": "[variables('publicIPAddressName')]",
143
+ "location": "[variables('location')]",
144
+ "properties": {
145
+ "publicIPAllocationMethod": "[variables('publicIPAddressType')]",
146
+ "dnsSettings": {
147
+ "domainNameLabel": "[parameters('dnsLabelPrefix')]"
148
+ }
149
+ }
150
+ },
151
+ {
152
+ "apiVersion": "[variables('apiVersion')]",
153
+ "type": "Microsoft.Network/virtualNetworks",
154
+ "name": "[parameters('virtualNetworkName')]",
155
+ "location": "[variables('location')]",
156
+ "dependsOn": [
157
+ "[concat('Microsoft.Network/networkSecurityGroups/', variables('networkSecurityGroupName'))]"
158
+ ],
159
+ "properties": {
160
+ "addressSpace": {
161
+ "addressPrefixes": [
162
+ "[variables('addressPrefix')]"
163
+ ]
164
+ },
165
+ "subnets": [
166
+ {
167
+ "name": "[parameters('subnetName')]",
168
+ "properties": {
169
+ "addressPrefix": "[variables('subnetPrefix')]",
170
+ "networkSecurityGroup": {
171
+ "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
172
+ }
173
+ }
174
+ }
175
+ ]
176
+ }
177
+ },
178
+ {
179
+ "apiVersion": "[variables('apiVersion')]",
180
+ "type": "Microsoft.Network/networkInterfaces",
181
+ "name": "[variables('nicName')]",
182
+ "location": "[variables('location')]",
183
+ "dependsOn": [
184
+ "[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]",
185
+ "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]"
186
+ ],
187
+ "properties": {
188
+ "ipConfigurations": [
189
+ {
190
+ "name": "ipconfig1",
191
+ "properties": {
192
+ "privateIPAllocationMethod": "Dynamic",
193
+ "publicIPAddress": {
194
+ "id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIPAddressName'))]"
195
+ },
196
+ "subnet": {
197
+ "id": "[variables('subnetRef')]"
198
+ }
199
+ }
200
+ }
201
+ ]
202
+ }
203
+ },
204
+ {
205
+ "apiVersion": "[variables('apiVersion')]",
206
+ "type": "Microsoft.Compute/virtualMachines",
207
+ "name": "[parameters('vmName')]",
208
+ "location": "[variables('location')]",
209
+ "dependsOn": [
210
+ "[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
211
+ "[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
212
+ ],
213
+ "properties": {
214
+ "hardwareProfile": {
215
+ "vmSize": "[parameters('vmSize')]"
216
+ },
217
+ "osProfile": {
218
+ "computerName": "[parameters('vmName')]",
219
+ "adminUsername": "[parameters('adminUsername')]",
220
+ "linuxConfiguration": {
221
+ "disablePasswordAuthentication": "true",
222
+ "ssh": {
223
+ "publicKeys": [
224
+ {
225
+ "path": "[variables('sshKeyPath')]",
226
+ "keyData": "[parameters('sshKeyData')]"
227
+ }
228
+ ]
229
+ }
230
+ }
231
+ },
232
+ "storageProfile": {
233
+ "imageReference": {
234
+ "publisher": "[parameters('imagePublisher')]",
235
+ "offer": "[parameters('imageOffer')]",
236
+ "sku": "[parameters('imageSku')]",
237
+ "version": "latest"
238
+ },
239
+ "osDisk": {
240
+ "name": "osdisk",
241
+ "vhd": {
242
+ "uri": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/', variables('osDiskName'),'.vhd')]"
243
+ },
244
+ "caching": "ReadWrite",
245
+ "createOption": "FromImage"
246
+ }
247
+ },
248
+ "networkProfile": {
249
+ "networkInterfaces": [
250
+ {
251
+ "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('nicName'))]"
252
+ }
253
+ ]
254
+ },
255
+ "diagnosticsProfile": {
256
+ "bootDiagnostics": {
257
+ "enabled": "true",
258
+ "storageUri": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net')]"
259
+ }
260
+ }
261
+ }
262
+ }
263
+ ]
264
+ }
@@ -1,27 +1,32 @@
1
- # coding: utf-8
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License in the project root for license information.
2
4
  lib = File.expand_path('../lib', __FILE__)
3
5
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
6
  require 'vagrant-azure/version'
5
7
 
6
8
  Gem::Specification.new do |s|
7
9
  s.name = 'vagrant-azure'
8
- s.version = VagrantPlugins::WinAzure::VERSION
9
- s.authors = %w(MSOpenTech Azure)
10
- s.description = 'Enable Vagrant to manage machines in Azure.'
11
- s.summary = 'Enable Vagrant to manage Windows and Linux machines in Azure.'
12
- s.homepage = 'https://github.com/MSOpenTech/vagrant-azure'
13
- s.license = 'Apache 2.0'
10
+ s.version = VagrantPlugins::Azure::VERSION
11
+ s.authors = %w(Azure)
12
+ s.description = 'Enable Vagrant to manage machines in Microsoft Azure.'
13
+ s.summary = 'Enable Vagrant to manage Windows and Linux machines in Microsoft Azure.'
14
+ s.homepage = 'https://github.com/azure/vagrant-azure'
15
+ s.license = 'MIT'
14
16
  s.require_paths = ['lib']
15
17
  s.files = `git ls-files`.split("\n")
16
18
  s.bindir = 'bin'
17
19
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
20
 
19
- s.add_runtime_dependency 'azure', '0.7.0'
20
- s.add_runtime_dependency 'httpclient', '2.4.0'
21
+ s.add_runtime_dependency 'azure_mgmt_resources', '~>0.2.1'
22
+ s.add_runtime_dependency 'azure_mgmt_compute', '~>0.2.1'
23
+ s.add_runtime_dependency 'azure_mgmt_network', '~>0.2.1'
24
+ s.add_runtime_dependency 'azure_mgmt_storage', '~>0.2.1'
25
+ s.add_runtime_dependency 'haikunator', '~>1.1'
21
26
 
22
- s.add_development_dependency 'bundler', '~> 1.3'
23
- s.add_development_dependency 'rake'
24
- s.add_development_dependency 'minitest'
25
- s.add_development_dependency 'minitest-reporters'
26
- s.add_development_dependency 'mocha'
27
+ s.add_development_dependency 'bundler', '~>1.9'
28
+ s.add_development_dependency 'rake', '~>11.1'
29
+ s.add_development_dependency 'rspec', '~>3.4'
30
+ s.add_development_dependency 'simplecov', '~>0.11.2'
31
+ s.add_development_dependency 'coveralls', '~>0.8'
27
32
  end
metadata CHANGED
@@ -1,121 +1,163 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-azure
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
- - MSOpenTech
8
7
  - Azure
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-10-06 00:00:00.000000000 Z
11
+ date: 2016-04-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: azure
14
+ name: azure_mgmt_resources
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
- - - '='
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: azure_mgmt_compute
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
19
32
  - !ruby/object:Gem::Version
20
- version: 0.7.0
33
+ version: 0.2.1
21
34
  type: :runtime
22
35
  prerelease: false
23
36
  version_requirements: !ruby/object:Gem::Requirement
24
37
  requirements:
25
- - - '='
38
+ - - "~>"
26
39
  - !ruby/object:Gem::Version
27
- version: 0.7.0
40
+ version: 0.2.1
28
41
  - !ruby/object:Gem::Dependency
29
- name: httpclient
42
+ name: azure_mgmt_network
30
43
  requirement: !ruby/object:Gem::Requirement
31
44
  requirements:
32
- - - '='
45
+ - - "~>"
33
46
  - !ruby/object:Gem::Version
34
- version: 2.4.0
47
+ version: 0.2.1
35
48
  type: :runtime
36
49
  prerelease: false
37
50
  version_requirements: !ruby/object:Gem::Requirement
38
51
  requirements:
39
- - - '='
52
+ - - "~>"
40
53
  - !ruby/object:Gem::Version
41
- version: 2.4.0
54
+ version: 0.2.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: azure_mgmt_storage
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: haikunator
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.1'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.1'
42
83
  - !ruby/object:Gem::Dependency
43
84
  name: bundler
44
85
  requirement: !ruby/object:Gem::Requirement
45
86
  requirements:
46
87
  - - "~>"
47
88
  - !ruby/object:Gem::Version
48
- version: '1.3'
89
+ version: '1.9'
49
90
  type: :development
50
91
  prerelease: false
51
92
  version_requirements: !ruby/object:Gem::Requirement
52
93
  requirements:
53
94
  - - "~>"
54
95
  - !ruby/object:Gem::Version
55
- version: '1.3'
96
+ version: '1.9'
56
97
  - !ruby/object:Gem::Dependency
57
98
  name: rake
58
99
  requirement: !ruby/object:Gem::Requirement
59
100
  requirements:
60
- - - ">="
101
+ - - "~>"
61
102
  - !ruby/object:Gem::Version
62
- version: '0'
103
+ version: '11.1'
63
104
  type: :development
64
105
  prerelease: false
65
106
  version_requirements: !ruby/object:Gem::Requirement
66
107
  requirements:
67
- - - ">="
108
+ - - "~>"
68
109
  - !ruby/object:Gem::Version
69
- version: '0'
110
+ version: '11.1'
70
111
  - !ruby/object:Gem::Dependency
71
- name: minitest
112
+ name: rspec
72
113
  requirement: !ruby/object:Gem::Requirement
73
114
  requirements:
74
- - - ">="
115
+ - - "~>"
75
116
  - !ruby/object:Gem::Version
76
- version: '0'
117
+ version: '3.4'
77
118
  type: :development
78
119
  prerelease: false
79
120
  version_requirements: !ruby/object:Gem::Requirement
80
121
  requirements:
81
- - - ">="
122
+ - - "~>"
82
123
  - !ruby/object:Gem::Version
83
- version: '0'
124
+ version: '3.4'
84
125
  - !ruby/object:Gem::Dependency
85
- name: minitest-reporters
126
+ name: simplecov
86
127
  requirement: !ruby/object:Gem::Requirement
87
128
  requirements:
88
- - - ">="
129
+ - - "~>"
89
130
  - !ruby/object:Gem::Version
90
- version: '0'
131
+ version: 0.11.2
91
132
  type: :development
92
133
  prerelease: false
93
134
  version_requirements: !ruby/object:Gem::Requirement
94
135
  requirements:
95
- - - ">="
136
+ - - "~>"
96
137
  - !ruby/object:Gem::Version
97
- version: '0'
138
+ version: 0.11.2
98
139
  - !ruby/object:Gem::Dependency
99
- name: mocha
140
+ name: coveralls
100
141
  requirement: !ruby/object:Gem::Requirement
101
142
  requirements:
102
- - - ">="
143
+ - - "~>"
103
144
  - !ruby/object:Gem::Version
104
- version: '0'
145
+ version: '0.8'
105
146
  type: :development
106
147
  prerelease: false
107
148
  version_requirements: !ruby/object:Gem::Requirement
108
149
  requirements:
109
- - - ">="
150
+ - - "~>"
110
151
  - !ruby/object:Gem::Version
111
- version: '0'
112
- description: Enable Vagrant to manage machines in Azure.
152
+ version: '0.8'
153
+ description: Enable Vagrant to manage machines in Microsoft Azure.
113
154
  email:
114
155
  executables: []
115
156
  extensions: []
116
157
  extra_rdoc_files: []
117
158
  files:
118
159
  - ".gitignore"
160
+ - ".rspec"
119
161
  - CHANGELOG.md
120
162
  - Gemfile
121
163
  - LICENSE
@@ -128,36 +170,39 @@ files:
128
170
  - lib/vagrant-azure.rb
129
171
  - lib/vagrant-azure/action.rb
130
172
  - lib/vagrant-azure/action/connect_azure.rb
131
- - lib/vagrant-azure/action/os_type.rb
132
- - lib/vagrant-azure/action/powershell_run.rb
133
- - lib/vagrant-azure/action/rdp.rb
173
+ - lib/vagrant-azure/action/is_created.rb
174
+ - lib/vagrant-azure/action/is_stopped.rb
175
+ - lib/vagrant-azure/action/message_already_created.rb
176
+ - lib/vagrant-azure/action/message_not_created.rb
177
+ - lib/vagrant-azure/action/message_will_not_destroy.rb
134
178
  - lib/vagrant-azure/action/read_ssh_info.rb
135
179
  - lib/vagrant-azure/action/read_state.rb
136
- - lib/vagrant-azure/action/read_winrm_info.rb
137
180
  - lib/vagrant-azure/action/restart_vm.rb
138
181
  - lib/vagrant-azure/action/run_instance.rb
139
182
  - lib/vagrant-azure/action/start_instance.rb
140
183
  - lib/vagrant-azure/action/stop_instance.rb
141
- - lib/vagrant-azure/action/sync_folders.rb
142
184
  - lib/vagrant-azure/action/terminate_instance.rb
143
- - lib/vagrant-azure/action/vagrant_azure_service.rb
144
185
  - lib/vagrant-azure/action/wait_for_state.rb
145
- - lib/vagrant-azure/capabilities/winrm.rb
146
- - lib/vagrant-azure/command/powershell.rb
147
- - lib/vagrant-azure/command/rdp.rb
148
186
  - lib/vagrant-azure/config.rb
149
- - lib/vagrant-azure/driver.rb
150
187
  - lib/vagrant-azure/errors.rb
151
- - lib/vagrant-azure/monkey_patch/winrm.rb
152
188
  - lib/vagrant-azure/plugin.rb
153
189
  - lib/vagrant-azure/provider.rb
190
+ - lib/vagrant-azure/services/azure_resource_manager.rb
191
+ - lib/vagrant-azure/util/machine_id_helper.rb
192
+ - lib/vagrant-azure/util/timer.rb
193
+ - lib/vagrant-azure/util/vm_await.rb
194
+ - lib/vagrant-azure/util/vm_status_translator.rb
154
195
  - lib/vagrant-azure/version.rb
155
196
  - locales/en.yml
197
+ - spec/spec_helper.rb
198
+ - spec/vagrant-azure/config_spec.rb
199
+ - spec/vagrant-azure/services/azure_resource_manager_spec.rb
200
+ - templates/arm/deployment.json.erb
156
201
  - templates/provisioners/chef-solo/solo.erb
157
202
  - vagrant-azure.gemspec
158
- homepage: https://github.com/MSOpenTech/vagrant-azure
203
+ homepage: https://github.com/azure/vagrant-azure
159
204
  licenses:
160
- - Apache 2.0
205
+ - MIT
161
206
  metadata: {}
162
207
  post_install_message:
163
208
  rdoc_options: []
@@ -170,13 +215,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
170
215
  version: '0'
171
216
  required_rubygems_version: !ruby/object:Gem::Requirement
172
217
  requirements:
173
- - - ">="
218
+ - - ">"
174
219
  - !ruby/object:Gem::Version
175
- version: '0'
220
+ version: 1.3.1
176
221
  requirements: []
177
222
  rubyforge_project:
178
223
  rubygems_version: 2.4.6
179
224
  signing_key:
180
225
  specification_version: 4
181
- summary: Enable Vagrant to manage Windows and Linux machines in Azure.
226
+ summary: Enable Vagrant to manage Windows and Linux machines in Microsoft Azure.
182
227
  test_files: []
@@ -1,34 +0,0 @@
1
- #--------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Open Technologies, Inc.
3
- # All Rights Reserved. Licensed under the Apache License, Version 2.0.
4
- # See License.txt in the project root for license information.
5
- #--------------------------------------------------------------------------
6
- require 'log4r'
7
-
8
- module VagrantPlugins
9
- module WinAzure
10
- module Action
11
- class OSType
12
- def initialize(app, env)
13
- @app = app
14
- @logger = Log4r::Logger.new('vagrant_azure::action::os_type')
15
- end
16
-
17
- def call(env)
18
-
19
- unless env[:machine].config.vm.guest
20
- env[:ui].info 'Determining OS Type By Image'
21
- guest_os_type = env[:azure_vm_service].send(:get_image, env[:machine].provider_config.vm_image).os_type
22
- env[:machine].config.vm.guest = guest_os_type && guest_os_type.downcase.to_sym
23
- if env[:machine].config.vm.guest == :windows && env[:machine].config.vm.communicator.nil?
24
- env[:machine].config.vm.communicator = :winrm
25
- end
26
- env[:ui].info "OS Type is #{guest_os_type}"
27
- end
28
-
29
- @app.call(env)
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,28 +0,0 @@
1
- module VagrantPlugins
2
- module WinAzure
3
- module Action
4
- class PowerShellRun
5
- def initialize(app, env)
6
- @app = app
7
- @logger = Log4r::Logger.new('vagrant_azure::action::powershell_run_command')
8
- end
9
-
10
- def call(env)
11
-
12
- if env[:machine].communicate.ready?
13
- env[:machine].ui.detail("PowerShell Executing: #{env[:powershell_command]}")
14
- env[:powershell_command_exit_status] = env[:machine].communicate.execute(env[:powershell_command]) do |type, stream|
15
- if type == :stdout
16
- env[:machine].ui.success(stream) unless (stream || '').chomp.empty?
17
- else
18
- env[:machine].ui.error(stream) unless (stream || '').chomp.empty?
19
- end
20
- end
21
- end
22
-
23
- @app.call(env)
24
- end
25
- end
26
- end
27
- end
28
- end