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 = ["*"] }