kitchen-azurerm 0.14.7 → 0.14.8

Sign up to get free protection for your applications and to get access to all the features.
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.