kitchen-azurerm 0.14.7 → 0.14.8

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: c0c33abd1f9345b395675761fef0e3ae2aea83fd2719a6c9cb7b7edd44b31ff9
4
- data.tar.gz: 9f9e8b53d62ec61336bc41849622f1c0f06d92eb6a15bc3c573a00e103aed1d6
3
+ metadata.gz: 97bbd49be5ec263bf62071763c58b4c5e1fcf9fd43032182e4129ab648d480eb
4
+ data.tar.gz: 61b500b1cea1e867b23380aa4768aa1a48d301dd5ecd299b80508d54af5ce214
5
5
  SHA512:
6
- metadata.gz: 8cef50b5ed30cc5698b44c91a09e757ff7d56256f3e0b1f7dc05ad6e3125fc4dd33f66b03eb60217bf96d67fbd69e644708ca626c47ad6eb42edcfd49dd85d48
7
- data.tar.gz: 277944a2564f3fcaf6adb7cadddd950c5166b50a271d00cab8affd46f90eb0f827e66b73eaa571b9f46e2b0614687b624302c658ca36be23b9bd3cf714c048bc
6
+ metadata.gz: 0f99b8ab2793552a5bf34d4264250d313284463ca409c26fd7fc899c8c9c44519a8dd1d102b3027fbe463b16ab1a4a7ed2a702005f45595ca045e45ec8dddb34
7
+ data.tar.gz: 824de194c5bc3ca87388acbf861d3aceef3db00adc9e66c5b1eedf7faa79836f7e113e722a838c36cef54ec2a7d213e825ddc2cf34ac77665a3ef4cca2e09281
data/README.md CHANGED
@@ -479,6 +479,42 @@ Example postdeploy.json to enable MSI extention on VM:
479
479
  }
