Microsoft.AppPlatform Primavera/apps/deployments 2022-03-01-preview

Observações

Nota: As Implantações de Aplicações Azure Spring Apps (Microsoft.AppPlatform/Spring/apps/deployments) estão agora obsoletas e serão aposentadas em 31-05-2028. Consulte https://aka.ms/asaretirement para obter mais informações.

Definição de recurso do Bicep

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o Bicep a seguir ao seu modelo.

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2022-03-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: {
          {customized property}: any(...)
        }
      }
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {
        {customized property}: 'string'
      }
      resourceRequests: {
        cpu: 'string'
        memory: 'string'
      }
    }
    source: {
      version: 'string'
      type: 'string'
      // For remaining properties, see UserSourceInfo objects
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
}

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

{
  buildResultId: 'string'
  type: 'BuildResult'
}

Para de Contêiner, use:

{
  customContainer: {
    args: [
      'string'
    ]
    command: [
      'string'
    ]
    containerImage: 'string'
    imageRegistryCredential: {
      password: 'string'
      username: 'string'
    }
    languageFramework: 'string'
    server: 'string'
  }
  type: 'Container'
}

Para Jar, use:

{
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'Jar'
}

Para NetCoreZip, use:

{
  netCoreMainEntryPath: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'NetCoreZip'
}

Para de origem, use:

{
  artifactSelector: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'
  type: 'Source'
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
pai No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para o recurso do tipo: spring/apps
Propriedades Propriedades do recurso de implantação deploymentResourceProperties
Sku Sku do recurso de implantação de SKU

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

Exemplos de uso

Exemplos do Bicep

Um exemplo básico de implantação do Spring Cloud Deployment.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource spring 'Microsoft.AppPlatform/Spring@2023-05-01-preview' = {
  name: resourceName
  location: location
  properties: {
    zoneRedundant: false
  }
  sku: {
    name: 'E0'
  }
}

resource app 'Microsoft.AppPlatform/Spring/apps@2023-05-01-preview' = {
  parent: spring
  name: resourceName
  location: location
  properties: {
    customPersistentDisks: []
    enableEndToEndTLS: false
    public: false
  }
}

resource deployment 'Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview' = {
  parent: app
  name: resourceName
  properties: {
    deploymentSettings: {
      environmentVariables: {}
    }
    source: {
      customContainer: {
        args: []
        command: []
        containerImage: 'springio/gs-spring-boot-docker'
        languageFramework: ''
        server: 'docker.io'
      }
      type: 'Container'
    }
  }
  sku: {
    capacity: 1
    name: 'E0'
    tier: 'Enterprise'
  }
}

Exemplos de Início Rápido do Azure

Os modelos de Início Rápido do Azure a seguir contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
implantar um aplicativo simples de microsserviço do Azure Spring Apps Este modelo implanta um aplicativo simples de microsserviço do Azure Spring Apps para ser executado no Azure.

Definição de recurso de modelo do ARM

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o JSON a seguir ao seu modelo.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2022-03-01-preview",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {
          "{customized property}": {}
        }
      },
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      }
    },
    "source": {
      "version": "string",
      "type": "string"
      // For remaining properties, see UserSourceInfo objects
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  }
}

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

{
  "buildResultId": "string",
  "type": "BuildResult"
}

Para de Contêiner, use:

{
  "customContainer": {
    "args": [ "string" ],
    "command": [ "string" ],
    "containerImage": "string",
    "imageRegistryCredential": {
      "password": "string",
      "username": "string"
    },
    "languageFramework": "string",
    "server": "string"
  },
  "type": "Container"
}

Para Jar, use:

{
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "Jar"
}

Para NetCoreZip, use:

{
  "netCoreMainEntryPath": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "NetCoreZip"
}

Para de origem, use:

{
  "artifactSelector": "string",
  "relativePath": "string",
  "runtimeVersion": "string",
  "type": "Source"
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Nome Descrição Valor
apiVersion A versão da API '2022-03-01-preview'
nome O nome do recurso cadeia de caracteres (obrigatório)
Propriedades Propriedades do recurso de implantação deploymentResourceProperties
Sku Sku do recurso de implantação de SKU
tipo O tipo de recurso 'Microsoft.AppPlatform/Spring/apps/deployments'

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

Exemplos de uso

Modelos de Início Rápido do Azure

Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.

Modelo Descrição
implantar um aplicativo simples de microsserviço do Azure Spring Apps

Implantar no Azure
Este modelo implanta um aplicativo simples de microsserviço do Azure Spring Apps para ser executado no Azure.

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-03-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = {
            {customized property} = ?
          }
        }
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
      }
      source = {
        version = "string"
        type = "string"
        // For remaining properties, see UserSourceInfo objects
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  }
}

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

