Microsoft.AppPlatform Spring/apps/deployments 2022-05-01-preview

Remarques

Note : Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) est désormais désolé et sera retiré du service le 31-05-2028. Pour plus d’informations, consultez https://aka.ms/asaretirement.

Définition des ressources sur les Biceps

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-05-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: {
          {customized property}: any(...)
        }
      }
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {
        {customized property}: 'string'
      }
      livenessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      readinessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      resourceRequests: {
        cpu: 'string'
        memory: 'string'
      }
      startupProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      terminationGracePeriodSeconds: int
    }
    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'
}

Objets ProbeAction

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

Pour ExecAction, utilisez :

{
  command: [
    'string'
  ]
  type: 'ExecAction'
}

Pour httpGetAction, utilisez :

{
  path: 'string'
  scheme: 'string'
  type: 'HTTPGetAction'
}

Pour TCPSocketAction, utilisez :

{
  type: 'TCPSocketAction'
}

Valeurs de 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 parent pour 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 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. ficelle
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[]
ordre 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[]
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 ficelle
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée ficelle
serveur Nom du registre qui contient l’image conteneur ficelle

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
vivacitéSonde Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
état de préparationSonde Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
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
Start-en-cielSonde StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. Int

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

Exécutif

Nom Descriptif Valeur
ordre La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. chaîne[]
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'ExecAction' (obligatoire)

HttpGetAction (en anglais)

Nom Descriptif Valeur
chemin Chemin d’accès au serveur HTTP. ficelle
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP.

Valeurs d’énumération possibles :
- "HTTP" signifie que le schéma utilisé sera http://
- "HTTPS" signifie que le schéma utilisé sera https://
'HTTP'
'HTTPS'
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'HTTPGetAction' (obligatoire)

ImageRegistryCredential

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

JarUploadedUserSourceInfo

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

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Le chemin vers l’exécutable .NET par rapport à la racine zip ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier .Net ficelle
type Type de la source chargée 'NetCoreZip' (obligatoire)

Sonde

Nom Descriptif Valeur
désactiverSonde Indiquez si la sonde est désactivée. bool (obligatoire)
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. Int
initialDelaySeconds Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Int
periodSecondes Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. Int
sondeAction Action de la sonde. SondeAction
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. Int
timeoutSecondes Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. Int

SondeAction

Nom Descriptif Valeur
type Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. « ExecAction »
'HTTPGetAction'
'TCPSocketAction' (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. ficelle
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. ficelle

Sku

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

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.
ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier source ficelle
type Type de la source chargée 'Source' (obligatoire)

TCPSocketAction

Nom Descriptif Valeur
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'TCPSocketAction' (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 ficelle

Exemples d’utilisation

Échantillons de Biceps

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

Azure Quickstart Examples

Les modèles suivants Azure Quickstart contiennent Bicep exemples pour déployer ce type de ressource.

Dossier Bicep Descriptif
Déploie une application microservice Azure Spring Apps simple Ce modèle déploie une application microservice simple Azure Spring Apps à 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-05-01-preview",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {
          "{customized property}": {}
        }
      },
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "livenessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "readinessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      },
      "startupProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "terminationGracePeriodSeconds": "int"
    },
    "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"
}

Objets ProbeAction

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

Pour ExecAction, utilisez :

{
  "command": [ "string" ],
  "type": "ExecAction"
}

Pour httpGetAction, utilisez :

{
  "path": "string",
  "scheme": "string",
  "type": "HTTPGetAction"
}

Pour TCPSocketAction, utilisez :

{
  "type": "TCPSocketAction"
}

Valeurs de propriété

Microsoft.AppPlatform/Spring/apps/deployments

Nom Descriptif Valeur
apiVersion Version de l’API '2022-05-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 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. ficelle
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[]
ordre 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[]
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 ficelle
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée ficelle
serveur Nom du registre qui contient l’image conteneur ficelle

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
vivacitéSonde Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
état de préparationSonde Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
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
Start-en-cielSonde StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. Int

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

Exécutif

Nom Descriptif Valeur
ordre La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. chaîne[]
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'ExecAction' (obligatoire)

HttpGetAction (en anglais)

Nom Descriptif Valeur
chemin Chemin d’accès au serveur HTTP. ficelle
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP.

Valeurs d’énumération possibles :
- "HTTP" signifie que le schéma utilisé sera http://
- "HTTPS" signifie que le schéma utilisé sera https://
'HTTP'
'HTTPS'
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'HTTPGetAction' (obligatoire)

ImageRegistryCredential

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

JarUploadedUserSourceInfo

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

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Le chemin vers l’exécutable .NET par rapport à la racine zip ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier .Net ficelle
type Type de la source chargée 'NetCoreZip' (obligatoire)

Sonde

Nom Descriptif Valeur
désactiverSonde Indiquez si la sonde est désactivée. bool (obligatoire)
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. Int
initialDelaySeconds Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Int
periodSecondes Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. Int
sondeAction Action de la sonde. SondeAction
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. Int
timeoutSecondes Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. Int

SondeAction

Nom Descriptif Valeur
type Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. « ExecAction »
'HTTPGetAction'
'TCPSocketAction' (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. ficelle
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. ficelle

Sku

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

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.
ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier source ficelle
type Type de la source chargée 'Source' (obligatoire)

TCPSocketAction

Nom Descriptif Valeur
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'TCPSocketAction' (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 ficelle

Exemples d’utilisation

Modèles de démarrage rapide Azure

Les modèles suivants Azure Quickstart déployent ce type de ressource.

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

Déployer vers Azure
Ce modèle déploie une application microservice simple Azure Spring Apps à 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-05-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = {
            {customized property} = ?
          }
        }
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        livenessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        readinessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
        startupProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        terminationGracePeriodSeconds = int
      }
      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"
}