480
480
  ```
481
481
 
482
+ ### .kitchen.yml example 10 - Enabling Managed Service Identities
483
+
484
+ This example demonstrates how to enable a System Assigned Identity and User Assigned Identities on a Kitchen VM.
485
+ Any combination of System and User assigned identities may be enabled, and multiple User Assigned Identities can be supplied.
486
+
487
+ See the [Managed identities for Azure resources](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) documentation for more information on using Managed Service Identities.
488
+
489
+ ```yaml
490
+ ---
491
+ driver:
492
+ name: azurerm
493
+ subscription_id: '4801fa9d-YOUR-GUID-HERE-b265ff49ce21'
494
+ location: 'West Europe'
495
+ machine_size: 'Standard_D1'
496
+
497
+ transport:
498
+ ssh_key: ~/.ssh/id_kitchen-azurerm
499
+
500
+ provisioner:
501
+ name: chef_zero
502
+
503
+ platforms:
504
+ - name: ubuntu-1404
505
+ driver:
506
+ image_urn: Canonical:UbuntuServer:14.04.4-LTS:latest
507
+ system_assigned_identity: true
508
+ user_assigned_identities:
509
+ - /subscriptions/4801fa9d-YOUR-GUID-HERE-b265ff49ce21/resourcegroups/test-kitchen-user/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-kitchen-user
510
+
511
+ suites:
512
+ - name: default
513
+ run_list:
514
+ - recipe[kitchentesting::default]
515
+ attributes:
516
+ ```
517
+
482
518
 
483
519
  ## Support for Government and Sovereign Clouds (China and Germany)
484
520
 
@@ -146,6 +146,14 @@ module Kitchen
146
146
  false
147
147
  end
148
148
 
149
+ default_config(:system_assigned_identity) do |_config|
150
+ false
151
+ end
152
+
153
+ default_config(:user_assigned_identities) do |_config|
154
+ []
155
+ end
156
+
149
157
  default_config(:destroy_explicit_resource_group) do |_config|
150
158
  true
151
159
  end
@@ -166,6 +174,8 @@ module Kitchen
166
174
  adminPassword: state[:password] || "P2ssw0rd",
167
175
  dnsNameForPublicIP: "kitchen-#{state[:uuid]}",
168
176
  vmName: state[:vm_name],
177
+ systemAssignedIdentity: config[:system_assigned_identity],
178
+ userAssignedIdentities: config[:user_assigned_identities],
169
179
  }
170
180
 
171
181
  if config[:subscription_id].to_s == ""
@@ -143,6 +143,20 @@
143
143
  "description": "The type of storage to use (e.g. Standard_LRS or Premium_LRS)."
144
144
  }
145
145
  },
146
+ "systemAssignedIdentity": {
147
+ "type": "bool",
148
+ "defaultValue": false,
149
+ "metadata": {
150
+ "description": "Whether to enable system assigned identity for the vm."
151
+ }
152
+ },
153
+ "userAssignedIdentities": {
154
+ "type": "array",
155
+ "defaultValue": [],
156
+ "metadata": {
157
+ "description": "A list of resource IDs for user identities to associate with the Virtual Machine, or empty to disable user assigned identities."
158
+ }
159
+ },
146
160
  "bootDiagnosticsEnabled": {
147
161
  "type": "string",
148
162
  "defaultValue": "true",
@@ -164,6 +178,7 @@
164
178
  "vmStorageAccountContainerName": "vhds",
165
179
  "vmName": "[parameters('vmName')]",
166
180
  "vmSize": "[parameters('vmSize')]",
181
+ "vmIdentityType": "[if(parameters('systemAssignedIdentity'), if(empty(parameters('userAssignedIdentities')), 'SystemAssigned', 'SystemAssigned, UserAssigned'), if(empty(parameters('userAssignedIdentities')), 'None', 'UserAssigned'))]",
167
182
  "virtualNetworkName": "vnet",
168
183
  "vnetID": "<%= vnet_id %>",
169
184
  "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]"
@@ -193,6 +208,7 @@
193
208
  "accountType": "[variables('storageAccountType')]"
194
209
  },
195
210
  "tags": {
211
+ <%= vm_tags unless vm_tags.empty? %>
196
212
  }
197
213
  },
198
214
  <%- end -%>
@@ -210,6 +226,7 @@
210
226
  }
211
227
  },
212
228
  "tags": {
229
+ <%= vm_tags unless vm_tags.empty? %>
213
230
  }
214
231
  },
215
232
  <%- end -%>
@@ -242,6 +259,7 @@
242
259
  ]
243
260
  },
244
261
  "tags": {
262
+ <%= vm_tags unless vm_tags.empty? %>
245
263
  }
246
264
  },
247
265
  {
@@ -342,6 +360,10 @@
342
360
  <%- end -%>
343
361
  }
344
362
  },
363
+ "identity": {
364
+ "type": "[variables('vmIdentityType')]",
365
+ "identityIds": "[if(empty(parameters('userAssignedIdentities')), json('null'), parameters('userAssignedIdentities'))]"
366
+ },
345
367
  "tags": {
346
368
  <%= vm_tags unless vm_tags.empty? %>
347
369
  }
data/templates/public.erb CHANGED
@@ -143,6 +143,20 @@
143
143
  "description": "The type of storage to use (e.g. Standard_LRS or Premium_LRS)."
144
144
  }
145
145
  },
146
+ "systemAssignedIdentity": {
147
+ "type": "bool",
148
+ "defaultValue": false,
149
+ "metadata": {
150
+ "description": "Whether to enable system assigned identity for the vm."
151
+ }
152
+ },
153
+ "userAssignedIdentities": {
154
+ "type": "array",
155
+ "defaultValue": [],
156
+ "metadata": {
157
+ "description": "A list of resource IDs for user identities to associate with the Virtual Machine, or empty to disable user assigned identities."
158
+ }
159
+ },
146
160
  "bootDiagnosticsEnabled": {
147
161
  "type": "string",
148
162
  "defaultValue": "true",
@@ -164,6 +178,7 @@
164
178
  "vmStorageAccountContainerName": "vhds",
165
179
  "vmName": "[parameters('vmName')]",
166
180
  "vmSize": "[parameters('vmSize')]",
181
+ "vmIdentityType": "[if(parameters('systemAssignedIdentity'), if(empty(parameters('userAssignedIdentities')), 'SystemAssigned', 'SystemAssigned, UserAssigned'), if(empty(parameters('userAssignedIdentities')), 'None', 'UserAssigned'))]",
167
182
  "virtualNetworkName": "vnet",
168
183
  "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
169
184
  "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]"
@@ -193,6 +208,7 @@
193
208
  "accountType": "[variables('storageAccountType')]"
194
209
  },
195
210
  "tags": {
211
+ <%= vm_tags unless vm_tags.empty? %>
196
212
  }
197
213
  },
198
214
  <%- end -%>
@@ -209,6 +225,7 @@
209
225
  }
210
226
  },
211
227
  "tags": {
228
+ <%= vm_tags unless vm_tags.empty? %>
212
229
  }
213
230
  },
214
231
  {
@@ -232,6 +249,7 @@
232
249
  ]
233
250
  },
234
251
  "tags": {
252
+ <%= vm_tags unless vm_tags.empty? %>
235
253
  }
236
254
  },
237
255
  {
@@ -260,6 +278,7 @@
260
278
  ]
261
279
  },
262
280
  "tags": {
281
+ <%= vm_tags unless vm_tags.empty? %>
263
282
  }
264
283
  },
265
284
  {
@@ -360,6 +379,10 @@
360
379
  <%- end -%>
361
380
  }
362
381
  },
382
+ "identity": {
383
+ "type": "[variables('vmIdentityType')]",
384
+ "identityIds": "[if(empty(parameters('userAssignedIdentities')), json('null'), parameters('userAssignedIdentities'))]"
385
+ },
363
386
  "tags": {
364
387
  <%= vm_tags unless vm_tags.empty? %>
365
388
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kitchen-azurerm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.7
4
+ version: 0.14.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stuart Preston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-18 00:00:00.000000000 Z
11
+ date: 2018-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: azure_mgmt_network
@@ -54,42 +54,42 @@ dependencies:
54
54
  name: inifile
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
- - - "~>"
58
- - !ruby/object:Gem::Version
59
- version: '3.0'
60
57
  - - ">="
61
58
  - !ruby/object:Gem::Version
62
59
  version: 3.0.0
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '3.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '3.0'
70
67
  - - ">="
71
68
  - !ruby/object:Gem::Version
72
69
  version: 3.0.0
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '3.0'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: sshkey
75
75
  requirement: !ruby/object:Gem::Requirement
76
76
  requirements:
77
- - - "~>"
78
- - !ruby/object:Gem::Version
79
- version: '1'
80
77
  - - ">="
81
78
  - !ruby/object:Gem::Version
82
79
  version: 1.0.0
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1'
83
83
  type: :runtime
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '1'
90
87
  - - ">="
91
88
  - !ruby/object:Gem::Version
92
89
  version: 1.0.0
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1'
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: bundler
95
95
  requirement: !ruby/object:Gem::Requirement
@@ -165,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  requirements: []
168
- rubyforge_project:
169
- rubygems_version: 2.7.6
168
+ rubygems_version: 3.0.1
170
169
  signing_key:
171
170
  specification_version: 4
172
171
  summary: Test Kitchen driver for Azure Resource Manager.