{
  buildResultId = "string"
  type = "BuildResult"
}

Para de Contêiner, use:

{
  customContainer = {
    args = [
      "string"
    ]
    command = [
      "string"
    ]
    containerImage = "string"
    imageRegistryCredential = {
      password = "string"
      username = "string"
    }
    languageFramework = "string"
    server = "string"
  }
  type = "Container"
}

Para Jar, use:

{
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "Jar"
}

Para NetCoreZip, use:

{
  netCoreMainEntryPath = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "NetCoreZip"
}

Para de origem, use:

{
  artifactSelector = "string"
  relativePath = "string"
  runtimeVersion = "string"
  type = "Source"
}

Valores de propriedade

Microsoft.AppPlatform/Spring/apps/deployments

Nome Descrição Valor
nome O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso que é o pai desse recurso. ID do recurso do tipo: Spring/apps
Propriedades Propriedades do recurso de implantação deploymentResourceProperties
Sku Sku do recurso de implantação de SKU
tipo O tipo de recurso "Microsoft.AppPlatform/Spring/apps/deployments@2022-03-01-preview"

Perfil de addon

Nome Descrição Valor

BuildResultUserSourceInfo

Nome Descrição Valor
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. cadeia
tipo Tipo da origem carregada 'BuildResult' (obrigatório)

Configurações de contêiner

Nome Descrição Valor
DisableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

Contêiner personalizado

Nome Descrição Valor
argumentos Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. cadeia de caracteres[]
imagem de contêiner Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de <>de repositório:<marca> sem o nome do servidor do registro cadeia
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada cadeia
servidor O nome do registro que contém a imagem do contêiner cadeia

CustomContainerUserSourceInfo

Nome Descrição Valor
Contêiner personalizado Conteúdo do contêiner personalizado CustomContainer
tipo Tipo da origem carregada 'Contêiner' (obrigatório)

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
Configurações de implantação Configurações de implantação da Implantação Configurações de implantação
fonte Informações de origem carregadas da implantação. UserSourceInfo

Configurações de implantação

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
variáveis de ambiente Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
solicitações de recursos A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests

DeploymentSettingsAddonConfigs

Nome Descrição Valor

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor

Credencial de registro de imagem

Nome Descrição Valor
senha A senha da credencial do registro de imagem cadeia
nome de usuário O nome de usuário da credencial do registro de imagem cadeia

JarUploadedUserSourceInfo

Nome Descrição Valor
Opções jvm Parâmetro JVM cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo Jar cadeia
tipo Tipo da origem carregada 'Jar' (obrigatório)

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo .Net cadeia
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)

Solicitações de recursos

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. cadeia
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. cadeia

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku cadeia
nível Camada do Sku cadeia

SourceUploadedUserSourceInfo

Nome Descrição Valor
seletor de artefatos Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
cadeia
caminho relativo Caminho relativo do armazenamento que armazena a origem cadeia
runtimeVersion Versão de runtime do arquivo de origem cadeia
tipo Tipo da origem carregada 'Origem' (obrigatório)

UserSourceInfo

Nome Descrição Valor
tipo Defina como 'BuildResult' para o tipo BuildResultUserSourceInfo. Defina como 'Contêiner' para o tipo CustomContainerUserSourceInfo . Defina como 'Jar' para o tipo JarUploadedUserSourceInfo . Defina como 'NetCoreZip' para o tipo NetCoreZipUploadedUserSourceInfo. Defina como 'Source' para o tipo SourceUploadedUserSourceInfo. 'Resultado de construção'
'Contêiner'
'Jarro'
'NetCoreZip'
'Origem' (obrigatório)
versão Versão da origem cadeia

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação do Spring Cloud Deployment.

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 = "E0"
    }
  }
  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
  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      = var.resource_name
  body = {
    properties = {
      deploymentSettings = {
        environmentVariables = {
        }
      }
      source = {
        customContainer = {
          args = [
          ]
          command = [
          ]
          containerImage    = "springio/gs-spring-boot-docker"
          languageFramework = ""
          server            = "docker.io"
        }
        type = "Container"
      }
    }
    sku = {
      capacity = 1
      name     = "E0"
      tier     = "Enterprise"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}