Skip to content

Commit fea0d69

Browse files
V4 support (#131)
* azureRM 4.0 support * azurerm v4 support * hibernation enabled * example storage account name * example storage account name * docs fix extensions * docs fix extensions * example change * updated example regions * sku-selector azapi2 * temp location pinning for capacity issues * temp location pinning for capacity issues * temp location pinning for capacity issues * removed example use of RO attribute * removed example use of RO attribute * example kv version updates * example explicit kv dependency
1 parent 0a41bdf commit fea0d69

54 files changed

Lines changed: 1523 additions & 576 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.terraform-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.7.5
1+
1.9.2

README.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The following requirements are needed by this module:
1212

1313
- <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) (~> 1.6)
1414

15-
- <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) (~> 3.108)
15+
- <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) (>= 3.116, < 5.0)
1616

1717
- <a name="requirement_modtm"></a> [modtm](#requirement\_modtm) (~> 0.3)
1818

@@ -740,7 +740,7 @@ Example Inputs:
740740

741741
```hcl
742742
#custom script extension example - linux
743-
extensions = [
743+
extensions = {
744744
{
745745
name = "CustomScriptExtension"
746746
publisher = "Microsoft.Azure.Extensions"
@@ -752,10 +752,10 @@ extensions = [
752752
}
753753
SETTINGS
754754
}
755-
]
755+
}
756756
757757
#custom script extension example - windows
758-
extensions = [
758+
extensions = {
759759
{
760760
name = "CustomScriptExtension"
761761
publisher = "Microsoft.Compute"
@@ -778,7 +778,7 @@ extensions = [
778778
}
779779
PROTECTED_SETTINGS
780780
}
781-
]
781+
}
782782
```
783783

784784
Type:
@@ -1520,10 +1520,11 @@ Default: `null`
15201520
Description: Object describing virtual machine additional capabilities using the following attributes:
15211521

15221522
- `ultra_ssd_enabled` = (Optional) Should the capacity to enable Data Disks of the `UltraSSD_LRS` storage account type be supported on this Virtual Machine? Defaults to `false`.
1523+
- `hibernation_enabled = (Optional) Whether to enable the hiberation capability or not.
15231524

15241525
Example Inputs:
15251526

1526-
```hcl
1527+
````hcl
15271528
vm_additional_capabilities = {
15281529
ultra_ssd_enabled = true
15291530
}
@@ -1533,12 +1534,21 @@ Type:
15331534
15341535
```hcl
15351536
object({
1536-
ultra_ssd_enabled = optional(bool, false)
1537+
ultra_ssd_enabled = optional(bool, false)
1538+
hiberation_enabled = optional(bool, null)
15371539
})
15381540
```
15391541
15401542
Default: `null`
15411543
1544+
### <a name="input_vm_agent_platform_updates_enabled"></a> [vm\_agent\_platform\_updates\_enabled](#input\_vm\_agent\_platform\_updates\_enabled)
1545+
1546+
Description: (Optional) Specifies whether VMAgent Platform Updates is enabled. Defaults to `false`.
1547+
1548+
Type: `bool`
1549+
1550+
Default: `false`
1551+
15421552
### <a name="input_vtpm_enabled"></a> [vtpm\_enabled](#input\_vtpm\_enabled)
15431553
15441554
Description: (Optional) Specifies whether vTPM should be enabled on the virtual machine. Changing this forces a new resource to be created.

examples/basic_windows_w_additional_disks_public_ip/README.md

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,46 @@ It includes the following resources in addition to the VM resource:
1717
- An optional subnet, public ip, and bastion which can be enabled by uncommenting the bastion resources when running the example.
1818

1919
```hcl
20+
terraform {
21+
required_version = "~> 1.6"
22+
required_providers {
23+
azurerm = {
24+
source = "hashicorp/azurerm"
25+
version = ">= 3.116, < 5.0"
26+
}
27+
random = {
28+
source = "hashicorp/random"
29+
version = "~> 3.6"
30+
}
31+
}
32+
}
33+
34+
# tflint-ignore: terraform_module_provider_declaration, terraform_output_separate, terraform_variable_separate
35+
provider "azurerm" {
36+
features {
37+
resource_group {
38+
prevent_deletion_if_contains_resources = false
39+
}
40+
}
41+
}
42+
2043
module "naming" {
2144
source = "Azure/naming/azurerm"
2245
version = "~> 0.4"
2346
}
2447
2548
module "regions" {
26-
source = "Azure/regions/azurerm"
27-
version = "=0.8.1"
49+
source = "Azure/avm-utl-regions/azurerm"
50+
version = "0.3.0"
51+
52+
availability_zones_filter = true
2853
}
2954
3055
locals {
56+
#deployment_region = module.regions.regions[random_integer.region_index.result].name
57+
deployment_region = "canadacentral" #temporarily pinning on single region
3158
tags = {
32-
scenario = "windows_w_data_disk_and_public_ip"
59+
scenario = "Default"
3360
}
3461
}
3562
@@ -39,18 +66,18 @@ resource "random_integer" "region_index" {
3966
}
4067
4168
resource "random_integer" "zone_index" {
42-
max = length(module.regions.regions_by_name[module.regions.regions[random_integer.region_index.result].name].zones)
69+
max = length(module.regions.regions_by_name[local.deployment_region].zones)
4370
min = 1
4471
}
4572
4673
module "get_valid_sku_for_deployment_region" {
4774
source = "../../modules/sku_selector"
4875
49-
deployment_region = module.regions.regions[random_integer.region_index.result].name
76+
deployment_region = local.deployment_region
5077
}
5178
5279
resource "azurerm_resource_group" "this_rg" {
53-
location = module.regions.regions[random_integer.region_index.result].name
80+
location = local.deployment_region
5481
name = module.naming.resource_group.name_unique
5582
tags = local.tags
5683
}
@@ -110,7 +137,7 @@ data "azurerm_client_config" "current" {}
110137
111138
module "avm_res_keyvault_vault" {
112139
source = "Azure/avm-res-keyvault-vault/azurerm"
113-
version = "=0.7.1"
140+
version = "=0.9.1"
114141
tenant_id = data.azurerm_client_config.current.tenant_id
115142
name = module.naming.key_vault.name_unique
116143
resource_group_name = azurerm_resource_group.this_rg.name
@@ -136,7 +163,7 @@ module "avm_res_keyvault_vault" {
136163
module "testvm" {
137164
source = "../../"
138165
#source = "Azure/avm-res-compute-virtualmachine/azurerm"
139-
#version = "0.15.1"
166+
#version = "0.17.0
140167
141168
enable_telemetry = var.enable_telemetry
142169
location = azurerm_resource_group.this_rg.location
@@ -212,7 +239,7 @@ The following requirements are needed by this module:
212239

213240
- <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) (~> 1.6)
214241

215-
- <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) (~> 3.108)
242+
- <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) (>= 3.116, < 5.0)
216243

217244
- <a name="requirement_random"></a> [random](#requirement\_random) (~> 3.6)
218245

@@ -259,7 +286,7 @@ The following Modules are called:
259286

260287
Source: Azure/avm-res-keyvault-vault/azurerm
261288

262-
Version: =0.7.1
289+
Version: =0.9.1
263290

264291
### <a name="module_get_valid_sku_for_deployment_region"></a> [get\_valid\_sku\_for\_deployment\_region](#module\_get\_valid\_sku\_for\_deployment\_region)
265292

@@ -275,9 +302,9 @@ Version: ~> 0.4
275302

276303
### <a name="module_regions"></a> [regions](#module\_regions)
277304

278-
Source: Azure/regions/azurerm
305+
Source: Azure/avm-utl-regions/azurerm
279306

280-
Version: =0.8.1
307+
Version: 0.3.0
281308

282309
### <a name="module_testvm"></a> [testvm](#module\_testvm)
283310

examples/basic_windows_w_additional_disks_public_ip/main.tf

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,43 @@
1+
terraform {
2+
required_version = "~> 1.6"
3+
required_providers {
4+
azurerm = {
5+
source = "hashicorp/azurerm"
6+
version = ">= 3.116, < 5.0"
7+
}
8+
random = {
9+
source = "hashicorp/random"
10+
version = "~> 3.6"
11+
}
12+
}
13+
}
14+
15+
# tflint-ignore: terraform_module_provider_declaration, terraform_output_separate, terraform_variable_separate
16+
provider "azurerm" {
17+
features {
18+
resource_group {
19+
prevent_deletion_if_contains_resources = false
20+
}
21+
}
22+
}
23+
124
module "naming" {
225
source = "Azure/naming/azurerm"
326
version = "~> 0.4"
427
}
528

629
module "regions" {
7-
source = "Azure/regions/azurerm"
8-
version = "=0.8.1"
30+
source = "Azure/avm-utl-regions/azurerm"
31+
version = "0.3.0"
32+
33+
availability_zones_filter = true
934
}
1035

1136
locals {
37+
#deployment_region = module.regions.regions[random_integer.region_index.result].name
38+
deployment_region = "canadacentral" #temporarily pinning on single region
1239
tags = {
13-
scenario = "windows_w_data_disk_and_public_ip"
40+
scenario = "Default"
1441
}
1542
}
1643

@@ -20,18 +47,18 @@ resource "random_integer" "region_index" {
2047
}
2148

2249
resource "random_integer" "zone_index" {
23-
max = length(module.regions.regions_by_name[module.regions.regions[random_integer.region_index.result].name].zones)
50+
max = length(module.regions.regions_by_name[local.deployment_region].zones)
2451
min = 1
2552
}
2653

2754
module "get_valid_sku_for_deployment_region" {
2855
source = "../../modules/sku_selector"
2956

30-
deployment_region = module.regions.regions[random_integer.region_index.result].name
57+
deployment_region = local.deployment_region
3158
}
3259

3360
resource "azurerm_resource_group" "this_rg" {
34-
location = module.regions.regions[random_integer.region_index.result].name
61+
location = local.deployment_region
3562
name = module.naming.resource_group.name_unique
3663
tags = local.tags
3764
}
@@ -91,7 +118,7 @@ data "azurerm_client_config" "current" {}
91118

92119
module "avm_res_keyvault_vault" {
93120
source = "Azure/avm-res-keyvault-vault/azurerm"
94-
version = "=0.7.1"
121+
version = "=0.9.1"
95122
tenant_id = data.azurerm_client_config.current.tenant_id
96123
name = module.naming.key_vault.name_unique
97124
resource_group_name = azurerm_resource_group.this_rg.name
@@ -117,7 +144,7 @@ module "avm_res_keyvault_vault" {
117144
module "testvm" {
118145
source = "../../"
119146
#source = "Azure/avm-res-compute-virtualmachine/azurerm"
120-
#version = "0.15.1"
147+
#version = "0.17.0
121148

122149
enable_telemetry = var.enable_telemetry
123150
location = azurerm_resource_group.this_rg.location

examples/basic_windows_w_additional_disks_public_ip/terraform.tf

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)