diff --git a/quickstart/101-managed-lustre-create-filesystem/README.md b/quickstart/101-managed-lustre-create-filesystem/README.md index 6459be6f..c9993df8 100644 --- a/quickstart/101-managed-lustre-create-filesystem/README.md +++ b/quickstart/101-managed-lustre-create-filesystem/README.md @@ -2,31 +2,86 @@ This template deploys a Managed Lustre filesystem. ## Terraform resource types + - [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [azurerm_virtual_network](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network) +- [azurerm_subnet](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/subnet) +- [azurerm_managed_lustre_file_system](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/managed_lustre_file_system) ## Variables | Name | Description | |-|-| -| `resource_group_name` | Resource group name | -| `resource_group_location` | Resource group location | - -## Example terraform.tfvars file -``` -resource_group_name = "rg-amlfs-create-101" -location = "centralus" - -``` +| `rg_location` | Resource group location | +| `amlfs_sku_name` | SKU name for the Azure Managed Lustre file system | +| `amlfs_storage_capacity_in_tb` | The size of the AML file system, in TiB. This might be rounded up. | +| `amlfs_maintenance_day_of_week` | Day of the week on which the maintenance window will occur | +| `amlfs_maintenance_time_of_day` | The time of day (in UTC) to start the maintenance window | ## Usage ```bash ->terraform plan - +> terraform plan Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: + # azurerm_managed_lustre_file_system.example will be created + + resource "azurerm_managed_lustre_file_system" "example" { + + id = (known after apply) + + location = "eastus" + + name = (known after apply) + + resource_group_name = (known after apply) + + sku_name = "AMLFS-Durable-Premium-40" + + storage_capacity_in_tb = 48 + + subnet_id = (known after apply) + + zones = [ + + "1", + ] + + + maintenance_window { + + day_of_week = "Saturday" + + time_of_day_in_utc = "02:00" + } + } + + # azurerm_resource_group.example will be created + + resource "azurerm_resource_group" "example" { + + id = (known after apply) + + location = "eastus" + + name = (known after apply) + } + + # azurerm_subnet.example will be created + + resource "azurerm_subnet" "example" { + + address_prefixes = [ + + "10.0.2.0/24", + ] + + enforce_private_link_endpoint_network_policies = (known after apply) + + enforce_private_link_service_network_policies = (known after apply) + + id = (known after apply) + + name = (known after apply) + + private_endpoint_network_policies_enabled = (known after apply) + + private_link_service_network_policies_enabled = (known after apply) + + resource_group_name = (known after apply) + + virtual_network_name = (known after apply) + } + + # azurerm_virtual_network.example will be created + + resource "azurerm_virtual_network" "example" { + + address_space = [ + + "10.0.0.0/16", + ] + + dns_servers = (known after apply) + + guid = (known after apply) + + id = (known after apply) + + location = "eastus" + + name = (known after apply) + + resource_group_name = (known after apply) + + subnet = (known after apply) + } + +Plan: 4 to add, 0 to change, 0 to destroy. ``` diff --git a/quickstart/101-managed-lustre-create-filesystem/TestRecord.md b/quickstart/101-managed-lustre-create-filesystem/TestRecord.md deleted file mode 100644 index 6611219a..00000000 --- a/quickstart/101-managed-lustre-create-filesystem/TestRecord.md +++ /dev/null @@ -1,627 +0,0 @@ -## 08 Oct 23 02:51 UTC - -Success: true - -### Versions - -Terraform v1.5.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.75.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 01 Oct 23 04:13 UTC - -Success: true - -### Versions - -Terraform v1.5.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.75.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 24 Sep 23 02:51 UTC - -Success: true - -### Versions - -Terraform v1.5.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.74.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 20 Sep 23 09:04 UTC - -Success: true - -### Versions - -Terraform v1.5.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.73.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 17 Sep 23 02:54 UTC - -Success: true - -### Versions - -Terraform v1.5.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.73.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 10 Sep 23 02:56 UTC - -Success: true - -### Versions - -Terraform v1.5.4 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.72.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 03 Sep 23 04:06 UTC - -Success: true - -### Versions - -Terraform v1.5.4 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.71.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 27 Aug 23 03:35 UTC - -Success: true - -### Versions - -Terraform v1.5.4 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.71.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 20 Aug 23 04:04 UTC - -Success: true - -### Versions - -Terraform v1.5.3 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.70.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 13 Aug 23 03:59 UTC - -Success: true - -### Versions - -Terraform v1.5.2 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.69.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 06 Aug 23 04:11 UTC - -Success: true - -### Versions - -Terraform v1.5.1 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.68.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 30 Jul 23 04:06 UTC - -Success: true - -### Versions - -Terraform v1.5.1 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.67.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 16 Jul 23 03:01 UTC - -Success: true - -### Versions - -Terraform v1.5.0 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.65.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 09 Jul 23 04:00 UTC - -Success: true - -### Versions - -Terraform v1.5.0 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.64.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 02 Jul 23 04:14 UTC - -Success: true - -### Versions - -Terraform v1.5.0 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.63.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 25 Jun 23 05:25 UTC - -Success: true - -### Versions - -Terraform v1.5.0 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.62.1 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 18 Jun 23 04:11 UTC - -Success: true - -### Versions - -Terraform v1.4.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.61.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 11 Jun 23 04:10 UTC - -Success: true - -### Versions - -Terraform v1.4.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.60.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 04 Jun 23 04:27 UTC - -Success: true - -### Versions - -Terraform v1.4.6 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.59.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 28 May 23 03:49 UTC - -Success: true - -### Versions - -Terraform v1.4.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.58.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 21 May 23 02:54 UTC - -Success: true - -### Versions - -Terraform v1.4.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.57.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 14 May 23 02:50 UTC - -Success: true - -### Versions - -Terraform v1.4.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.56.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 07 May 23 04:04 UTC - -Success: true - -### Versions - -Terraform v1.4.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.55.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 30 Apr 23 03:02 UTC - -Success: true - -### Versions - -Terraform v1.4.5 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.54.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 23 Apr 23 02:53 UTC - -Success: true - -### Versions - -Terraform v1.4.4 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.53.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 16 Apr 23 04:17 UTC - -Success: true - -### Versions - -Terraform v1.4.3 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.52.0 -+ provider registry.terraform.io/hashicorp/random v3.5.1 - -### Error - - - ---- - -## 09 Apr 23 03:39 UTC - -Success: true - -### Versions - -Terraform v1.4.2 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.51.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 02 Apr 23 02:40 UTC - -Success: true - -### Versions - -Terraform v1.4.1 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.50.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 26 Mar 23 03:17 UTC - -Success: true - -### Versions - -Terraform v1.4.1 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.49.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 19 Mar 23 02:50 UTC - -Success: true - -### Versions - -Terraform v1.4.0 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.48.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 14 Mar 23 08:46 UTC - -Success: true - -### Versions - -Terraform v1.3.9 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.47.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 12 Mar 23 04:36 UTC - -Success: true - -### Versions - -Terraform v1.3.8 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.47.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 08 Mar 23 17:06 UTC - -Success: true - -### Versions - -Terraform v1.3.8 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.46.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 19 Feb 23 01:34 UTC - -Success: true - -### Versions - -Terraform v1.3.7 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.44.1 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 17 Feb 23 01:35 UTC - -Success: true - -### Versions - -Terraform v1.3.7 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.43.0 -+ provider registry.terraform.io/hashicorp/random v3.4.3 - -### Error - - - ---- - -## 12 Feb 23 00:48 UTC - -Success: false - -### Versions - -Terraform v1.3.7 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.43.0 - -### Error - - - ---- - -## 05 Feb 23 00:21 UTC - -Success: false - -### Versions - -Terraform v1.3.7 -on linux_amd64 -+ provider registry.terraform.io/hashicorp/azurerm v3.42.0 - -### Error - - - ---- - diff --git a/quickstart/101-managed-lustre-create-filesystem/main.tf b/quickstart/101-managed-lustre-create-filesystem/main.tf index f61d3be2..f1c92292 100644 --- a/quickstart/101-managed-lustre-create-filesystem/main.tf +++ b/quickstart/101-managed-lustre-create-filesystem/main.tf @@ -1,32 +1,37 @@ resource "azurerm_resource_group" "example" { - name = "my-terraform-AMLFS-test" - location = "East US" + name = "${random_pet.prefix.id}-rg" + location = var.rg_location } resource "azurerm_virtual_network" "example" { - name = "my-terraform-AMLFS-vnet" - address_space = ["10.90.0.0/16"] - location = azurerm_resource_group.example.location + name = "${random_pet.prefix.id}-vnet" resource_group_name = azurerm_resource_group.example.name + address_space = ["10.0.0.0/16"] + location = azurerm_resource_group.example.location } resource "azurerm_subnet" "example" { - name = "my-terraform-AMLFS-subnet" + name = "${random_pet.prefix.id}-subnet" resource_group_name = azurerm_resource_group.example.name virtual_network_name = azurerm_virtual_network.example.name - address_prefixes = ["10.90.2.0/24"] + address_prefixes = ["10.0.2.0/24"] } resource "azurerm_managed_lustre_file_system" "example" { - name = "my-terraform-AMLFS-cluster" + name = "${random_pet.prefix.id}" resource_group_name = azurerm_resource_group.example.name location = azurerm_resource_group.example.location - sku_name = "AMLFS-Durable-Premium-40" + sku_name = var.amlfs_sku_name subnet_id = azurerm_subnet.example.id - storage_capacity_in_tb = 48 + storage_capacity_in_tb = var.amlfs_storage_capacity_in_tb zones = ["1"] maintenance_window { - day_of_week = "Saturday" - time_of_day_in_utc = "02:00" + day_of_week = var.amlfs_maintenance_day_of_week + time_of_day_in_utc = var.amlfs_maintenance_time_of_day } +} + +resource "random_pet" "prefix" { + prefix = var.prefix + length = 1 } \ No newline at end of file diff --git a/quickstart/101-managed-lustre-create-filesystem/outputs.tf b/quickstart/101-managed-lustre-create-filesystem/outputs.tf index e69de29b..72fbfde8 100644 --- a/quickstart/101-managed-lustre-create-filesystem/outputs.tf +++ b/quickstart/101-managed-lustre-create-filesystem/outputs.tf @@ -0,0 +1,19 @@ +output "virtual_network_name" { + value = azurerm_virtual_network.example.name +} + +output "subnet_name" { + value = azurerm_subnet.example.name +} + +output "azurerm_managed_lustre_file_system" { + value = azurerm_managed_lustre_file_system.example.name +} + +output "amlfs_sku_name" { + value = azurerm_managed_lustre_file_system.example.sku_name +} + +output "amlfs_storage_capacity_in_tb" { + value = azurerm_managed_lustre_file_system.example.storage_capacity_in_tb +} \ No newline at end of file diff --git a/quickstart/101-managed-lustre-create-filesystem/variables.tf b/quickstart/101-managed-lustre-create-filesystem/variables.tf index 403456ed..094fb1a2 100644 --- a/quickstart/101-managed-lustre-create-filesystem/variables.tf +++ b/quickstart/101-managed-lustre-create-filesystem/variables.tf @@ -1,5 +1,35 @@ -variable "location" { +variable "prefix" { + type = string + default = "managed-lustre-file-system" + description = "Prefix of the resource name" +} + +variable "rg_location" { type = string default = "eastus" description = "Resource group location" +} + +variable "amlfs_sku_name" { + type = string + default = "AMLFS-Durable-Premium-40" + description = "SKU name for the Azure Managed Lustre file system" +} + +variable "amlfs_storage_capacity_in_tb" { + type = number + default = 48 + description = "The size of the Managed Lustre file system, in TiB. This might be rounded up." +} + +variable "amlfs_maintenance_day_of_week" { + type = string + default = "Saturday" + description = "Day of the week on which the maintenance window will occur" +} + +variable "amlfs_maintenance_time_of_day" { + type = string + default = "02:00" + description = "The time of day (in UTC) to start the maintenance window" } \ No newline at end of file