dependency/azapi_examples/Microsoft.SignalRService_signalR_sharedPrivateLinkResources@2023-02-01/main.tf (155 lines of code) (raw):
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
data "azurerm_client_config" "current" {
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "signalR" {
type = "Microsoft.SignalRService/signalR@2023-02-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
cors = {
}
disableAadAuth = false
disableLocalAuth = false
features = [
{
flag = "ServiceMode"
value = "Default"
},
{
flag = "EnableConnectivityLogs"
value = "False"
},
{
flag = "EnableMessagingLogs"
value = "False"
},
{
flag = "EnableLiveTrace"
value = "False"
},
]
publicNetworkAccess = "Enabled"
resourceLogConfiguration = {
categories = [
{
enabled = "false"
name = "MessagingLogs"
},
{
enabled = "false"
name = "ConnectivityLogs"
},
{
enabled = "false"
name = "HttpRequestLogs"
},
]
}
serverless = {
connectionTimeoutInSeconds = 30
}
tls = {
clientCertEnabled = false
}
upstream = {
templates = [
]
}
}
sku = {
capacity = 1
name = "Standard_S1"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "vault" {
type = "Microsoft.KeyVault/vaults@2021-10-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
accessPolicies = [
{
objectId = data.azurerm_client_config.current.object_id
permissions = {
certificates = [
"ManageContacts",
]
keys = [
"Create",
]
secrets = [
"Set",
]
storage = [
]
}
tenantId = data.azurerm_client_config.current.tenant_id
},
]
createMode = "default"
enableRbacAuthorization = false
enableSoftDelete = true
enabledForDeployment = false
enabledForDiskEncryption = false
enabledForTemplateDeployment = false
publicNetworkAccess = "Enabled"
sku = {
family = "A"
name = "standard"
}
softDeleteRetentionInDays = 7
tenantId = data.azurerm_client_config.current.tenant_id
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "sharedPrivateLinkResource" {
type = "Microsoft.SignalRService/signalR/sharedPrivateLinkResources@2023-02-01"
parent_id = azapi_resource.signalR.id
name = var.resource_name
body = {
properties = {
groupId = "vault"
privateLinkResourceId = azapi_resource.vault.id
requestMessage = "please approve"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}