diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..9e478a768 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +.github/workflows/ @lonegunmanb @TomArcherMsft +.github/CODEOWNERS @lonegunmanb @TomArcherMsft \ No newline at end of file diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 26e20a458..d9b23bfdb 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -6,38 +6,51 @@ on: - '.github/**' - '.github/workflows/**' - 'quickstart/**' + - 'test/**' + - 'test/e2e/**' +permissions: + actions: write + contents: read + id-token: write jobs: e2e-check: - runs-on: [self-hosted, 1ES.Pool=terraform-azurerm-doc] + runs-on: ubuntu-latest environment: - name: acctests + name: test steps: + - name: Checking for Fork + shell: pwsh + run: | + $isFork = "${{ github.event.pull_request.head.repo.fork }}" + if($isFork -eq "true") { + echo "### WARNING: This workflow is disabled for forked repositories. Please follow the [release branch process](https://azure.github.io/Azure-Verified-Modules/contributing/terraform/terraform-contribution-flow/#5-create-a-pull-request-to-the-upstream-repository) if end to end tests are required." >> $env:GITHUB_STEP_SUMMARY + } - name: checkout + if: github.event.pull_request.head.repo.fork == false uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0 - name: Get changed files + if: github.event.pull_request.head.repo.fork == false id: changed-files - uses: tj-actions/changed-files@v34 + uses: tj-actions/changed-files@v45 with: - dir_names: "true" + dir_names: true separator: "," - files: "quickstart/*" + dir_names_include_files: "quickstart/*" + files: "quickstart/**" files_ignore: "**/TestRecord.md" dir_names_max_depth: 2 - name: test pr + if: github.event.pull_request.head.repo.fork == false env: ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} run: | echo "change files" $ALL_CHANGED_FILES - az login --identity --username $MSI_ID > /dev/null - export ARM_SUBSCRIPTION_ID=$(az login --identity --username $MSI_ID | jq -r '.[0] | .id') - export ARM_TENANT_ID=$(az login --identity --username $MSI_ID | jq -r '.[0] | .tenantId') - ARM_CLIENT_ID=$(az identity list | jq -r --arg MSI_ID "$MSI_ID" '.[] | select(.principalId == $MSI_ID) | .clientId') + export ARM_OIDC_REQUEST_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN + export ARM_OIDC_REQUEST_URL=$ACTIONS_ID_TOKEN_REQUEST_URL + export ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} + export ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} + export ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID }} + export PACKER_VERSION=${{ vars.PACKER_VERSION }} export CHANGED_FOLDERS="${{ steps.changed-files.outputs.all_changed_files }}" - docker run --rm -v $(pwd):/src -w /src/test --network=host -e MSI_ID -e ARM_SUBSCRIPTION_ID -e ARM_TENANT_ID -e ARM_CLIENT_ID -e ARM_USE_MSI=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform:latest sh -c "pkenv install 1.10.2 && go mod tidy && go test -timeout=360m -v ./e2e" - - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 #v3.1.3 - with: - name: TestRecord-${{ github.event.number }} - retention-days: 60 - path: | - quickstart/**/TestRecord.md.tmp \ No newline at end of file + docker run --rm -v $(pwd):/src -w /src/test --network=host -e ARM_SUBSCRIPTION_ID -e ARM_TENANT_ID -e ARM_CLIENT_ID -e ARM_OIDC_REQUEST_TOKEN -e ARM_OIDC_REQUEST_URL -e ARM_USE_OIDC=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform:latest sh -c "pkenv install $PACKER_VERSION && go mod tidy && go test -timeout=360m -v ./e2e" \ No newline at end of file diff --git a/.github/workflows/pr-check.yaml b/.github/workflows/pr-check.yaml index 6e041305e..fb4a746d7 100644 --- a/.github/workflows/pr-check.yaml +++ b/.github/workflows/pr-check.yaml @@ -15,11 +15,12 @@ jobs: uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0 - name: Get changed files id: changed-files - uses: tj-actions/changed-files@716b1e13042866565e00e85fd4ec490e186c4a2f #v41.0.1 + uses: tj-actions/changed-files@v45 with: - dir_names: "true" + dir_names: true separator: "," - files: "quickstart/*" + dir_names_include_files: "quickstart/*" + files: "quickstart/**" dir_names_max_depth: 2 - name: pr-check run: | diff --git a/.github/workflows/pr-merged.yaml b/.github/workflows/pr-merged.yaml deleted file mode 100644 index bc3bd4720..000000000 --- a/.github/workflows/pr-merged.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: Main Branch Push -on: - push: - branches: - - main - - master - paths: - - 'quickstart/**' -jobs: - main-branch-push: - runs-on: ubuntu-latest - steps: - - name: get-default-branch - run: | - branch=$(curl -s "https://api.github.com/repos/$GITHUB_REPOSITORY" | jq -r '.default_branch') - echo "default_branch=$branch" >> $GITHUB_ENV - - name: checkout - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 #v3.6.0 - - uses: 8BitJonny/gh-get-current-pr@2215326c76d51bfa3f2af0a470f32677f6c0cae9 #2.1.0 - id: PR - - name: Download artifact - id: download-artifact - uses: dawidd6/action-download-artifact@268677152d06ba59fcec7a7f0b5d961b6ccd7e1e #v2.28.0 - with: - github_token: ${{secrets.GITHUB_TOKEN}} - workflow: e2e.yaml - pr: ${{ steps.PR.outputs.number }} - name: TestRecord-${{ steps.PR.outputs.number }} - path: TestRecord - if_no_artifact_found: ignore - - name: Update - run: | - sh scripts/update-test-record.sh - - name: Commit & Push changes - uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 #v1.4 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - message: 'Update TestRecord' - branch: ${{ env.default_branch }} \ No newline at end of file diff --git a/.github/workflows/weekly-e2e.yaml b/.github/workflows/weekly-e2e.yaml index faed56646..e14214d96 100644 --- a/.github/workflows/weekly-e2e.yaml +++ b/.github/workflows/weekly-e2e.yaml @@ -3,10 +3,14 @@ on: workflow_dispatch: schedule: - cron: '0 0 * * 0' +permissions: + actions: write + contents: write + id-token: write jobs: full-e2e-check: - runs-on: [self-hosted, 1ES.Pool=terraform-azurerm-doc] + runs-on: ubuntu-latest timeout-minutes: 1440 environment: name: crontests @@ -18,11 +22,13 @@ jobs: timeout-minutes: 1440 run: | git config --global --add safe.directory '*' - az login --identity --username $MSI_ID > /dev/null - export ARM_SUBSCRIPTION_ID=$(az login --identity --username $MSI_ID | jq -r '.[0] | .id') - export ARM_TENANT_ID=$(az login --identity --username $MSI_ID | jq -r '.[0] | .tenantId') - ARM_CLIENT_ID=$(az identity list | jq -r --arg MSI_ID "$MSI_ID" '.[] | select(.principalId == $MSI_ID) | .clientId') - docker run --rm -v $(pwd):/src -w /src/test -e MSI_ID -e ARM_SUBSCRIPTION_ID -e ARM_CLIENT_ID -e ARM_TENANT_ID -e ARM_USE_MSI=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform sh -c "go mod tidy && go test -timeout=1440m -parallel 10 -v ./e2e" + export ARM_OIDC_REQUEST_TOKEN=$ACTIONS_ID_TOKEN_REQUEST_TOKEN + export ARM_OIDC_REQUEST_URL=$ACTIONS_ID_TOKEN_REQUEST_URL + export ARM_SUBSCRIPTION_ID=${{ secrets.ARM_SUBSCRIPTION_ID }} + export ARM_TENANT_ID=${{ secrets.ARM_TENANT_ID }} + export ARM_CLIENT_ID=${{ secrets.ARM_CLIENT_ID_CRONTEST }} + export PACKER_VERSION=${{ vars.PACKER_VERSION }} + docker run --rm -v $(pwd):/src -w /src/test --network=host -e ARM_SUBSCRIPTION_ID -e ARM_CLIENT_ID -e ARM_TENANT_ID -e ARM_OIDC_REQUEST_TOKEN -e ARM_OIDC_REQUEST_URL -e ARM_USE_OIDC=true -e CHANGED_FOLDERS mcr.microsoft.com/azterraform sh -c "pkenv install $PACKER_VERSION && go mod tidy && go test -timeout=1440m -parallel 10 -v ./e2e" - name: Update run: | docker run --rm -v $(pwd):/src -w /src mcr.microsoft.com/azterraform sh scripts/update-test-record.sh @@ -34,4 +40,4 @@ jobs: with: github_token: ${{ secrets.GITHUB_TOKEN }} message: 'Update TestRecord' - branch: ${{ env.default_branch }} \ No newline at end of file + branch: ${{ env.default_branch }} diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..686e5e7a0 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,10 @@ +# Microsoft Open Source Code of Conduct + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). + +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns +- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support) diff --git a/quickstart/101-aci-linuxcontainer-public-ip/TestRecord.md b/quickstart/101-aci-linuxcontainer-public-ip/TestRecord.md index 459926527..6095d4016 100644 --- a/quickstart/101-aci-linuxcontainer-public-ip/TestRecord.md +++ b/quickstart/101-aci-linuxcontainer-public-ip/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:15 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 03:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:43 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:09 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:09 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:24 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 00:21 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 00:21 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 00:21 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 00:20 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 00:24 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 00:22 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 01:02 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 00:23 UTC Success: true diff --git a/quickstart/101-ai-studio/README.md b/quickstart/101-ai-studio/README.md new file mode 100644 index 000000000..19df45c4d --- /dev/null +++ b/quickstart/101-ai-studio/README.md @@ -0,0 +1,45 @@ +# Azure AI Studio + +This deployment configuration specifies an [Azure AI hub](https://learn.microsoft.com/en-us/azure/ai-studio/concepts/ai-resources), +and its associated resources including Azure Key Vault, Azure Storage. You can optionally provision and attach Azure Application Insights and Azure Container Registry. + +This configuration describes the minimal set of resources you require to get started with Azure AI Studio. + +## Resources + +| Terraform Resource Type | Description | +| - | - | +| `azurerm_resource_group` | The resource group all resources get deployed into. | +| `azurerm_key_vault` | An Azure Key Vault instance associated to the Azure Machine Learning workspace. | +| `azurerm_storage_account` | An Azure Storage instance associated to the Azure Machine Learning workspace. | +| `azurerm_application_insights` | An Azure Application Insights instance associated to the Azure Machine Learning workspace. | +| `azurerm_container_registry` | An Azure Container Registry instance associated to the Azure Machine Learning workspace. | + +## Variables + +| Name | Description | Default | +| ---- | ----------- | ------- | +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | +| `prefix` | This variable is used to name the hub, project, and dependent resources. | ai | +| `sku` | The SKU for AI Services resources | S0 + +## Usage + +After git cloning the repo, run the following commands after having docker running on your machine. + +```bash +terraform init + +az login + +terraform plan -out demo.tfplan + +terraform apply "demo.tfplan" +``` + +## Common mistakes + +1. Make sure docker is running +1. Make sure to have logged into your Azure Subscription by running ```az login```. +1. Ensure that you have the correct RBAC permissions for in your subscription, hub, and project. \ No newline at end of file diff --git a/quickstart/101-ai-studio/TestRecord.md b/quickstart/101-ai-studio/TestRecord.md new file mode 100644 index 000000000..78a295668 --- /dev/null +++ b/quickstart/101-ai-studio/TestRecord.md @@ -0,0 +1,252 @@ +## 06 Oct 24 00:55 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:51 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:07 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:15 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:30 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:33 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:35 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:22 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:25 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:09 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:13 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:14 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-ai-studio/main.tf b/quickstart/101-ai-studio/main.tf new file mode 100644 index 000000000..ca348732e --- /dev/null +++ b/quickstart/101-ai-studio/main.tf @@ -0,0 +1,160 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +// RESOURCE GROUP +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +data "azurerm_client_config" "current" { +} + +// STORAGE ACCOUNT +resource "azurerm_storage_account" "default" { + name = "${var.prefix}storage${random_string.suffix.result}" + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + account_tier = "Standard" + account_replication_type = "GRS" + allow_nested_items_to_be_public = false +} + +// KEY VAULT +resource "azurerm_key_vault" "default" { + name = "${var.prefix}keyvault${random_string.suffix.result}" + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + tenant_id = data.azurerm_client_config.current.tenant_id + sku_name = "standard" + purge_protection_enabled = false +} + +// AzAPI AIServices +resource "azapi_resource" "AIServicesResource"{ + type = "Microsoft.CognitiveServices/accounts@2023-10-01-preview" + name = "AIServicesResource${random_string.suffix.result}" + location = azurerm_resource_group.rg.location + parent_id = azurerm_resource_group.rg.id + + identity { + type = "SystemAssigned" + } + + body = jsonencode({ + name = "AIServicesResource${random_string.suffix.result}" + properties = { + //restore = true + customSubDomainName = "${random_string.suffix.result}domain" + apiProperties = { + statisticsEnabled = false + } + } + kind = "AIServices" + sku = { + name = var.sku + } + }) + + response_export_values = ["*"] +} + +// Azure AI Hub +resource "azapi_resource" "hub" { + type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview" + name = "${random_pet.rg_name.id}-aih" + location = azurerm_resource_group.rg.location + parent_id = azurerm_resource_group.rg.id + + identity { + type = "SystemAssigned" + } + + body = jsonencode({ + properties = { + description = "This is my Azure AI hub" + friendlyName = "My Hub" + storageAccount = azurerm_storage_account.default.id + keyVault = azurerm_key_vault.default.id + + /* Optional: To enable these field, the corresponding dependent resources need to be uncommented. + applicationInsight = azurerm_application_insights.default.id + containerRegistry = azurerm_container_registry.default.id + */ + + /*Optional: To enable Customer Managed Keys, the corresponding + encryption = { + status = var.encryption_status + keyVaultProperties = { + keyVaultArmId = azurerm_key_vault.default.id + keyIdentifier = var.cmk_keyvault_key_uri + } + } + */ + + } + kind = "hub" + }) +} + +// Azure AI Project +resource "azapi_resource" "project" { + type = "Microsoft.MachineLearningServices/workspaces@2024-04-01-preview" + name = "my-ai-project${random_string.suffix.result}" + location = azurerm_resource_group.rg.location + parent_id = azurerm_resource_group.rg.id + + identity { + type = "SystemAssigned" + } + + body = jsonencode({ + properties = { + description = "This is my Azure AI PROJECT" + friendlyName = "My Project" + hubResourceId = azapi_resource.hub.id + } + kind = "project" + }) +} + +// AzAPI AI Services Connection +resource "azapi_resource" "AIServicesConnection" { + type = "Microsoft.MachineLearningServices/workspaces/connections@2024-04-01-preview" + name = "Default_AIServices${random_string.suffix.result}" + parent_id = azapi_resource.hub.id + + body = jsonencode({ + properties = { + category = "AIServices", + target = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint, + authType = "AAD", + isSharedToAll = true, + metadata = { + ApiType = "Azure", + ResourceId = azapi_resource.AIServicesResource.id + } + } + }) + response_export_values = ["*"] +} + +/* The following resources are OPTIONAL. +// APPLICATION INSIGHTS +resource "azurerm_application_insights" "default" { + name = "${var.prefix}appinsights${random_string.suffix.result}" + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + application_type = "web" +} + +// CONTAINER REGISTRY +resource "azurerm_container_registry" "default" { + name = "${var.prefix}contreg${random_string.suffix.result}" + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + sku = "premium" + admin_enabled = true +} +*/ \ No newline at end of file diff --git a/quickstart/101-ai-studio/outputs.tf b/quickstart/101-ai-studio/outputs.tf new file mode 100644 index 000000000..3c3f6c5f7 --- /dev/null +++ b/quickstart/101-ai-studio/outputs.tf @@ -0,0 +1,11 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.id +} + +output "workspace_name" { + value = azapi_resource.project.id +} + +output "endpoint" { + value = jsondecode(azapi_resource.AIServicesResource.output).properties.endpoint +} \ No newline at end of file diff --git a/quickstart/101-ai-studio/providers.tf b/quickstart/101-ai-studio/providers.tf new file mode 100644 index 000000000..f802a3690 --- /dev/null +++ b/quickstart/101-ai-studio/providers.tf @@ -0,0 +1,33 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + azapi = { + source = "azure/azapi" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features { + key_vault { + recover_soft_deleted_key_vaults = false + purge_soft_delete_on_destroy = false + purge_soft_deleted_keys_on_destroy = false + } + resource_group { + prevent_deletion_if_contains_resources = false + } + } +} + +provider "azapi" { +} \ No newline at end of file diff --git a/quickstart/101-ai-studio/variables.tf b/quickstart/101-ai-studio/variables.tf new file mode 100644 index 000000000..8d6d24841 --- /dev/null +++ b/quickstart/101-ai-studio/variables.tf @@ -0,0 +1,40 @@ +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +variable "resource_group_name_prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "prefix" { + type = string + description="This variable is used to name the hub, project, and dependent resources." + default = "ai" +} + +variable "sku" { + type = string + description = "The sku name of the Azure Analysis Services server to create. Choose from: B1, B2, D1, S0, S1, S2, S3, S4, S8, S9. Some skus are region specific. See https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview#availability-by-region" + default = "S0" +} + +resource "random_string" "suffix" { + length = 4 + special = false + upper = false +} + +/*Optional: For Customer Managed Keys, uncomment this part AND the corresponding section in main.tf +variable "cmk_keyvault_key_uri" { + description = "Key vault uri to access the encryption key." +} + +variable "encryption_status" { + description = "Indicates whether or not the encryption is enabled for the workspace." + default = "Enabled" +} +*/ \ No newline at end of file diff --git a/quickstart/101-aks-cluster-windows/README.md b/quickstart/101-aks-cluster-windows/README.md new file mode 100644 index 000000000..071782ad1 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/README.md @@ -0,0 +1,25 @@ +# Windows-based Azure Kubernetes Service (AKS) cluster + +This template deploys an AKS cluster with Windows nodes. + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) +- [azurerm_virtual_network](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/virtual_network) +- [azurerm_kubernetes_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) +- [azurerm_kubernetes_cluster_node_pool](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster_node_pool) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | +| `node_count_linux` | Initial quantity of Linux nodes for the node pool. | 1 | +| `node_count_windows` | Initial quantity of Windows nodes for the node pool. | 1 | +| `admin_username` | Admin username for the Windows node pool. | azureuser | +| `admin_password` | Admin password for the Windows node pool. | Passw0rd1234Us! | + +## Example diff --git a/quickstart/101-aks-cluster-windows/TestRecord.md b/quickstart/101-aks-cluster-windows/TestRecord.md new file mode 100644 index 000000000..96968e911 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/TestRecord.md @@ -0,0 +1,238 @@ +## 06 Oct 24 00:58 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:14 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:51 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:14 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:30 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:31 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:36 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:23 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:30 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:14 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:27 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:15 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-aks-cluster-windows/main.tf b/quickstart/101-aks-cluster-windows/main.tf new file mode 100644 index 000000000..3795214c6 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/main.tf @@ -0,0 +1,73 @@ +# Generate random resource group name +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +resource "random_pet" "azurerm_kubernetes_cluster_name" { + prefix = "cluster" +} + +resource "random_pet" "azurerm_kubernetes_cluster_dns_prefix" { + prefix = "dns" +} + +resource "random_string" "azurerm_kubernetes_cluster_node_pool" { + length = 6 + special = false + numeric = false + lower = true + upper = false +} + +resource "azurerm_virtual_network" "vnet" { + name = "myvnet" + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + address_space = ["10.1.0.0/16"] + + subnet { + name = "subnet1" + address_prefix = "10.1.1.0/24" + } +} + +resource "azurerm_kubernetes_cluster" "aks" { + name = random_pet.azurerm_kubernetes_cluster_name.id + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + dns_prefix = random_pet.azurerm_kubernetes_cluster_dns_prefix.id + + identity { + type = "SystemAssigned" + } + + default_node_pool { + name = "agentpool" + vm_size = "Standard_D2_v2" + node_count = var.node_count_linux + vnet_subnet_id = element(tolist(azurerm_virtual_network.vnet.subnet), 0).id + } + + windows_profile { + admin_username = var.admin_username + admin_password = var.admin_password + } + + network_profile { + network_plugin = "azure" + load_balancer_sku = "standard" + } +} + +resource "azurerm_kubernetes_cluster_node_pool" "win" { + name = random_string.azurerm_kubernetes_cluster_node_pool.result + kubernetes_cluster_id = azurerm_kubernetes_cluster.aks.id + vm_size = "Standard_D4s_v3" + node_count = var.node_count_windows + os_type = "Windows" +} diff --git a/quickstart/101-aks-cluster-windows/outputs.tf b/quickstart/101-aks-cluster-windows/outputs.tf new file mode 100644 index 000000000..7067a4304 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/outputs.tf @@ -0,0 +1,20 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "kubernetes_cluster_name" { + value = azurerm_kubernetes_cluster.aks.name +} + +output "kubernetes_cluster_dns_prefix" { + value = azurerm_kubernetes_cluster.aks.dns_prefix +} + +output "kubernetes_cluster_node_pool_name" { + value = azurerm_kubernetes_cluster_node_pool.win.name +} + +output "kubernetes_cluster_kube_config_raw" { + value = azurerm_kubernetes_cluster.aks.kube_config_raw + sensitive = true +} \ No newline at end of file diff --git a/quickstart/101-aks-cluster-windows/providers.tf b/quickstart/101-aks-cluster-windows/providers.tf new file mode 100644 index 000000000..a0155e168 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/providers.tf @@ -0,0 +1,19 @@ +terraform { + required_version = ">= 1.0" + + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features { + } +} diff --git a/quickstart/101-aks-cluster-windows/variables.tf b/quickstart/101-aks-cluster-windows/variables.tf new file mode 100644 index 000000000..2cf992b98 --- /dev/null +++ b/quickstart/101-aks-cluster-windows/variables.tf @@ -0,0 +1,35 @@ +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +variable "resource_group_name_prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "node_count_linux" { + type = number + description = "The initial quantity of Linux nodes for the node pool." + default = 1 +} + +variable "node_count_windows" { + type = number + description = "The initial quantity of Windows nodes for the node pool." + default = 1 +} + +variable "admin_username" { + type = string + description = "The admin username for the Windows node pool." + default = "azureuser" +} + +variable "admin_password" { + type = string + description = "The admin password for the Windows node pool." + default = "Passw0rd1234Us!" +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/README.md b/quickstart/101-aks-standard-lb-and-vmss/README.md new file mode 100644 index 000000000..7a331e6de --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/README.md @@ -0,0 +1,19 @@ +# Aure Kubernetes Service (AKS) with standard load balancer and Virtual Machine Scale Sets (VMSS) + +This template deploys an AKS cluster a standard load balancer and Virtual Machine Scale Sets (VMSS) + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) +- [azurerm_kubernetes_cluster](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/kubernetes_cluster) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | + +## Example diff --git a/quickstart/101-aks-standard-lb-and-vmss/TestRecord.md b/quickstart/101-aks-standard-lb-and-vmss/TestRecord.md new file mode 100644 index 000000000..9f114be8a --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/TestRecord.md @@ -0,0 +1,238 @@ +## 06 Oct 24 00:52 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:03 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:08 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:13 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:30 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:21 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:15 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:16 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:18 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:09 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:08 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-aks-standard-lb-and-vmss/main.tf b/quickstart/101-aks-standard-lb-and-vmss/main.tf new file mode 100644 index 000000000..831d3c48f --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/main.tf @@ -0,0 +1,43 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +resource "random_string" "aks_cluster_name" { + length = 12 + special = false +} + +resource "azurerm_kubernetes_cluster" "aks_cluster" { + name = random_string.aks_cluster_name.result + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + dns_prefix = "myakscluster" + + default_node_pool { + type = "VirtualMachineScaleSets" + name = "default" + node_count = 1 + max_count = 3 + min_count = 1 + vm_size = "Standard_DS2_v2" + enable_auto_scaling = true + } + + network_profile { + network_plugin = "azure" + load_balancer_sku = "standard" + } + + identity { + type = "SystemAssigned" + } + + tags = { + Environment = "Production" + } +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/outputs.tf b/quickstart/101-aks-standard-lb-and-vmss/outputs.tf new file mode 100644 index 000000000..720116722 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/outputs.tf @@ -0,0 +1,7 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "aks_cluster_name" { + value = azurerm_kubernetes_cluster.aks_cluster.name +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/providers.tf b/quickstart/101-aks-standard-lb-and-vmss/providers.tf new file mode 100644 index 000000000..7261b1fb4 --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/providers.tf @@ -0,0 +1,16 @@ +terraform { + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-aks-standard-lb-and-vmss/variables.tf b/quickstart/101-aks-standard-lb-and-vmss/variables.tf new file mode 100644 index 000000000..1a8c6abba --- /dev/null +++ b/quickstart/101-aks-standard-lb-and-vmss/variables.tf @@ -0,0 +1,11 @@ +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + +variable "resource_group_name_prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} \ No newline at end of file diff --git a/quickstart/101-analysis-services-create/TestRecord.md b/quickstart/101-analysis-services-create/TestRecord.md index b90a4f205..f3c4d5d10 100644 --- a/quickstart/101-analysis-services-create/TestRecord.md +++ b/quickstart/101-analysis-services-create/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:44 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:01 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:51 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:59 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:13 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:18 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:14 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:55 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:00 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:05 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:33 UTC Success: true diff --git a/quickstart/101-app-service-backup/README.md b/quickstart/101-app-service-backup/README.md new file mode 100644 index 000000000..7be08270c --- /dev/null +++ b/quickstart/101-app-service-backup/README.md @@ -0,0 +1,22 @@ +# Azure Windows Web App with Backup + +This template deploys an Azure Windows Web App with a backup configured. + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) +- [azurerm_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account) +- [azurerm_storage_container](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_container) +- [azurerm_service_plan](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/service_plan) +- [azurerm_windows_web_app](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_web_app) + +## Variables + +| Name | Description | Default value | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | + +## Example \ No newline at end of file diff --git a/quickstart/101-app-service-backup/TestRecord.md b/quickstart/101-app-service-backup/TestRecord.md new file mode 100644 index 000000000..0b5bbb045 --- /dev/null +++ b/quickstart/101-app-service-backup/TestRecord.md @@ -0,0 +1,238 @@ +## 06 Oct 24 00:43 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:00 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:51 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:58 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:13 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:17 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:17 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:13 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:55 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:59 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-app-service-backup/main.tf b/quickstart/101-app-service-backup/main.tf new file mode 100644 index 000000000..874e50af4 --- /dev/null +++ b/quickstart/101-app-service-backup/main.tf @@ -0,0 +1,121 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +resource "random_string" "storage_account_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_storage_account" "example" { + name = random_string.storage_account_name.result + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + account_tier = "Standard" + account_replication_type = "LRS" +} + +resource "random_string" "storage_container_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_storage_container" "example" { + name = random_string.storage_container_name.result + storage_account_name = azurerm_storage_account.example.name + container_access_type = "private" +} + +resource "random_string" "service_plan_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_service_plan" "example" { + name = random_string.service_plan_name.result + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + os_type = "Windows" + sku_name = "S1" +} + +data "azurerm_storage_account_sas" "example" { + connection_string = azurerm_storage_account.example.primary_connection_string + https_only = true + + resource_types { + service = false + container = false + object = true + } + + services { + blob = true + queue = false + table = false + file = false + } + + # Please change the start_date variable (in variables.tf) to the appropriate + # value for your environment. + start = formatdate(var.start_date, timestamp()) + expiry = formatdate(var.start_date, timeadd(timestamp(), "8765h")) + + permissions { + read = false + write = true + delete = false + list = false + add = false + create = false + update = false + process = false + tag = false + filter = false + } +} + +resource "random_string" "windows_web_app_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_windows_web_app" "example" { + name = random_string.windows_web_app_name.result + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + service_plan_id = azurerm_service_plan.example.id + + backup { + name = "Example" + storage_account_url = "https://${azurerm_storage_account.example.name}.blob.core.windows.net/${azurerm_storage_container.example.name}${data.azurerm_storage_account_sas.example.sas}&sr=b" + schedule { + frequency_interval = 30 + frequency_unit = "Day" + } + } + + site_config { + application_stack { + dotnet_version = "v6.0" + current_stack = "dotnet" + } + } +} \ No newline at end of file diff --git a/quickstart/101-app-service-backup/outputs.tf b/quickstart/101-app-service-backup/outputs.tf new file mode 100644 index 000000000..e4cbe4915 --- /dev/null +++ b/quickstart/101-app-service-backup/outputs.tf @@ -0,0 +1,23 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "storage_account_name" { + value = azurerm_storage_account.example.name +} + +output "storage_container_name" { + value = azurerm_storage_container.example.name +} + +output "service_plan_name" { + value = azurerm_service_plan.example.name +} + +output "windows_web_app_name" { + value = azurerm_windows_web_app.example.name +} + +output "windows_web_app_default_hostname" { + value = azurerm_windows_web_app.example.default_hostname +} diff --git a/quickstart/101-app-service-backup/providers.tf b/quickstart/101-app-service-backup/providers.tf new file mode 100644 index 000000000..058b68717 --- /dev/null +++ b/quickstart/101-app-service-backup/providers.tf @@ -0,0 +1,18 @@ +terraform { + required_version = ">=1.0" + + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-app-service-backup/variables.tf b/quickstart/101-app-service-backup/variables.tf new file mode 100644 index 000000000..5320e399f --- /dev/null +++ b/quickstart/101-app-service-backup/variables.tf @@ -0,0 +1,18 @@ +variable "resource_group_name_prefix" { + type = string + default = "rg" + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." +} + +variable "resource_group_location" { + type = string + default = "eastus" + description = "Location of the resource group." +} + + +variable "start_date" { + type = string + default = "2024-06-01" + description = "Start date." +} \ No newline at end of file diff --git a/quickstart/101-application-gateway/TestRecord.md b/quickstart/101-application-gateway/TestRecord.md index 34e4b003f..d5c78e494 100644 --- a/quickstart/101-application-gateway/TestRecord.md +++ b/quickstart/101-application-gateway/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:54 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:58 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:09 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:13 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:28 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:06 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:07 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:03 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:06 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:46 UTC Success: true diff --git a/quickstart/101-attestation-provider/TestRecord.md b/quickstart/101-attestation-provider/TestRecord.md index 1e3a6c617..1b2a650ac 100644 --- a/quickstart/101-attestation-provider/TestRecord.md +++ b/quickstart/101-attestation-provider/TestRecord.md @@ -1,3 +1,255 @@ +## 06 Oct 24 00:40 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 29 Sep 24 04:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 27 Sep 24 06:53 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 22 Sep 24 00:13 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 08 Sep 24 02:14 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 01 Sep 24 01:52 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 25 Aug 24 02:07 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 18 Aug 24 02:09 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 11 Aug 24 01:50 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 04 Aug 24 01:52 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + +## 01 Aug 24 03:00 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 ++ provider registry.terraform.io/hashicorp/tls v4.0.4 + +### Error + + + +--- + ## 28 Jan 24 01:30 UTC Success: true diff --git a/quickstart/101-attestation-provider/main.tf b/quickstart/101-attestation-provider/main.tf index c4220a670..237f206f6 100644 --- a/quickstart/101-attestation-provider/main.tf +++ b/quickstart/101-attestation-provider/main.tf @@ -21,7 +21,7 @@ resource "tls_private_key" "signing_cert" { resource "tls_self_signed_cert" "attestation" { count = local.create_signing_cert ? 1 : 0 - private_key_pem = tls_private_key.signing_cert[0].private_key_pem + private_key_pem = tls_private_key.signing_cert[0].private_key_pem validity_period_hours = 12 allowed_uses = [ "cert_signing", @@ -40,4 +40,13 @@ resource "azurerm_attestation_provider" "corp_attestation" { name = "${var.attestation_provider_name}${random_string.attestation_suffix.result}" resource_group_name = azurerm_resource_group.rg.name policy_signing_certificate_data = try(tls_self_signed_cert.attestation[0].cert_pem, file(var.cert_path)) + #https://github.com/hashicorp/terraform-provider-azurerm/issues/21998#issuecomment-1573312297 + lifecycle { + ignore_changes = [ + "open_enclave_policy_base64", + "sev_snp_policy_base64", + "sgx_enclave_policy_base64", + "tpm_policy_base64", + ] + } } \ No newline at end of file diff --git a/quickstart/101-attestation-provider/providers.tf b/quickstart/101-attestation-provider/providers.tf index 170f7d9f5..e8431166b 100644 --- a/quickstart/101-attestation-provider/providers.tf +++ b/quickstart/101-attestation-provider/providers.tf @@ -4,7 +4,7 @@ terraform { required_providers { azurerm = { source = "hashicorp/azurerm" - version = "~>2.0" + version = "~>3.0" } random = { source = "hashicorp/random" diff --git a/quickstart/101-authn-managed-identity/TestRecord.md b/quickstart/101-authn-managed-identity/TestRecord.md new file mode 100644 index 000000000..f7738807c --- /dev/null +++ b/quickstart/101-authn-managed-identity/TestRecord.md @@ -0,0 +1,252 @@ +## 06 Oct 24 00:37 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:48 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:53 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:16 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:09 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:11 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.15.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:52 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:55 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:58 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v1.14.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-authn-managed-identity/main.tf b/quickstart/101-authn-managed-identity/main.tf new file mode 100644 index 000000000..aef2cdee7 --- /dev/null +++ b/quickstart/101-authn-managed-identity/main.tf @@ -0,0 +1,80 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +data "azurerm_subscription" "current" {} + +resource "azurerm_virtual_network" "example" { + name = "myVnet" + address_space = ["10.0.0.0/16"] + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name +} + +resource "azurerm_subnet" "example" { + name = "mySubnet" + resource_group_name = azurerm_resource_group.rg.name + virtual_network_name = azurerm_virtual_network.example.name + address_prefixes = ["10.0.2.0/24"] +} + +resource "azurerm_network_interface" "example" { + name = "myNic" + location = azurerm_resource_group.rg.location + resource_group_name = azurerm_resource_group.rg.name + + ip_configuration { + name = "internal" + subnet_id = azurerm_subnet.example.id + private_ip_address_allocation = "Dynamic" + } +} + +resource "azurerm_linux_virtual_machine" "example" { + name = "myVm" + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + size = "Standard_F2" + network_interface_ids = [ + azurerm_network_interface.example.id, + ] + + computer_name = "hostname" + admin_username = var.username + + admin_ssh_key { + username = var.username + public_key = azapi_resource_action.ssh_public_key_gen.output.publicKey + } + + identity { + type = "SystemAssigned" + } + + os_disk { + caching = "ReadWrite" + storage_account_type = "Standard_LRS" + } + + source_image_reference { + publisher = "Canonical" + offer = "0001-com-ubuntu-server-jammy" + sku = "22_04-lts" + version = "latest" + } +} + +data "azurerm_role_definition" "contributor" { + name = "Contributor" +} + +resource "azurerm_role_assignment" "example" { + scope = data.azurerm_subscription.current.id + role_definition_name = "Contributor" + principal_id = azurerm_linux_virtual_machine.example.identity[0].principal_id +} diff --git a/quickstart/101-authn-managed-identity/outputs.tf b/quickstart/101-authn-managed-identity/outputs.tf new file mode 100644 index 000000000..a008ee504 --- /dev/null +++ b/quickstart/101-authn-managed-identity/outputs.tf @@ -0,0 +1,7 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "azurerm_linux_virtual_machine_name" { + value = azurerm_linux_virtual_machine.example.name +} diff --git a/quickstart/101-authn-managed-identity/providers.tf b/quickstart/101-authn-managed-identity/providers.tf new file mode 100644 index 000000000..158b40408 --- /dev/null +++ b/quickstart/101-authn-managed-identity/providers.tf @@ -0,0 +1,22 @@ +terraform { + required_version = ">=0.12" + + required_providers { + azapi = { + source = "azure/azapi" + version = "~>1.5" + } + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features {} +} \ No newline at end of file diff --git a/quickstart/101-authn-managed-identity/readme.md b/quickstart/101-authn-managed-identity/readme.md new file mode 100644 index 000000000..e5c22bbea --- /dev/null +++ b/quickstart/101-authn-managed-identity/readme.md @@ -0,0 +1,25 @@ +# Authentication using managed identities for Azure services + +This template deploys a Linux virtual machine (VM) to show an example of how to use managed identities for Azure services. + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [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_network_interface](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/network_interface) +- [azurerm_linux_virtual_machine](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_virtual_machine) +- [azurerm_role_assignment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) + +## Variables + +| **Name** | **Description** | **Default** | +|---|---|---| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | +| `username` | The username for the local account that will be created on the new VM. | azureadmin | + +## Example + +To see how to run this example, see [Authenticate Terraform using Managed Identity for Azure services](https://docs.microsoft.com/azure/developer/terraform/authenticate-to-azure-using-msi). diff --git a/quickstart/101-authn-managed-identity/ssh.tf b/quickstart/101-authn-managed-identity/ssh.tf new file mode 100644 index 000000000..7dbe345a8 --- /dev/null +++ b/quickstart/101-authn-managed-identity/ssh.tf @@ -0,0 +1,24 @@ +resource "random_pet" "ssh_key_name" { + prefix = "ssh" + separator = "" +} + +resource "azapi_resource_action" "ssh_public_key_gen" { + type = "Microsoft.Compute/sshPublicKeys@2022-11-01" + resource_id = azapi_resource.ssh_public_key.id + action = "generateKeyPair" + method = "POST" + + response_export_values = ["publicKey", "privateKey"] +} + +resource "azapi_resource" "ssh_public_key" { + type = "Microsoft.Compute/sshPublicKeys@2022-11-01" + name = random_pet.ssh_key_name.id + location = azurerm_resource_group.rg.location + parent_id = azurerm_resource_group.rg.id +} + +output "key_data" { + value = azapi_resource_action.ssh_public_key_gen.output.publicKey +} \ No newline at end of file diff --git a/quickstart/101-authn-managed-identity/variables.tf b/quickstart/101-authn-managed-identity/variables.tf new file mode 100644 index 000000000..27bfc0a70 --- /dev/null +++ b/quickstart/101-authn-managed-identity/variables.tf @@ -0,0 +1,17 @@ +variable "resource_group_location" { + type = string + description = "Location of the resource group." + default = "eastus" +} + +variable "resource_group_name_prefix" { + type = string + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." + default = "rg" +} + +variable "username" { + type = string + description = "The username for the local account that will be created on the new VM." + default = "azureadmin" +} diff --git a/quickstart/101-azapi-eventhub-network-rules/TestRecord.md b/quickstart/101-azapi-eventhub-network-rules/TestRecord.md index 089ed61bf..d1b59dc7e 100644 --- a/quickstart/101-azapi-eventhub-network-rules/TestRecord.md +++ b/quickstart/101-azapi-eventhub-network-rules/TestRecord.md @@ -1,3 +1,255 @@ +## 06 Oct 24 00:33 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 29 Sep 24 04:48 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 27 Sep 24 06:52 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 22 Sep 24 00:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 08 Sep 24 02:12 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 01 Sep 24 02:00 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 25 Aug 24 02:06 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 18 Aug 24 02:09 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 11 Aug 24 01:48 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 04 Aug 24 01:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + +## 01 Aug 24 02:54 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 ++ provider registry.terraform.io/hashicorp/random v3.1.2 + +### Error + + + +--- + ## 28 Jan 24 01:33 UTC Success: true diff --git a/quickstart/101-azapi-lab-services/TestRecord.md b/quickstart/101-azapi-lab-services/TestRecord.md index 633bc228a..7f297dda9 100644 --- a/quickstart/101-azapi-lab-services/TestRecord.md +++ b/quickstart/101-azapi-lab-services/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:33 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 29 Sep 24 04:48 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 29 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 27 Sep 24 06:52 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 22 Sep 24 00:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 08 Sep 24 02:09 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 01 Sep 24 01:58 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 25 Aug 24 02:02 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 18 Aug 24 02:06 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 11 Aug 24 01:45 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 04 Aug 24 01:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + +## 01 Aug 24 02:52 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/azure/azapi v0.1.0 ++ provider registry.terraform.io/hashicorp/azurerm v3.0.2 + +### Error + + + +--- + ## 28 Jan 24 01:32 UTC Success: false diff --git a/quickstart/101-azfw-with-fwpolicy/TestRecord.md b/quickstart/101-azfw-with-fwpolicy/TestRecord.md index fd00fc507..4f4207874 100644 --- a/quickstart/101-azfw-with-fwpolicy/TestRecord.md +++ b/quickstart/101-azfw-with-fwpolicy/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 01:14 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:30 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:39 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:12 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:46 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:31 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:02 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:41 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:27 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:25 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:25 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:47 UTC Success: true diff --git a/quickstart/101-azure-api-management-create-with-api/TestRecord.md b/quickstart/101-azure-api-management-create-with-api/TestRecord.md new file mode 100644 index 000000000..60fcefbf9 --- /dev/null +++ b/quickstart/101-azure-api-management-create-with-api/TestRecord.md @@ -0,0 +1,238 @@ +## 06 Oct 24 01:36 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:50 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 08:02 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 03:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:34 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 03:12 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 02:45 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:44 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-azure-api-management-create/TestRecord.md b/quickstart/101-azure-api-management-create/TestRecord.md index 4d0c12f31..07670bb25 100644 --- a/quickstart/101-azure-api-management-create/TestRecord.md +++ b/quickstart/101-azure-api-management-create/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 01:35 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 05:17 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 08:18 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:28 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 02:58 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 02:54 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 02:34 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 03:04 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 02:48 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 03:16 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:51 UTC Success: true diff --git a/quickstart/101-azure-cognitive-search/TestRecord.md b/quickstart/101-azure-cognitive-search/TestRecord.md index 6fca66e46..8c0e199e6 100644 --- a/quickstart/101-azure-cognitive-search/TestRecord.md +++ b/quickstart/101-azure-cognitive-search/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:22 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:30 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:52 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 01:57 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:49 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 01:44 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 01:50 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:39 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:43 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:34 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:25 UTC Success: true diff --git a/quickstart/101-azure-container-app/TestRecord.md b/quickstart/101-azure-container-app/TestRecord.md new file mode 100644 index 000000000..e7fa60dc7 --- /dev/null +++ b/quickstart/101-azure-container-app/TestRecord.md @@ -0,0 +1,238 @@ +## 06 Oct 24 00:30 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:36 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 07:00 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 02:03 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:57 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 01:53 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 01:59 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:48 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:51 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:43 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + diff --git a/quickstart/101-azure-container-app/main.tf b/quickstart/101-azure-container-app/main.tf new file mode 100644 index 000000000..313b80a1f --- /dev/null +++ b/quickstart/101-azure-container-app/main.tf @@ -0,0 +1,86 @@ +data "azurerm_client_config" "current" {} + +# Generate random resource group name +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +# Generate random value for the log analytics workspace name +resource "random_string" "log_analytics_workspace_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_log_analytics_workspace" "log_analytics_workspace" { + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + + name = random_string.log_analytics_workspace_name.result + + sku = var.log_analytics_workspace_sku + retention_in_days = var.log_analytics_workspace_retention_in_days +} + +# Generate random value for the container app environment name +resource "random_string" "container_app_environment_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_container_app_environment" "container_app_environment" { + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + + name = random_string.container_app_environment_name.result + + log_analytics_workspace_id = azurerm_log_analytics_workspace.log_analytics_workspace.id +} + +# Generate random value for the container app name +resource "random_string" "container_app_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_container_app" "container_app" { + resource_group_name = azurerm_resource_group.rg.name + + name = random_string.container_app_name.result + container_app_environment_id = azurerm_container_app_environment.container_app_environment.id + + revision_mode = var.container_app_revision_mode + + ingress { + allow_insecure_connections = false + external_enabled = true + target_port = 80 + + traffic_weight { + latest_revision = true + percentage = 100 + } + } + + template { + container { + name = var.container_name + image = var.container_image + cpu = var.container_cpu + memory = var.container_memory + } + } +} \ No newline at end of file diff --git a/quickstart/101-azure-container-app/outputs.tf b/quickstart/101-azure-container-app/outputs.tf new file mode 100644 index 000000000..a7ffe99f2 --- /dev/null +++ b/quickstart/101-azure-container-app/outputs.tf @@ -0,0 +1,15 @@ +output "resource_group_name" { + value = azurerm_resource_group.rg.name +} + +output "log_analytics_workspace_name" { + value = azurerm_log_analytics_workspace.log_analytics_workspace.name +} + +output "container_app_environment_name" { + value = azurerm_container_app_environment.container_app_environment.name +} + +output "container_app_name" { + value = azurerm_container_app.container_app.name +} \ No newline at end of file diff --git a/quickstart/101-azure-container-app/providers.tf b/quickstart/101-azure-container-app/providers.tf new file mode 100644 index 000000000..0d51fc35a --- /dev/null +++ b/quickstart/101-azure-container-app/providers.tf @@ -0,0 +1,19 @@ +terraform { + required_version = ">=1.0" + + required_providers { + azurerm = { + source = "hashicorp/azurerm" + version = "~>3.0" + } + + random = { + source = "hashicorp/random" + version = "~>3.0" + } + } +} + +provider "azurerm" { + features {} +} diff --git a/quickstart/101-azure-container-app/readme.md b/quickstart/101-azure-container-app/readme.md new file mode 100644 index 000000000..2a576d4d3 --- /dev/null +++ b/quickstart/101-azure-container-app/readme.md @@ -0,0 +1,24 @@ +# Azure Container App Environment with Container App + +This template deploys an [Azure Container App Environment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_app_environment) with [Azure Container App](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_app). +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) +- [azurerm_container_app_environment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_app_environment) +- [azurerm_container_app](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_app) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | +| `log_analytics_workspace_sku` | Log analytics workspace sku| PerGB2018 | +| `log_analytics_workspace_retention_in_days` | Log analytics workspace retention in days | 30 | +| `container_app_revision_mode` | Container app revision mode | Single | +| `container_name` | Container name | examplecontainerapp | +| `container_image` | Container image | mcr.microsoft.com/azuredocs/containerapps-helloworld:latest | +| `container_cpu` | Container cpu | 0.25 | +| `container_memory` | Container memory | 0.5Gi | \ No newline at end of file diff --git a/quickstart/101-azure-container-app/variables.tf b/quickstart/101-azure-container-app/variables.tf new file mode 100644 index 000000000..1f25a2f4b --- /dev/null +++ b/quickstart/101-azure-container-app/variables.tf @@ -0,0 +1,53 @@ +variable "resource_group_location" { + type = string + description = "Location of the resource group." + default = "eastus" +} + +variable "resource_group_name_prefix" { + type = string + description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription." + default = "rg" +} + +variable "log_analytics_workspace_sku" { + type = string + description = "Log analytics workspace sku" + default = "PerGB2018" +} + +variable "log_analytics_workspace_retention_in_days" { + type = number + description = "Log analytics workspace retention in days" + default = 30 +} + +variable "container_app_revision_mode" { + type = string + description = "Container app revision mode" + default = "Single" +} + +variable "container_name" { + type = string + description = "Container name" + default = "examplecontainerapp" +} + +variable "container_image" { + type = string + description = "Container image" + default = "mcr.microsoft.com/azuredocs/containerapps-helloworld:latest" +} + +variable "container_cpu" { + type = number + description = "Container cpu" + default = 0.25 +} + +variable "container_memory" { + type = string + description = "Container memory" + default = "0.5Gi" +} \ No newline at end of file diff --git a/quickstart/101-azure-virtual-desktop-anf/TestRecord.md b/quickstart/101-azure-virtual-desktop-anf/TestRecord.md index f4a8decad..d09e1ee98 100644 --- a/quickstart/101-azure-virtual-desktop-anf/TestRecord.md +++ b/quickstart/101-azure-virtual-desktop-anf/TestRecord.md @@ -1,3 +1,255 @@ +## 06 Oct 24 00:19 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.2 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:27 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 01:54 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:46 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 01:43 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 01:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:38 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:40 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:32 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:24 UTC Success: false diff --git a/quickstart/101-azure-virtual-desktop/TestRecord.md b/quickstart/101-azure-virtual-desktop/TestRecord.md index c8d15fb89..1a7fd244d 100644 --- a/quickstart/101-azure-virtual-desktop/TestRecord.md +++ b/quickstart/101-azure-virtual-desktop/TestRecord.md @@ -1,3 +1,255 @@ +## 06 Oct 24 00:19 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.2 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:28 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:50 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v3.0.0 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 01:54 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:46 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 01:43 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 01:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:38 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:40 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:32 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azuread v2.53.1 ++ provider registry.terraform.io/hashicorp/azurerm v2.99.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:24 UTC Success: false diff --git a/quickstart/101-batch-account-with-storage/TestRecord.md b/quickstart/101-batch-account-with-storage/TestRecord.md index 63823fa2b..508c592db 100644 --- a/quickstart/101-batch-account-with-storage/TestRecord.md +++ b/quickstart/101-batch-account-with-storage/TestRecord.md @@ -1,3 +1,241 @@ +## 06 Oct 24 00:22 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 04:30 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 02:49 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 29 Sep 24 00:10 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 27 Sep 24 06:52 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 22 Sep 24 00:11 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 18 Sep 24 03:29 UTC + +Success: false + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.3 + +### Error + + + +--- + +## 08 Sep 24 01:56 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Sep 24 01:48 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 25 Aug 24 01:43 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 18 Aug 24 01:49 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.116.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 11 Aug 24 01:38 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.115.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 04 Aug 24 01:42 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.114.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + +## 01 Aug 24 02:32 UTC + +Success: true + +### Versions + +Terraform v1.9.3 +on linux_amd64 ++ provider registry.terraform.io/hashicorp/azurerm v3.113.0 ++ provider registry.terraform.io/hashicorp/random v3.6.2 + +### Error + + + +--- + ## 28 Jan 24 01:07 UTC Success: true diff --git a/quickstart/101-batch-pools-with-job/README.md b/quickstart/101-batch-pools-with-job/README.md new file mode 100644 index 000000000..2ab709134 --- /dev/null +++ b/quickstart/101-batch-pools-with-job/README.md @@ -0,0 +1,21 @@ +# Azure Batch + +Deploy an Azure Batch account and two batch pools. + +## Terraform resource types + +- [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) +- [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) +- [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) +- [azurerm_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account) +- [azurerm_batch_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/batch_account) +- [azurerm_batch_pool](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/batch_pool) + +## Variables + +| Name | Description | Default | +|-|-|-| +| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription. | rg | +| `resource_group_location` | Location of the resource group. | eastus | + +## Example \ No newline at end of file diff --git a/quickstart/101-batch-pools-with-job/main.tf b/quickstart/101-batch-pools-with-job/main.tf new file mode 100644 index 000000000..fa4936950 --- /dev/null +++ b/quickstart/101-batch-pools-with-job/main.tf @@ -0,0 +1,114 @@ +resource "random_pet" "rg_name" { + prefix = var.resource_group_name_prefix +} + +resource "azurerm_resource_group" "rg" { + location = var.resource_group_location + name = random_pet.rg_name.id +} + +resource "random_string" "storage_account_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_storage_account" "example" { + name = random_string.storage_account_name.result + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + account_tier = "Standard" + account_replication_type = "LRS" +} + +resource "random_string" "batch_account_name" { + length = 8 + lower = true + numeric = false + special = false + upper = false +} + +resource "azurerm_batch_account" "example" { + name = random_string.batch_account_name.result + resource_group_name = azurerm_resource_group.rg.name + location = azurerm_resource_group.rg.location + storage_account_id = azurerm_storage_account.example.id + storage_account_authentication_mode = "StorageKeys" +} + +resource "random_pet" "azurerm_batch_pool_name" { + prefix = "pool" +} + +resource "azurerm_batch_pool" "fixed" { + name = "${random_pet.azurerm_batch_pool_name.id}-fixed-pool" + resource_group_name = azurerm_resource_group.rg.name + account_name = azurerm_batch_account.example.name + display_name = "Fixed Scale Pool" + vm_size = "Standard_A1" + node_agent_sku_id = "batch.node.ubuntu 22.04" + + fixed_scale { + target_dedicated_nodes = 2 + resize_timeout = "PT15M" + } + + storage_image_reference { + publisher = "Canonical" + offer = "0001-com-ubuntu-server-jammy" + sku = "22_04-lts" + version = "latest" + } + + start_task { + command_line = "echo 'Hello World from $env'" + task_retry_maximum = 1 + wait_for_success = true + + common_environment_properties = { + env = "TEST" + } + + user_identity { + auto_user { + elevation_level = "NonAdmin" + scope = "Task" + } + } + } + + metadata = { + "tagName" = "Example tag" + } +} + +resource "azurerm_batch_pool" "autopool" { + name = "${random_pet.azurerm_batch_pool_name.id}-autoscale-pool" + resource_group_name = azurerm_resource_group.rg.name + account_name = azurerm_batch_account.example.name + display_name = "Auto Scale Pool" + vm_size = "Standard_A1" + node_agent_sku_id = "batch.node.ubuntu 22.04" + + auto_scale { + evaluation_interval = "PT15M" + + formula = <