Merge remote-tracking branch 'origin/master' into sql-managed-instance
This commit is contained in:
commit
25a6da8b00
48
README.md
48
README.md
@ -1,24 +1,24 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
This project welcomes contributions and suggestions.
|
This project welcomes contributions and suggestions.
|
||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
Module summary
|
Module summary
|
||||||
[Module contribution guide](./module/CONTRIBUTE.md)
|
[Module contribution guide](./module/CONTRIBUTE.md)
|
||||||
|
|
||||||
## Providers
|
## Providers
|
||||||
Provider summary
|
Provider summary
|
||||||
[Provider contribution guide](./provider/CONTRIBUTE.md)
|
[Provider contribution guide](./provider/CONTRIBUTE.md)
|
||||||
|
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
This project welcomes contributions and suggestions. Most contributions require you to agree to a
|
||||||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||||||
the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
the rights to use your contribution. For details, visit https://cla.microsoft.com.
|
||||||
|
|
||||||
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
|
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
|
||||||
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
|
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
|
||||||
provided by the bot. You will only need to do this once across all repos using our CLA.
|
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||||||
|
|
||||||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||||||
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
@ -108,7 +108,7 @@ resource "azurerm_virtual_machine_extension" "vmext_dsc" {
|
|||||||
|
|
||||||
settings = <<-SETTINGS
|
settings = <<-SETTINGS
|
||||||
{
|
{
|
||||||
"modulesUrl": "https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/Configuration_3-10-2021.zip",
|
"modulesUrl": "https://wvdportalstorageblob.blob.core.windows.net/galleryartifacts/Configuration_09-08-2022.zip",
|
||||||
"configurationFunction": "Configuration.ps1\\AddSessionHost",
|
"configurationFunction": "Configuration.ps1\\AddSessionHost",
|
||||||
"properties": {
|
"properties": {
|
||||||
"HostPoolName":"${azurerm_virtual_desktop_host_pool.hostpool.name}"
|
"HostPoolName":"${azurerm_virtual_desktop_host_pool.hostpool.name}"
|
||||||
|
27
quickstart/101-cosmos-db-azure-container-instance/aci.tf
Normal file
27
quickstart/101-cosmos-db-azure-container-instance/aci.tf
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
resource "azurerm_container_group" "vote_aci" {
|
||||||
|
name = "vote-aci"
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
ip_address_type = "public"
|
||||||
|
dns_name_label = "vote-aci-${random_integer.ri.result}"
|
||||||
|
os_type = "linux"
|
||||||
|
|
||||||
|
container {
|
||||||
|
name = "vote-aci"
|
||||||
|
image = "mcr.microsoft.com/azuredocs/azure-vote-front:cosmosdb"
|
||||||
|
cpu = "0.5"
|
||||||
|
memory = "1.5"
|
||||||
|
ports {
|
||||||
|
port = 80
|
||||||
|
protocol = "TCP"
|
||||||
|
}
|
||||||
|
|
||||||
|
secure_environment_variables = {
|
||||||
|
"COSMOS_DB_ENDPOINT" = azurerm_cosmosdb_account.vote_cosmos_db.endpoint
|
||||||
|
"COSMOS_DB_MASTERKEY" = azurerm_cosmosdb_account.vote_cosmos_db.primary_key
|
||||||
|
"TITLE" = "Azure Voting App"
|
||||||
|
"VOTE1VALUE" = "Cats"
|
||||||
|
"VOTE2VALUE" = "Dogs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
32
quickstart/101-cosmos-db-azure-container-instance/main.tf
Normal file
32
quickstart/101-cosmos-db-azure-container-instance/main.tf
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
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_integer" "ri" {
|
||||||
|
min = 10000
|
||||||
|
max = 99999
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_cosmosdb_account" "vote_cosmos_db" {
|
||||||
|
name = "tfex-cosmos-db-${random_integer.ri.result}"
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
offer_type = "Standard"
|
||||||
|
kind = "GlobalDocumentDB"
|
||||||
|
|
||||||
|
consistency_policy {
|
||||||
|
consistency_level = "BoundedStaleness"
|
||||||
|
max_interval_in_seconds = 10
|
||||||
|
max_staleness_prefix = 200
|
||||||
|
}
|
||||||
|
|
||||||
|
geo_location {
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
failover_priority = 0
|
||||||
|
}
|
||||||
|
}
|
11
quickstart/101-cosmos-db-azure-container-instance/outputs.tf
Normal file
11
quickstart/101-cosmos-db-azure-container-instance/outputs.tf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
output "resource_group_name" {
|
||||||
|
value = azurerm_resource_group.rg.name
|
||||||
|
}
|
||||||
|
|
||||||
|
output "cosmosdb_account_name" {
|
||||||
|
value = azurerm_cosmosdb_account.vote_cosmos_db.name
|
||||||
|
}
|
||||||
|
|
||||||
|
output "dns" {
|
||||||
|
value = azurerm_container_group.vote_aci.fqdn
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
terraform {
|
||||||
|
required_version = ">=0.12"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
azurerm = {
|
||||||
|
source = "hashicorp/azurerm"
|
||||||
|
version = "~>3.0"
|
||||||
|
}
|
||||||
|
random = {
|
||||||
|
source = "hashicorp/random"
|
||||||
|
version = "~>3.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
provider "azurerm" {
|
||||||
|
features {}
|
||||||
|
}
|
21
quickstart/101-cosmos-db-azure-container-instance/readme.md
Normal file
21
quickstart/101-cosmos-db-azure-container-instance/readme.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Azure Cosmos DB in an Azure Container Instance
|
||||||
|
|
||||||
|
This template shows how to use Terraform to deploy an Azure Cosmos DB to Azure Container Instances.
|
||||||
|
|
||||||
|
## 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_integer](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/integer)
|
||||||
|
- [azurerm_cosmosdb_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/cosmosdb_account)
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
To see how to run this example, see [Deploy an Azure Cosmos DB to Azure Container Instances](https://docs.microsoft.com/azure/developer/terraform/deploy-azure-cosmos-db-to-azure-container-instances).
|
@ -0,0 +1,9 @@
|
|||||||
|
variable "resource_group_location" {
|
||||||
|
default = "eastus"
|
||||||
|
description = "Location of the resource group."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "resource_group_name_prefix" {
|
||||||
|
default = "rg"
|
||||||
|
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
|
||||||
|
}
|
@ -20,11 +20,11 @@ This template deploys a Linux virtual machine (VM) with infrastructure that incl
|
|||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
| Name | Description | Default |
|
| **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_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 |
|
| `resource_group_location` | Location of the resource group. | eastus |
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
To see how to run this example, see [Quickstart: Configure a Linux virtual machine in Azure using Terraform](https://docs.microsoft.com/azure/developer/terraform/create-linux-virtual-machine-with-infrastructure).
|
To see how to run this example, see [Quickstart: Configure a Linux virtual machine in Azure using Terraform](https://docs.microsoft.com/azure/developer/terraform/create-linux-virtual-machine-with-infrastructure).
|
||||||
|
165
quickstart/201-iot-hub-with-device-provisioning-service/main.tf
Normal file
165
quickstart/201-iot-hub-with-device-provisioning-service/main.tf
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create storage account & container
|
||||||
|
resource "random_string" "sa_name" {
|
||||||
|
length = 12
|
||||||
|
special = false
|
||||||
|
upper = false
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_storage_account" "sa" {
|
||||||
|
name = random_string.sa_name.id
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
account_tier = "Standard"
|
||||||
|
account_replication_type = "LRS"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_storage_container" "my_terraform_container" {
|
||||||
|
name = "mycontainer"
|
||||||
|
storage_account_name = azurerm_storage_account.sa.name
|
||||||
|
container_access_type = "private"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Create an Event Hub & Authorization Rule
|
||||||
|
resource "random_pet" "eventhub_namespace_name" {
|
||||||
|
prefix = var.eventhub_namespace_name_prefix
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_eventhub_namespace" "namespace" {
|
||||||
|
name = random_pet.eventhub_namespace_name.id
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
sku = "Basic"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_eventhub" "my_terraform_eventhub" {
|
||||||
|
name = "myEventHub"
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
namespace_name = azurerm_eventhub_namespace.namespace.name
|
||||||
|
partition_count = 2
|
||||||
|
message_retention = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_eventhub_authorization_rule" "my_terraform_authorization_rule" {
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
namespace_name = azurerm_eventhub_namespace.namespace.name
|
||||||
|
eventhub_name = azurerm_eventhub.my_terraform_eventhub.name
|
||||||
|
name = "acctest"
|
||||||
|
send = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Create an IoT Hub
|
||||||
|
resource "random_pet" "iothub_name" {
|
||||||
|
prefix = var.iothub_name_prefix
|
||||||
|
length = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_iothub" "iothub" {
|
||||||
|
name = random_pet.iothub_name.id
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
|
||||||
|
sku {
|
||||||
|
name = "S1"
|
||||||
|
capacity = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
endpoint {
|
||||||
|
type = "AzureIotHub.StorageContainer"
|
||||||
|
connection_string = azurerm_storage_account.sa.primary_blob_connection_string
|
||||||
|
name = "export"
|
||||||
|
batch_frequency_in_seconds = 60
|
||||||
|
max_chunk_size_in_bytes = 10485760
|
||||||
|
container_name = azurerm_storage_container.my_terraform_container.name
|
||||||
|
encoding = "Avro"
|
||||||
|
file_name_format = "{iothub}/{partition}_{YYYY}_{MM}_{DD}_{HH}_{mm}"
|
||||||
|
}
|
||||||
|
|
||||||
|
endpoint {
|
||||||
|
type = "AzureIotHub.EventHub"
|
||||||
|
connection_string = azurerm_eventhub_authorization_rule.my_terraform_authorization_rule.primary_connection_string
|
||||||
|
name = "export2"
|
||||||
|
}
|
||||||
|
|
||||||
|
route {
|
||||||
|
name = "export"
|
||||||
|
source = "DeviceMessages"
|
||||||
|
condition = "true"
|
||||||
|
endpoint_names = ["export"]
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
route {
|
||||||
|
name = "export2"
|
||||||
|
source = "DeviceMessages"
|
||||||
|
condition = "true"
|
||||||
|
endpoint_names = ["export2"]
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
enrichment {
|
||||||
|
key = "tenant"
|
||||||
|
value = "$twin.tags.Tenant"
|
||||||
|
endpoint_names = ["export", "export2"]
|
||||||
|
}
|
||||||
|
|
||||||
|
cloud_to_device {
|
||||||
|
max_delivery_count = 30
|
||||||
|
default_ttl = "PT1H"
|
||||||
|
feedback {
|
||||||
|
time_to_live = "PT1H10M"
|
||||||
|
max_delivery_count = 15
|
||||||
|
lock_duration = "PT30S"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tags = {
|
||||||
|
purpose = "testing"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#Create IoT Hub Access Policy
|
||||||
|
resource "azurerm_iothub_shared_access_policy" "hub_access_policy" {
|
||||||
|
name = "terraform-policy"
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
iothub_name = azurerm_iothub.iothub.name
|
||||||
|
|
||||||
|
registry_read = true
|
||||||
|
registry_write = true
|
||||||
|
service_connect = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create IoT Hub DPS
|
||||||
|
resource "random_pet" "dps_name" {
|
||||||
|
prefix = var.dps_name_prefix
|
||||||
|
length = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "azurerm_iothub_dps" "dps" {
|
||||||
|
name = random_pet.dps_name.id
|
||||||
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
allocation_policy = "Hashed"
|
||||||
|
|
||||||
|
sku {
|
||||||
|
name = "S1"
|
||||||
|
capacity = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
linked_hub {
|
||||||
|
connection_string = azurerm_iothub_shared_access_policy.hub_access_policy.primary_connection_string
|
||||||
|
location = azurerm_resource_group.rg.location
|
||||||
|
allocation_weight = 150
|
||||||
|
apply_allocation_policy = true
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
output "azurerm_iothub_name" {
|
||||||
|
value = azurerm_iothub.iothub.name
|
||||||
|
}
|
||||||
|
|
||||||
|
output "azurerm_iothub_dps_name" {
|
||||||
|
value = azurerm_iothub_dps.dps.name
|
||||||
|
}
|
||||||
|
|
||||||
|
output "resource_group_name" {
|
||||||
|
value = azurerm_resource_group.rg.name
|
||||||
|
}
|
@ -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 {}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
# Azure IoT Hub and IoT Hub Device Provisioning Service
|
||||||
|
|
||||||
|
This template deploys an instance of [Azure IoT Hub](https://learn.microsoft.com/azure/iot-hub/) and [IoT Hub Device Provisioning Service](https://learn.microsoft.com/azure/iot-dps/) on Azure.
|
||||||
|
|
||||||
|
## Terraform resource types
|
||||||
|
|
||||||
|
* [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet)
|
||||||
|
* [random_string](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string)
|
||||||
|
* [azurerm_resource_group](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group)
|
||||||
|
* [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_eventhub_namespace](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/eventhub_namespace)
|
||||||
|
* [azurerm_eventhub](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/eventhub)
|
||||||
|
* [azurerm_eventhub_authorization_rule](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/eventhub_authorization_rule)
|
||||||
|
* [azurerm_iothub](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/iothub)
|
||||||
|
* [azurerm_iothub_shared_access_policy](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/iothub_shared_access_policy)
|
||||||
|
* [azurerm_iothub_dps](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/iothub_dps)
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
| Name | Description | Default |
|
||||||
|
| ---- | ----------- | ------- |
|
||||||
|
| `resource_group_location` | Location of the resource group. | `eastus` |
|
||||||
|
| `resource_group_name_prefix` | Prefix of the resource group name that's combined with a random ID so the name is unique in your Azure subscription. | `rg` |
|
||||||
|
| `eventhub_namespace_name_prefix` | Prefix of the event hub namespace name that's combined with a random ID so the name is unique in your Azure subscription. | `namespace` |
|
||||||
|
| `iothub_name_prefix` | Prefix of the IoT hub name that's combined with a random ID so the name is unique in your Azure subscription. | `iothub` |
|
||||||
|
| `dps_name_prefix` | Prefix of the dps name that's combined with a random ID so the name is unique in your Azure subscription. | `dps` |
|
@ -0,0 +1,24 @@
|
|||||||
|
variable "resource_group_location" {
|
||||||
|
default = "eastus"
|
||||||
|
description = "Location of the resource group."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "resource_group_name_prefix" {
|
||||||
|
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 "eventhub_namespace_name_prefix" {
|
||||||
|
default = "namespace"
|
||||||
|
description = "Prefix of the event hub namespace name that's combined with a random ID so name is unique in your Azure subscription."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "iothub_name_prefix" {
|
||||||
|
default = "iothub"
|
||||||
|
description = "Prefix of the iot hub name that's combined with a random ID so name is unique in your Azure subscription."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "dps_name_prefix" {
|
||||||
|
default = "dps"
|
||||||
|
description = "Prefix of the dps name that's combined with a random ID so name is unique in your Azure subscription."
|
||||||
|
}
|
@ -14,7 +14,8 @@ resource "random_id" "log_analytics_workspace_name_suffix" {
|
|||||||
|
|
||||||
resource "azurerm_log_analytics_workspace" "test" {
|
resource "azurerm_log_analytics_workspace" "test" {
|
||||||
location = var.log_analytics_workspace_location
|
location = var.log_analytics_workspace_location
|
||||||
# The WorkSpace name has to be unique across the whole of azure, not just the current subscription/tenant.
|
# The WorkSpace name has to be unique across the whole of azure;
|
||||||
|
# not just the current subscription/tenant.
|
||||||
name = "${var.log_analytics_workspace_name}-${random_id.log_analytics_workspace_name_suffix.dec}"
|
name = "${var.log_analytics_workspace_name}-${random_id.log_analytics_workspace_name_suffix.dec}"
|
||||||
resource_group_name = azurerm_resource_group.rg.name
|
resource_group_name = azurerm_resource_group.rg.name
|
||||||
sku = var.log_analytics_workspace_sku
|
sku = var.log_analytics_workspace_sku
|
||||||
|
@ -17,6 +17,8 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
|
|||||||
#### Beginner
|
#### Beginner
|
||||||
|
|
||||||
- [Azure resource group](./101-resource-group)
|
- [Azure resource group](./101-resource-group)
|
||||||
|
- [Azure attestation provider](./101-attestation-provider)
|
||||||
|
- [Azure Cosmos DB in an Azure Container Instance](./101-cosmos-db-azure-container-instance)
|
||||||
- [Static Website hosted on Azure Storage](./101-storage-static-website)
|
- [Static Website hosted on Azure Storage](./101-storage-static-website)
|
||||||
- [Azure Web App hosting a Linux Container](./101-web-app-linux-container)
|
- [Azure Web App hosting a Linux Container](./101-web-app-linux-container)
|
||||||
- [Azure Web App hosting a Java 8 App on Linux](./101-web-app-linux-java)
|
- [Azure Web App hosting a Java 8 App on Linux](./101-web-app-linux-java)
|
||||||
@ -25,6 +27,7 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
|
|||||||
#### Intermediate
|
#### Intermediate
|
||||||
|
|
||||||
- [Azure Web App with ACR](./201-web-app-docker-acr/)
|
- [Azure Web App with ACR](./201-web-app-docker-acr/)
|
||||||
|
- [Azure Kubernetes Service with Kubernetes cluster](./201-k8s-cluster-with-tf-and-aks)
|
||||||
- [Azure Kubernetes Service with an Admin Dashboard](./201-aks-rbac-dashboard-admin/)
|
- [Azure Kubernetes Service with an Admin Dashboard](./201-aks-rbac-dashboard-admin/)
|
||||||
- [Azure Kubernetes Service with Log Analytics](./201-aks-log-analytics/)
|
- [Azure Kubernetes Service with Log Analytics](./201-aks-log-analytics/)
|
||||||
- [Azure Kubernetes Service with Helm](./201-aks-helm/)
|
- [Azure Kubernetes Service with Helm](./201-aks-helm/)
|
||||||
@ -52,4 +55,4 @@ This project has adopted the [Microsoft Open Source Code of Conduct](https://ope
|
|||||||
- [AppGateway fronted VM Scale Set](./201-vmss-appgw-waf/)
|
- [AppGateway fronted VM Scale Set](./201-vmss-appgw-waf/)
|
||||||
- [Azure Pipeline CI/CD for Terraform](./201-azure-pipelines-ci-cd/)
|
- [Azure Pipeline CI/CD for Terraform](./201-azure-pipelines-ci-cd/)
|
||||||
- [AKS with Windows node pools](./301-aks-windows-nodepool/)
|
- [AKS with Windows node pools](./301-aks-windows-nodepool/)
|
||||||
- [Hub and Spoke VNet with VMs](./301-hub-spoke-network-3vm/)
|
- [Hub and Spoke VNet with VMs](./301-hub-spoke-network-3vm/)
|
Loading…
x
Reference in New Issue
Block a user