dependency/azapi_examples/Microsoft.ServiceLinker_linkers@2022-05-01/main.tf (170 lines of code) (raw):
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "Spring" {
type = "Microsoft.AppPlatform/Spring@2023-05-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
zoneRedundant = false
}
sku = {
name = "S0"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "databaseAccount" {
type = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
kind = "GlobalDocumentDB"
properties = {
capabilities = [
]
consistencyPolicy = {
defaultConsistencyLevel = "BoundedStaleness"
maxIntervalInSeconds = 10
maxStalenessPrefix = 200
}
databaseAccountOfferType = "Standard"
defaultIdentity = "FirstPartyIdentity"
disableKeyBasedMetadataWriteAccess = false
disableLocalAuth = false
enableAnalyticalStorage = false
enableAutomaticFailover = false
enableFreeTier = false
enableMultipleWriteLocations = false
ipRules = [
]
isVirtualNetworkFilterEnabled = false
locations = [
{
failoverPriority = 0
isZoneRedundant = false
locationName = "West Europe"
},
]
networkAclBypass = "None"
networkAclBypassResourceIds = [
]
publicNetworkAccess = "Enabled"
virtualNetworkRules = [
]
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "sqlDatabase" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15"
parent_id = azapi_resource.databaseAccount.id
name = var.resource_name
body = {
properties = {
options = {
throughput = 400
}
resource = {
id = var.resource_name
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "app" {
type = "Microsoft.AppPlatform/Spring/apps@2023-05-01-preview"
parent_id = azapi_resource.Spring.id
name = var.resource_name
location = var.location
identity {
type = "SystemAssigned"
identity_ids = []
}
body = {
properties = {
customPersistentDisks = [
]
enableEndToEndTLS = false
public = false
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "deployment" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview"
parent_id = azapi_resource.app.id
name = "deploy-q4uff"
body = {
properties = {
deploymentSettings = {
environmentVariables = {
}
resourceRequests = {
cpu = "1"
memory = "1Gi"
}
}
source = {
jvmOptions = ""
relativePath = "<default>"
runtimeVersion = "Java_8"
type = "Jar"
}
}
sku = {
capacity = 1
name = "S0"
tier = "Standard"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "linker" {
type = "Microsoft.ServiceLinker/linkers@2022-05-01"
parent_id = azapi_resource.deployment.id
name = var.resource_name
body = {
properties = {
authInfo = {
authType = "systemAssignedIdentity"
}
clientType = "none"
targetService = {
id = azapi_resource.sqlDatabase.id
resourceProperties = null
type = "AzureResource"
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}