Objets ProbeAction

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

Pour ExecAction, utilisez :

{
  command = [
    "string"
  ]
  type = "ExecAction"
}

Pour httpGetAction, utilisez :

{
  path = "string"
  scheme = "string"
  type = "HTTPGetAction"
}

Pour TCPSocketAction, utilisez :

{
  type = "TCPSocketAction"
}

Valeurs de 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 Sku
type Type de ressource « Microsoft.AppPlatform/Spring/apps/deployments@2022-05-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. ficelle
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[]
ordre 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[]
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 ficelle
imageRegistryCredential Informations d’identification du Registre d’images ImageRegistryCredential
languageFramework Infrastructure de langage de l’image conteneur chargée ficelle
serveur Nom du registre qui contient l’image conteneur ficelle

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
vivacitéSonde Sonde périodique de la durée de vie de l’instance d’application. L’instance d’application est redémarrée si la sonde échoue. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
état de préparationSonde Sonde périodique de préparation du service App Instance. L’instance d’application est supprimée des points de terminaison de service en cas d’échec de la sonde. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
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
Start-en-cielSonde StartupProbe indique que l’instance d’application a correctement initialisé. Si elle est spécifiée, aucune autre sonde n’est exécutée tant que cela n’est pas terminé. Si cette sonde échoue, le pod est redémarré, comme si livenessProbe a échoué. Cela peut être utilisé pour fournir différents paramètres de sonde au début du cycle de vie d’une instance d’application, lorsqu’il peut prendre beaucoup de temps pour charger des données ou réchauffer un cache, par rapport à l’opération d’état stable. Cela ne peut pas être mis à jour. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Sonde
terminationGracePeriodSeconds Durée facultative en secondes, l’instance d’application doit s’arrêter correctement. Peut être diminué dans la demande de suppression. La valeur doit être un entier non négatif. La valeur zéro indique l’arrêt immédiatement via le signal de destruction (aucune occasion d’arrêter). Si cette valeur est nulle, la période de grâce par défaut sera utilisée à la place. La période de grâce est la durée en secondes après que les processus en cours d’exécution dans l’instance d’application soient envoyés un signal d’arrêt et l’heure à laquelle les processus sont arrêtés de force avec un signal de destruction. Définissez cette valeur plus longtemps que l’heure de nettoyage attendue pour votre processus. La valeur par défaut est de 90 secondes. Int

DeploymentSettingsAddonConfigs

Nom Descriptif Valeur

DeploymentSettingsEnvironmentVariables

Nom Descriptif Valeur

Exécutif

Nom Descriptif Valeur
ordre La commande est la ligne de commande à exécuter à l’intérieur du conteneur, le répertoire de travail de la commande est racine ('/') dans le système de fichiers du conteneur. La commande n’est pas exécutée à l’intérieur d’un interpréteur de commandes, de sorte que les instructions traditionnelles de l’interpréteur de commandes ('|', etc.) ne fonctionnent pas. Pour utiliser un interpréteur de commandes, vous devez appeler explicitement cet interpréteur de commandes. L’état de sortie 0 est traité comme vivant/sain et non nul n’est pas sain. chaîne[]
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'ExecAction' (obligatoire)

HttpGetAction (en anglais)

Nom Descriptif Valeur
chemin Chemin d’accès au serveur HTTP. ficelle
schéma Schéma à utiliser pour la connexion à l’hôte. La valeur par défaut est HTTP.

Valeurs d’énumération possibles :
- "HTTP" signifie que le schéma utilisé sera http://
- "HTTPS" signifie que le schéma utilisé sera https://
'HTTP'
'HTTPS'
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'HTTPGetAction' (obligatoire)

ImageRegistryCredential

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

JarUploadedUserSourceInfo

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

NetCoreZipUploadedUserSourceInfo

Nom Descriptif Valeur
netCoreMainEntryPath Le chemin vers l’exécutable .NET par rapport à la racine zip ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier .Net ficelle
type Type de la source chargée 'NetCoreZip' (obligatoire)

Sonde

Nom Descriptif Valeur
désactiverSonde Indiquez si la sonde est désactivée. bool (obligatoire)
failureThreshold Échecs consécutifs minimum pour que la sonde soit considérée comme ayant échoué après avoir réussi. La valeur minimale est 1. Int
initialDelaySeconds Nombre de secondes après le démarrage de l’instance d’application avant que les sondes ne soient lancées. Plus d’informations : https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Int
periodSecondes Fréquence (en secondes) d’exécution de la sonde. La valeur minimale est 1. Int
sondeAction Action de la sonde. SondeAction
successThreshold Nombre minimal de réussites consécutives pour que la sonde soit considérée comme réussie après avoir échoué. Doit être 1 pour la vie et le démarrage. La valeur minimale est 1. Int
timeoutSecondes Nombre de secondes après lesquelles la sonde expire. La valeur minimale est 1. Int

SondeAction

Nom Descriptif Valeur
type Défini sur « ExecAction » pour le type ExecAction. Défini sur « HTTPGetAction » pour le type HttpGetAction. Défini sur « TCPSocketAction » pour le type TCPSocketAction. « ExecAction »
'HTTPGetAction'
'TCPSocketAction' (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. ficelle
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. ficelle

Sku

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

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.
ficelle
relativePath Chemin relatif du stockage qui stocke la source ficelle
runtimeVersion Version runtime du fichier source ficelle
type Type de la source chargée 'Source' (obligatoire)

TCPSocketAction

Nom Descriptif Valeur
type Type de l’action à effectuer pour effectuer le contrôle d’intégrité. 'TCPSocketAction' (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 ficelle

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