Microsoft.AppPlatform Printemps/applications/deployments 2022-03-01-preview

Remarques

Note : Les déploiements d’applications Azure Spring Apps (Microsoft.AppPlatform/Spring/apps/deployments) sont désormais désolés et seront retirés du service le 31-05-2028. Pour plus d’informations, consultez https://aka.ms/asaretirement.

Définition de ressource Bicep

Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez le bicep suivant à votre modèle.

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'
  }
}

Objets UserSourceInfo

Définissez le type propriété pour spécifier le type d’objet.

Pour BuildResult, utilisez :

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

Pour conteneur, utilisez :

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

Pour jar, utilisez :

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

Pour NetCoreZip, utilisez :

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

Pour source, utilisez :

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

Valeurs de la propriété

Microsoft.AppPlatform/Spring/apps/deployments

Nom Descriptif Valeur
nom Nom de la ressource chaîne (obligatoire)
parent Dans Bicep, vous pouvez spécifier la ressource parente d’une ressource enfant. Vous devez uniquement ajouter cette propriété lorsque la ressource enfant est déclarée en dehors de la ressource parente.

Pour plus d’informations, consultez ressource enfant en dehors de la ressource parente.
Nom symbolique de la ressource de type : Spring/apps
Propriétés Propriétés de la ressource de déploiement DeploymentResourceProperties
Sku Référence SKU de la ressource de déploiement référence SKU

Profil d’addon

Nom Descriptif Valeur

BuildResultUserSourceInfo

Nom Descriptif Valeur
buildResultId ID de ressource d’un résultat de build réussi existant sous la même instance Spring. corde
type Type de la source chargée 'BuildResult' (obligatoire)

ContainerProbeSettings

Nom Descriptif Valeur
désactiverSonde Indique si la sonde liveness et readiness est désactivée Bool

Conteneur personnalisé

Nom Descriptif Valeur
args Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
commander Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
containerImage Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre corde
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée corde
serveur Nom du registre qui contient l’image conteneur corde

CustomContainerUserSourceInfo

Nom Descriptif Valeur
customContainer Charge utile de conteneur personnalisée CustomContainer
type Type de la source chargée 'Container' (obligatoire)

DeploymentResourceProperties

Nom Descriptif Valeur
actif Indique si le déploiement est actif Bool
deploymentSettings Paramètres de déploiement du déploiement Paramètres de déploiement
Source Informations sources chargées du déploiement. userSourceInfo

Paramètres de déploiement

Nom Descriptif Valeur
addonConfigs Collection de compléments DeploymentSettingsAddonConfigs
containerProbeSettings Paramètres de sonde d’intégrité et de préparation du conteneur ContainerProbeSettings
variables d'environnement Collection de variables d’environnement DeploymentSettingsEnvironmentVariables
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. ResourceRequests

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe des informations d’identification du Registre d’images corde
nom d’utilisateur Nom d’utilisateur des informations d’identification du Registre d’images corde

JarUploadedUserSourceInfo

Nom Descriptif Valeur
jvmOptions Paramètre JVM corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier Jar corde
type Type de la source chargée 'Jar' (obligatoire)

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier .Net corde
type Type de la source chargée 'NetCoreZip' (obligatoire)

ResourceRequests

Nom Descriptif Valeur
CPU Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. corde
mémoire Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. corde

Sku

Nom Descriptif Valeur
capacité Capacité actuelle de la ressource cible Int
nom Nom de la référence SKU corde
niveau Niveau de la référence SKU corde

SourceUploadedUserSourceInfo

Nom Descriptif Valeur
artefactSelector Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de
chemin d’accès relatif au module/projet cible.
corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier source corde
type Type de la source chargée 'Source' (obligatoire)

UserSourceInfo

Nom Descriptif Valeur
type Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. 'BuildResult'
« Conteneur »
'Bocal'
'NetCoreZip'
'Source' (obligatoire)
Version Version de la source corde

Exemples d’utilisation

Exemples Bicep

Un exemple de base de déploiement de 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'
  }
}

Exemples de démarrage rapide Azure

Les modèles de démarrage rapide Azure suivants contiennent des exemples Bicep pour le déploiement de ce type de ressource.

Fichier Bicep Descriptif
Déployer une application de microservice Azure Spring Apps simple Ce modèle déploie une application de microservice Azure Spring Apps simple à exécuter sur Azure.

Définition de ressource de modèle ARM

Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez le code JSON suivant à votre modèle.

{
  "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"
  }
}

Objets UserSourceInfo

Définissez le type propriété pour spécifier le type d’objet.

