Examples for documentation for AzAPI provider including resource and update_resource
This commit is contained in:
parent
64aa77f9f8
commit
3fcccfc376
28
quickstart/101-azapi-eventhub-network-rules/main-generic.tf
Normal file
28
quickstart/101-azapi-eventhub-network-rules/main-generic.tf
Normal file
@ -0,0 +1,28 @@
|
||||
# AzAPI update resource is used to enable Network Rule sets on Event Hub namespace
|
||||
resource "azapi_update_resource" "qs101" {
|
||||
type = "Microsoft.EventHub/namespaces/networkRuleSets@2021-11-01"
|
||||
name = "default"
|
||||
parent_id = azurerm_eventhub_namespace.qs101.id
|
||||
|
||||
body = jsonencode({
|
||||
properties = {
|
||||
defaultAction = "Deny"
|
||||
publicNetworkAccess = "Enabled"
|
||||
virtualNetworkRules = [
|
||||
{
|
||||
ignoreMissingVnetServiceEndpoint = false
|
||||
subnet = {
|
||||
# API bug, returned id replaced `resourceGroups` with `resourcegroups`
|
||||
id = replace(azurerm_subnet.qs101.id, "resourceGroups", "resourcegroups")
|
||||
}
|
||||
}
|
||||
]
|
||||
ipRules = [
|
||||
{
|
||||
action = "Allow"
|
||||
ipMask = "1.1.1.1"
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
}
|
34
quickstart/101-azapi-eventhub-network-rules/main.tf
Normal file
34
quickstart/101-azapi-eventhub-network-rules/main.tf
Normal file
@ -0,0 +1,34 @@
|
||||
resource "azurerm_resource_group" "qs101" {
|
||||
name = "rg-qs101-eh-rules"
|
||||
location = "westus2"
|
||||
}
|
||||
|
||||
resource "azurerm_virtual_network" "qs101" {
|
||||
name = "myvnet"
|
||||
location = azurerm_resource_group.qs101.location
|
||||
resource_group_name = azurerm_resource_group.qs101.name
|
||||
address_space = ["172.17.0.0/16"]
|
||||
dns_servers = ["10.0.0.4", "10.0.0.5"]
|
||||
}
|
||||
|
||||
resource "azurerm_subnet" "qs101" {
|
||||
name = "default"
|
||||
resource_group_name = azurerm_resource_group.qs101.name
|
||||
virtual_network_name = azurerm_virtual_network.qs101.name
|
||||
address_prefixes = ["172.17.0.0/24"]
|
||||
|
||||
service_endpoints = ["Microsoft.EventHub"]
|
||||
}
|
||||
|
||||
resource "random_pet" "qs101_namespace" {
|
||||
length = 3
|
||||
separator = ""
|
||||
}
|
||||
|
||||
resource "azurerm_eventhub_namespace" "qs101" {
|
||||
name = random_pet.qs101_namespace.id
|
||||
location = azurerm_resource_group.qs101.location
|
||||
resource_group_name = azurerm_resource_group.qs101.name
|
||||
sku = "Standard"
|
||||
capacity = 2
|
||||
}
|
28
quickstart/101-azapi-eventhub-network-rules/providers.tf
Normal file
28
quickstart/101-azapi-eventhub-network-rules/providers.tf
Normal file
@ -0,0 +1,28 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
azapi = {
|
||||
source = "azure/azapi"
|
||||
version = "=0.1.0"
|
||||
}
|
||||
|
||||
azurerm = {
|
||||
source = "hashicorp/azurerm"
|
||||
version = "=3.0.2"
|
||||
}
|
||||
|
||||
random = {
|
||||
source = "hashicorp/random"
|
||||
version = "=3.1.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "azapi" {
|
||||
}
|
||||
|
||||
provider "azurerm" {
|
||||
features {}
|
||||
}
|
||||
|
||||
provider "random" {
|
||||
}
|
25
quickstart/101-azapi-lab-services/main-generic.tf
Normal file
25
quickstart/101-azapi-lab-services/main-generic.tf
Normal file
@ -0,0 +1,25 @@
|
||||
# Provision a Lab Service Account and a Lab that are in public preview
|
||||
resource "azapi_resource" "qs101-account" {
|
||||
type = "Microsoft.LabServices/labaccounts@2018-10-15"
|
||||
name = "qs101LabAccount"
|
||||
parent_id = azurerm_resource_group.qs101.id
|
||||
|
||||
body = jsonencode({
|
||||
properties = {
|
||||
enabledRegionSelection = false
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
resource "azapi_resource" "qs101-lab" {
|
||||
type = "Microsoft.LabServices/labaccounts/labs@2018-10-15"
|
||||
name = "qs101Lab"
|
||||
parent_id = azapi_resource.qs101-account.id
|
||||
|
||||
body = jsonencode({
|
||||
properties = {
|
||||
maxUsersInLab = 10
|
||||
userAccessMode = "Restricted"
|
||||
}
|
||||
})
|
||||
}
|
13
quickstart/101-azapi-lab-services/main.tf
Normal file
13
quickstart/101-azapi-lab-services/main.tf
Normal file
@ -0,0 +1,13 @@
|
||||
resource "azurerm_resource_group" "qs101" {
|
||||
name = "rg-qs101"
|
||||
location = "westus2"
|
||||
|
||||
depends_on = [
|
||||
azurerm_resource_provider_registration.qs101
|
||||
]
|
||||
}
|
||||
|
||||
#
|
||||
resource "azurerm_resource_provider_registration" "qs101" {
|
||||
name = "Microsoft.LabServices"
|
||||
}
|
23
quickstart/101-azapi-lab-services/providers.tf
Normal file
23
quickstart/101-azapi-lab-services/providers.tf
Normal file
@ -0,0 +1,23 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
azapi = {
|
||||
source = "azure/azapi"
|
||||
version = "=0.1.0"
|
||||
}
|
||||
azurerm = {
|
||||
source = "hashicorp/azurerm"
|
||||
version = "=3.0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "azapi" {
|
||||
default_location = "eastus"
|
||||
default_tags = {
|
||||
team = "Azure deployments"
|
||||
}
|
||||
}
|
||||
|
||||
provider "azurerm" {
|
||||
features {}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user