Pour BuildResult, utilisez :

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

Pour conteneur, utilisez :

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

Pour jar, utilisez :

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

Pour NetCoreZip, utilisez :

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

Pour source, utilisez :

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

Valeurs de la propriété

Microsoft.AppPlatform/Spring/apps/deployments

Nom Descriptif Valeur
apiVersion Version de l’API '2022-03-01-preview'
nom Nom de la ressource chaîne (obligatoire)
Propriétés Propriétés de la ressource de déploiement DeploymentResourceProperties
Sku Référence SKU de la ressource de déploiement référence SKU
type Type de ressource 'Microsoft.AppPlatform/Spring/apps/deployments'

Profil d’addon

Nom Descriptif Valeur

BuildResultUserSourceInfo

Nom Descriptif Valeur
buildResultId ID de ressource d’un résultat de build réussi existant sous la même instance Spring. corde
type Type de la source chargée 'BuildResult' (obligatoire)

ContainerProbeSettings

Nom Descriptif Valeur
désactiverSonde Indique si la sonde liveness et readiness est désactivée Bool

Conteneur personnalisé

Nom Descriptif Valeur
args Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
commander Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
containerImage Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre corde
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée corde
serveur Nom du registre qui contient l’image conteneur corde

CustomContainerUserSourceInfo

Nom Descriptif Valeur
customContainer Charge utile de conteneur personnalisée CustomContainer
type Type de la source chargée 'Container' (obligatoire)

DeploymentResourceProperties

Nom Descriptif Valeur
actif Indique si le déploiement est actif Bool
deploymentSettings Paramètres de déploiement du déploiement Paramètres de déploiement
Source Informations sources chargées du déploiement. userSourceInfo

Paramètres de déploiement

Nom Descriptif Valeur
addonConfigs Collection de compléments DeploymentSettingsAddonConfigs
containerProbeSettings Paramètres de sonde d’intégrité et de préparation du conteneur ContainerProbeSettings
variables d'environnement Collection de variables d’environnement DeploymentSettingsEnvironmentVariables
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. ResourceRequests

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe des informations d’identification du Registre d’images corde
nom d’utilisateur Nom d’utilisateur des informations d’identification du Registre d’images corde

JarUploadedUserSourceInfo

Nom Descriptif Valeur
jvmOptions Paramètre JVM corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier Jar corde
type Type de la source chargée 'Jar' (obligatoire)

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier .Net corde
type Type de la source chargée 'NetCoreZip' (obligatoire)

ResourceRequests

Nom Descriptif Valeur
CPU Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. corde
mémoire Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. corde

Sku

Nom Descriptif Valeur
capacité Capacité actuelle de la ressource cible Int
nom Nom de la référence SKU corde
niveau Niveau de la référence SKU corde

SourceUploadedUserSourceInfo

Nom Descriptif Valeur
artefactSelector Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de
chemin d’accès relatif au module/projet cible.
corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier source corde
type Type de la source chargée 'Source' (obligatoire)

UserSourceInfo

Nom Descriptif Valeur
type Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. 'BuildResult'
« Conteneur »
'Bocal'
'NetCoreZip'
'Source' (obligatoire)
Version Version de la source corde

Exemples d’utilisation

Modèles de démarrage rapide Microsoft Azure

Les modèles de démarrage rapide Azure suivants déployer ce type de ressource.

Modèle Descriptif
Déployer une application de microservice Azure Spring Apps simple

Déployer sur Azure
Ce modèle déploie une application de microservice Azure Spring Apps simple à exécuter sur Azure.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource Spring/apps/deployments peut être déployé avec des opérations qui ciblent :

  • Groupes de ressources

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.AppPlatform/Spring/apps/deployments, ajoutez la terraform suivante à votre modèle.

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"
    }
  }
}

Objets UserSourceInfo

Définissez le type propriété pour spécifier le type d’objet.

Pour BuildResult, utilisez :

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

Pour conteneur, utilisez :

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

Pour jar, utilisez :

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

Pour NetCoreZip, utilisez :

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

Pour source, utilisez :

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

Valeurs de la propriété

Microsoft.AppPlatform/Spring/apps/deployments

Nom Descriptif Valeur
nom Nom de la ressource chaîne (obligatoire)
parent_id ID de la ressource qui est le parent de cette ressource. ID de ressource de type : Spring/apps
Propriétés Propriétés de la ressource de déploiement DeploymentResourceProperties
Sku Référence SKU de la ressource de déploiement référence SKU
type Type de ressource « Microsoft.AppPlatform/Spring/apps/deployments@2022-03-01-preview »

Profil d’addon

Nom Descriptif Valeur

BuildResultUserSourceInfo

Nom Descriptif Valeur
buildResultId ID de ressource d’un résultat de build réussi existant sous la même instance Spring. corde
type Type de la source chargée 'BuildResult' (obligatoire)

ContainerProbeSettings

Nom Descriptif Valeur
désactiverSonde Indique si la sonde liveness et readiness est désactivée Bool

Conteneur personnalisé

Nom Descriptif Valeur
args Arguments du point d’entrée. Le CMD de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
commander Tableau de points d’entrée. Non exécuté dans un interpréteur de commandes. L’élément ENTRYPOINT de l’image Docker est utilisé s’il n’est pas fourni. chaîne de caractères[]
containerImage Image conteneur du conteneur personnalisé. Il doit s’agir de la forme d'<référentiel>:<balise> sans le nom du serveur du Registre corde
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée corde
serveur Nom du registre qui contient l’image conteneur corde

CustomContainerUserSourceInfo

Nom Descriptif Valeur
customContainer Charge utile de conteneur personnalisée CustomContainer
type Type de la source chargée 'Container' (obligatoire)

DeploymentResourceProperties

Nom Descriptif Valeur
actif Indique si le déploiement est actif Bool
deploymentSettings Paramètres de déploiement du déploiement Paramètres de déploiement
Source Informations sources chargées du déploiement. userSourceInfo

Paramètres de déploiement

Nom Descriptif Valeur
addonConfigs Collection de compléments DeploymentSettingsAddonConfigs
containerProbeSettings Paramètres de sonde d’intégrité et de préparation du conteneur ContainerProbeSettings
variables d'environnement Collection de variables d’environnement DeploymentSettingsEnvironmentVariables
resourceRequests Quantité de ressources demandée pour le processeur et la mémoire requis. Il est recommandé d’utiliser ce champ pour représenter l’UC et la mémoire requises, l’ancien processeur de champ et memoryInGB sera déconseillé ultérieurement. ResourceRequests

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

ImageRegistryCredential

Nom Descriptif Valeur
mot de passe Mot de passe des informations d’identification du Registre d’images corde
nom d’utilisateur Nom d’utilisateur des informations d’identification du Registre d’images corde

JarUploadedUserSourceInfo

Nom Descriptif Valeur
jvmOptions Paramètre JVM corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier Jar corde
type Type de la source chargée 'Jar' (obligatoire)

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Chemin d’accès à l’exécutable .NET relatif à la racine zip corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier .Net corde
type Type de la source chargée 'NetCoreZip' (obligatoire)

ResourceRequests

Nom Descriptif Valeur
CPU Processeur requis. 1 cœur peut être représenté par 1 ou 1 000m. Il doit s’agir de 500m ou 1 pour le niveau De base et {500m, 1, 2, 3, 4} pour le niveau Standard. corde
mémoire Mémoire requise. 1 Go peuvent être représentés par 1Gi ou 1024Mi. Il doit s’agir de {512Mi, 1Gi, 2Gi} pour le niveau De base et {512Mi, 1Gi, 2Gi, ..., 8Gi} pour le niveau Standard. corde

Sku

Nom Descriptif Valeur
capacité Capacité actuelle de la ressource cible Int
nom Nom de la référence SKU corde
niveau Niveau de la référence SKU corde

SourceUploadedUserSourceInfo

Nom Descriptif Valeur
artefactSelector Sélecteur pour l’artefact à utiliser pour le déploiement pour les projets multimodèles. Il doit s’agir de
chemin d’accès relatif au module/projet cible.
corde
relativePath Chemin relatif du stockage qui stocke la source corde
runtimeVersion Version runtime du fichier source corde
type Type de la source chargée 'Source' (obligatoire)

UserSourceInfo

Nom Descriptif Valeur
type Défini sur « BuildResult » pour le type BuildResultUserSourceInfo. Défini sur « Container » pour le type CustomContainerUserSourceInfo. Défini sur « Jar » pour le type JarUploadedUserSourceInfo. Défini sur « NetCoreZip » pour le type NetCoreZipUploadedUserSourceInfo. Défini sur « Source » pour le type SourceUploadedUserSourceInfo. 'BuildResult'
« Conteneur »
'Bocal'
'NetCoreZip'
'Source' (obligatoire)
Version Version de la source corde

Exemples d’utilisation

Échantillons Terraform

Un exemple de base de déploiement de 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    = ["*"]
}