Nota: Azure Spring Apps Application Deployments (Microsoft. AppPlatform/Spring/apps/despliegues) ya está obsoleto y se retirará el 31 de mayo de 2028. Consulte https://aka.ms/asaretirement para obtener más información.
Definición de recurso Bicep
El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un Microsoft. AppPlatform/Spring/apps/deployments resource, añade el siguiente Bicep a tu plantilla.
resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2023-07-01-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
active: bool
deploymentSettings: {
addonConfigs: {
{customized property}: any(...)
}
apms: [
{
resourceId: 'string'
}
]
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'
}
scale: {
maxReplicas: int
minReplicas: int
rules: [
{
azureQueue: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
queueLength: int
queueName: 'string'
}
custom: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
type: 'string'
}
http: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
name: 'string'
tcp: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: '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'
}
}
Objetos ProbeAction
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ExecAction, use:
{
command: [
'string'
]
type: 'ExecAction'
}
Para HTTPGetAction, use:
{
path: 'string'
scheme: 'string'
type: 'HTTPGetAction'
}
Para tcpSocketAction, use:
{
type: 'TCPSocketAction'
}
Objetos UserSourceInfo
Establezca el tipo propiedad para especificar el tipo de objeto.
Para BuildResult, use:
{
buildResultId: 'string'
type: 'BuildResult'
}
Para container, 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 source, use:
{
artifactSelector: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'Source'
}
Valores de propiedad
| Name |
Description |
Value |
| name |
El nombre del recurso |
string (obligatorio) |
| parent |
En Bicep, puedes especificar el recurso padre para un recurso hijo. Solo tiene que agregar esta propiedad cuando el recurso secundario se declara fuera del recurso primario.
Para obtener más información, consulte recurso secundario fuera del recurso primario. |
Nombre simbólico del recurso de tipo: spring/apps |
| properties |
Propiedades del recurso de implementación |
DeploymentResourceProperties |
| sku |
SKU del recurso de implementación |
Sku |
ApmReference
| Name |
Description |
Value |
| resourceId |
Identificador de recurso del APM |
string (obligatorio) |
BuildResultUserSourceInfo
| Name |
Description |
Value |
| buildResultId |
Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. |
string |
| type |
Tipo del origen cargado |
'BuildResult' (obligatorio) |
ContainerProbeSettings
| Name |
Description |
Value |
| disableProbe |
Indica si deshabilita el sondeo de ejecución y preparación. |
bool |
CustomContainer
| Name |
Description |
Value |
| args |
Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. |
string[] |
| command |
Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. |
string[] |
| containerImage |
Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro |
string |
| imageRegistryCredential |
Credencial del registro de imágenes |
ImageRegistryCredential |
| languageFramework |
Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. |
string |
| server |
Nombre del registro que contiene la imagen de contenedor |
string |
CustomContainerUserSourceInfo
| Name |
Description |
Value |
| customContainer |
Carga de contenedor personalizada |
CustomContainer |
| type |
Tipo del origen cargado |
'Contenedor' (obligatorio) |
CustomScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
| type |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis etcetera. |
string |
DeploymentResourceProperties
| Name |
Description |
Value |
| active |
Indica si la implementación está activa. |
bool |
| deploymentSettings |
Configuración de implementación de la implementación |
DeploymentSettings |
| source |
Información de origen cargada de la implementación. |
UserSourceInfo |
DeploymentSettings
| Name |
Description |
Value |
| addonConfigs |
Colección de complementos |
DeploymentSettingsAddonConfigs |
| apms |
Colección de ApmReferences |
ApmReference[] |
| containerProbeSettings |
Configuración del sondeo de preparación y ejecución de contenedores |
ContainerProbeSettings |
| environmentVariables |
Colección de variables de entorno |
DeploymentSettingsEnvironmentVariables |
| livenessProbe |
Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| readinessProbe |
Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| resourceRequests |
Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. |
ResourceRequests |
| scale |
Escalabilidad de propiedades para la instancia de Azure Spring Apps App. |
Scale |
| startupProbe |
StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| terminationGracePeriodSeconds |
Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. |
int |
DeploymentSettingsAddonConfigs
DeploymentSettingsEnvironmentVariables
ExecAction
| Name |
Description |
Value |
| command |
El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. |
string[] |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'ExecAction' (obligatorio) |
HttpGetAction
| Name |
Description |
Value |
| path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
| scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.
Posibles valores de enumeración:
-
"HTTP" significa que el esquema usado se http://
-
"HTTPS" significa que el esquema usado se https:// |
'HTTP' 'HTTPS' |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'HTTPGetAction' (obligatorio) |
HttpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
ImageRegistryCredential
| Name |
Description |
Value |
| password |
Contraseña de la credencial del Registro de imágenes |
string |
| username |
Nombre de usuario de la credencial del Registro de imágenes |
string |
JarUploadedUserSourceInfo
| Name |
Description |
Value |
| jvmOptions |
Parámetro JVM |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo Jar |
string |
| type |
Tipo del origen cargado |
'Tarro' (obligatorio) |
NetCoreZipUploadedUserSourceInfo
| Name |
Description |
Value |
| netCoreMainEntryPath |
La ruta hacia el ejecutable .NET relativa a la raíz zip |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo .Net |
string |
| type |
Tipo del origen cargado |
'NetCoreZip' (obligatorio) |
Probe
| Name |
Description |
Value |
| disableProbe |
Indica si el sondeo está deshabilitado. |
bool (obligatorio) |
| failureThreshold |
Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. |
int |
| initialDelaySeconds |
Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
int |
| periodSeconds |
Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. |
int |
| probeAction |
Acción del sondeo. |
ProbeAction |
| successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. |
int |
| timeoutSeconds |
Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. |
int |
ProbeAction
| Name |
Description |
Value |
| type |
Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. |
'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatorio) |
QueueScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
| queueLength |
Longitud de la cola. |
int |
| queueName |
Nombre de la cola. |
string |
ResourceRequests
| Name |
Description |
Value |
| cpu |
CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. |
string |
| memory |
Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. |
string |
Scale
| Name |
Description |
Value |
| maxReplicas |
Optional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
| minReplicas |
Optional. Número mínimo de réplicas de contenedor. |
int |
| rules |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
| Name |
Description |
Value |
| azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
| custom |
Regla de escalado personalizada. |
CustomScaleRule |
| http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
| name |
Nombre de la regla de escalado |
string |
| tcp |
Escalado basado en solicitudes TCP. |
TcpScaleRule |
ScaleRuleAuth
| Name |
Description |
Value |
| secretRef |
Nombre del secreto de Azure Spring Apps App Instance del que extraer los parámetros de autenticación. |
string |
| triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
Sku
| Name |
Description |
Value |
| capacity |
Capacidad actual del recurso de destino |
int |
| name |
Nombre de la SKU |
string |
| tier |
Nivel de la SKU |
string |
SourceUploadedUserSourceInfo
| Name |
Description |
Value |
| artifactSelector |
Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser ruta de acceso relativa al módulo o proyecto de destino. |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo de origen |
string |
| type |
Tipo del origen cargado |
'Fuente' (obligatorio) |
TcpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado tcp. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado tcp. |
TcpScaleRuleMetadata |
TCPSocketAction
| Name |
Description |
Value |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'TCPSocketAction' (obligatorio) |
UserSourceInfo
Ejemplos de uso
Muestras de Bicep
Un ejemplo básico de implementación 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 Samples
Las siguientes plantillas de inicio rápido Azure contienen Bicep ejemplos para desplegar este tipo de recurso.
Definición de recursos de plantilla de ARM
El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un Microsoft. AppPlatform/Spring/apps/deployments, añade el siguiente JSON a tu plantilla.
{
"type": "Microsoft.AppPlatform/Spring/apps/deployments",
"apiVersion": "2023-07-01-preview",
"name": "string",
"properties": {
"active": "bool",
"deploymentSettings": {
"addonConfigs": {
"{customized property}": {}
},
"apms": [
{
"resourceId": "string"
}
],
"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"
},
"scale": {
"maxReplicas": "int",
"minReplicas": "int",
"rules": [
{
"azureQueue": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
},
"name": "string",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "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"
}
}
Objetos ProbeAction
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ExecAction, use:
{
"command": [ "string" ],
"type": "ExecAction"
}
Para HTTPGetAction, use:
{
"path": "string",
"scheme": "string",
"type": "HTTPGetAction"
}
Para tcpSocketAction, use:
{
"type": "TCPSocketAction"
}
Objetos UserSourceInfo
Establezca el tipo propiedad para especificar el tipo de objeto.
Para BuildResult, use:
{
"buildResultId": "string",
"type": "BuildResult"
}
Para container, 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 source, use:
{
"artifactSelector": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "Source"
}
Valores de propiedad
| Name |
Description |
Value |
| apiVersion |
La versión de api |
'2023-07-01-preview' |
| name |
El nombre del recurso |
string (obligatorio) |
| properties |
Propiedades del recurso de implementación |
DeploymentResourceProperties |
| sku |
SKU del recurso de implementación |
Sku |
| type |
El tipo de recurso |
'Microsoft. AppPlatform/Spring/apps/despliegues |
ApmReference
| Name |
Description |
Value |
| resourceId |
Identificador de recurso del APM |
string (obligatorio) |
BuildResultUserSourceInfo
| Name |
Description |
Value |
| buildResultId |
Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. |
string |
| type |
Tipo del origen cargado |
'BuildResult' (obligatorio) |
ContainerProbeSettings
| Name |
Description |
Value |
| disableProbe |
Indica si deshabilita el sondeo de ejecución y preparación. |
bool |
CustomContainer
| Name |
Description |
Value |
| args |
Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. |
string[] |
| command |
Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. |
string[] |
| containerImage |
Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro |
string |
| imageRegistryCredential |
Credencial del registro de imágenes |
ImageRegistryCredential |
| languageFramework |
Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. |
string |
| server |
Nombre del registro que contiene la imagen de contenedor |
string |
CustomContainerUserSourceInfo
| Name |
Description |
Value |
| customContainer |
Carga de contenedor personalizada |
CustomContainer |
| type |
Tipo del origen cargado |
'Contenedor' (obligatorio) |
CustomScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
| type |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis etcetera. |
string |
DeploymentResourceProperties
| Name |
Description |
Value |
| active |
Indica si la implementación está activa. |
bool |
| deploymentSettings |
Configuración de implementación de la implementación |
DeploymentSettings |
| source |
Información de origen cargada de la implementación. |
UserSourceInfo |
DeploymentSettings
| Name |
Description |
Value |
| addonConfigs |
Colección de complementos |
DeploymentSettingsAddonConfigs |
| apms |
Colección de ApmReferences |
ApmReference[] |
| containerProbeSettings |
Configuración del sondeo de preparación y ejecución de contenedores |
ContainerProbeSettings |
| environmentVariables |
Colección de variables de entorno |
DeploymentSettingsEnvironmentVariables |
| livenessProbe |
Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| readinessProbe |
Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| resourceRequests |
Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. |
ResourceRequests |
| scale |
Escalabilidad de propiedades para la instancia de Azure Spring Apps App. |
Scale |
| startupProbe |
StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| terminationGracePeriodSeconds |
Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. |
int |
DeploymentSettingsAddonConfigs
DeploymentSettingsEnvironmentVariables
ExecAction
| Name |
Description |
Value |
| command |
El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. |
string[] |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'ExecAction' (obligatorio) |
HttpGetAction
| Name |
Description |
Value |
| path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
| scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.
Posibles valores de enumeración:
-
"HTTP" significa que el esquema usado se http://
-
"HTTPS" significa que el esquema usado se https:// |
'HTTP' 'HTTPS' |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'HTTPGetAction' (obligatorio) |
HttpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
ImageRegistryCredential
| Name |
Description |
Value |
| password |
Contraseña de la credencial del Registro de imágenes |
string |
| username |
Nombre de usuario de la credencial del Registro de imágenes |
string |
JarUploadedUserSourceInfo
| Name |
Description |
Value |
| jvmOptions |
Parámetro JVM |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo Jar |
string |
| type |
Tipo del origen cargado |
'Tarro' (obligatorio) |
NetCoreZipUploadedUserSourceInfo
| Name |
Description |
Value |
| netCoreMainEntryPath |
La ruta hacia el ejecutable .NET relativa a la raíz zip |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo .Net |
string |
| type |
Tipo del origen cargado |
'NetCoreZip' (obligatorio) |
Probe
| Name |
Description |
Value |
| disableProbe |
Indica si el sondeo está deshabilitado. |
bool (obligatorio) |
| failureThreshold |
Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. |
int |
| initialDelaySeconds |
Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
int |
| periodSeconds |
Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. |
int |
| probeAction |
Acción del sondeo. |
ProbeAction |
| successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. |
int |
| timeoutSeconds |
Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. |
int |
ProbeAction
| Name |
Description |
Value |
| type |
Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. |
'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatorio) |
QueueScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
| queueLength |
Longitud de la cola. |
int |
| queueName |
Nombre de la cola. |
string |
ResourceRequests
| Name |
Description |
Value |
| cpu |
CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. |
string |
| memory |
Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. |
string |
Scale
| Name |
Description |
Value |
| maxReplicas |
Optional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
| minReplicas |
Optional. Número mínimo de réplicas de contenedor. |
int |
| rules |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
| Name |
Description |
Value |
| azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
| custom |
Regla de escalado personalizada. |
CustomScaleRule |
| http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
| name |
Nombre de la regla de escalado |
string |
| tcp |
Escalado basado en solicitudes TCP. |
TcpScaleRule |
ScaleRuleAuth
| Name |
Description |
Value |
| secretRef |
Nombre del secreto de Azure Spring Apps App Instance del que extraer los parámetros de autenticación. |
string |
| triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
Sku
| Name |
Description |
Value |
| capacity |
Capacidad actual del recurso de destino |
int |
| name |
Nombre de la SKU |
string |
| tier |
Nivel de la SKU |
string |
SourceUploadedUserSourceInfo
| Name |
Description |
Value |
| artifactSelector |
Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser ruta de acceso relativa al módulo o proyecto de destino. |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo de origen |
string |
| type |
Tipo del origen cargado |
'Fuente' (obligatorio) |
TcpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado tcp. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado tcp. |
TcpScaleRuleMetadata |
TCPSocketAction
| Name |
Description |
Value |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'TCPSocketAction' (obligatorio) |
UserSourceInfo
Ejemplos de uso
Plantillas de inicio rápido de Azure
Las siguientes plantillas Azure Quickstart despliegan este tipo de recurso.
El tipo de recurso Spring/apps/deployments se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Para crear un Microsoft. AppPlatform/Spring/apps/deployments, añade el siguiente Terraform a tu plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-07-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
active = bool
deploymentSettings = {
addonConfigs = {
{customized property} = ?
}
apms = [
{
resourceId = "string"
}
]
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"
}
scale = {
maxReplicas = int
minReplicas = int
rules = [
{
azureQueue = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
name = "string"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "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"
}
}
}
Objetos ProbeAction
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ExecAction, use:
{
command = [
"string"
]
type = "ExecAction"
}
Para HTTPGetAction, use:
{
path = "string"
scheme = "string"
type = "HTTPGetAction"
}
Para tcpSocketAction, use:
{
type = "TCPSocketAction"
}
Objetos UserSourceInfo
Establezca el tipo propiedad para especificar el tipo de objeto.
Para BuildResult, use:
{
buildResultId = "string"
type = "BuildResult"
}
Para container, 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 source, use:
{
artifactSelector = "string"
relativePath = "string"
runtimeVersion = "string"
type = "Source"
}
Valores de propiedad
| Name |
Description |
Value |
| name |
El nombre del recurso |
string (obligatorio) |
| parent_id |
Identificador del recurso que es el elemento primario de este recurso. |
Identificador del recurso de tipo: spring/apps |
| properties |
Propiedades del recurso de implementación |
DeploymentResourceProperties |
| sku |
SKU del recurso de implementación |
Sku |
| type |
El tipo de recurso |
"Microsoft. AppPlatform/Spring/apps/deployments@2023-07-01-preview" |
ApmReference
| Name |
Description |
Value |
| resourceId |
Identificador de recurso del APM |
string (obligatorio) |
BuildResultUserSourceInfo
| Name |
Description |
Value |
| buildResultId |
Identificador de recurso de un resultado de compilación correcta existente en la misma instancia de Spring. |
string |
| type |
Tipo del origen cargado |
'BuildResult' (obligatorio) |
ContainerProbeSettings
| Name |
Description |
Value |
| disableProbe |
Indica si deshabilita el sondeo de ejecución y preparación. |
bool |
CustomContainer
| Name |
Description |
Value |
| args |
Argumentos para el punto de entrada. El CMD de la imagen de Docker se usa si no se proporciona. |
string[] |
| command |
Matriz de puntos de entrada. No se ejecuta dentro de un shell. El ENTRYPOINT de la imagen de Docker se usa si no se proporciona. |
string[] |
| containerImage |
Imagen de contenedor del contenedor personalizado. Debe estar en forma de <repositorio>:<etiqueta> sin el nombre del servidor del Registro |
string |
| imageRegistryCredential |
Credencial del registro de imágenes |
ImageRegistryCredential |
| languageFramework |
Marco de lenguaje de la imagen de contenedor cargada. Valores admitidos: "springboot", "", null. |
string |
| server |
Nombre del registro que contiene la imagen de contenedor |
string |
CustomContainerUserSourceInfo
| Name |
Description |
Value |
| customContainer |
Carga de contenedor personalizada |
CustomContainer |
| type |
Tipo del origen cargado |
'Contenedor' (obligatorio) |
CustomScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado personalizada. |
CustomScaleRuleMetadata |
| type |
Tipo de la regla de escalado personalizada por ejemplo: azure-servicebus, redis etcetera. |
string |
DeploymentResourceProperties
| Name |
Description |
Value |
| active |
Indica si la implementación está activa. |
bool |
| deploymentSettings |
Configuración de implementación de la implementación |
DeploymentSettings |
| source |
Información de origen cargada de la implementación. |
UserSourceInfo |
DeploymentSettings
| Name |
Description |
Value |
| addonConfigs |
Colección de complementos |
DeploymentSettingsAddonConfigs |
| apms |
Colección de ApmReferences |
ApmReference[] |
| containerProbeSettings |
Configuración del sondeo de preparación y ejecución de contenedores |
ContainerProbeSettings |
| environmentVariables |
Colección de variables de entorno |
DeploymentSettingsEnvironmentVariables |
| livenessProbe |
Sondeo periódico de la ejecución de la instancia de aplicación. La instancia de la aplicación se reiniciará si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| readinessProbe |
Sondeo periódico de la preparación de App Instance Service. La instancia de la aplicación se quitará de los puntos de conexión de servicio si se produce un error en el sondeo. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| resourceRequests |
Cantidad de recursos solicitada para la CPU y la memoria necesarias. Se recomienda usar este campo para representar la CPU y la memoria necesarias, la cpu de campo anterior y memoryInGB quedará en desuso más adelante. |
ResourceRequests |
| scale |
Escalabilidad de propiedades para la instancia de Azure Spring Apps App. |
Scale |
| startupProbe |
StartupProbe indica que la instancia de la aplicación se ha inicializado correctamente. Si se especifica, no se ejecutan otros sondeos hasta que se complete correctamente. Si se produce un error en este sondeo, se reiniciará el pod, igual que si se produjo un error en livenessProbe. Esto se puede usar para proporcionar diferentes parámetros de sondeo al principio del ciclo de vida de una instancia de aplicación, cuando puede tardar mucho tiempo en cargar datos o calentar una memoria caché, que durante la operación de estado estable. No se puede actualizar. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
Probe |
| terminationGracePeriodSeconds |
Duración opcional en segundos que la instancia de la aplicación debe finalizar correctamente. Puede reducirse en la solicitud de eliminación. El valor debe ser entero no negativo. El valor cero indica que se detiene inmediatamente a través de la señal de eliminación (sin oportunidad de apagar). Si este valor es nulo, se usará en su lugar el período de gracia predeterminado. El período de gracia es la duración en segundos después de que los procesos que se ejecutan en la instancia de la aplicación se envíen una señal de terminación y el tiempo en que los procesos se detengan forzosamente con una señal de eliminación. Establezca este valor más largo que el tiempo de limpieza esperado para el proceso. El valor predeterminado es de 90 segundos. |
int |
DeploymentSettingsAddonConfigs
DeploymentSettingsEnvironmentVariables
ExecAction
| Name |
Description |
Value |
| command |
El comando es la línea de comandos que se va a ejecutar dentro del contenedor, el directorio de trabajo del comando es raíz ('/') en el sistema de archivos del contenedor. El comando no se ejecuta dentro de un shell, por lo que las instrucciones de shell tradicionales ('|', etc.) no funcionarán. Para usar un shell, debe llamar explícitamente a ese shell. El estado de salida de 0 se trata como activo/correcto y no cero es incorrecto. |
string[] |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'ExecAction' (obligatorio) |
HttpGetAction
| Name |
Description |
Value |
| path |
Ruta de acceso al acceso en el servidor HTTP. |
string |
| scheme |
Esquema que se va a usar para conectarse al host. El valor predeterminado es HTTP.
Posibles valores de enumeración:
-
"HTTP" significa que el esquema usado se http://
-
"HTTPS" significa que el esquema usado se https:// |
'HTTP' 'HTTPS' |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'HTTPGetAction' (obligatorio) |
HttpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado personalizada. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado http. |
HttpScaleRuleMetadata |
ImageRegistryCredential
| Name |
Description |
Value |
| password |
Contraseña de la credencial del Registro de imágenes |
string |
| username |
Nombre de usuario de la credencial del Registro de imágenes |
string |
JarUploadedUserSourceInfo
| Name |
Description |
Value |
| jvmOptions |
Parámetro JVM |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo Jar |
string |
| type |
Tipo del origen cargado |
'Tarro' (obligatorio) |
NetCoreZipUploadedUserSourceInfo
| Name |
Description |
Value |
| netCoreMainEntryPath |
La ruta hacia el ejecutable .NET relativa a la raíz zip |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo .Net |
string |
| type |
Tipo del origen cargado |
'NetCoreZip' (obligatorio) |
Probe
| Name |
Description |
Value |
| disableProbe |
Indica si el sondeo está deshabilitado. |
bool (obligatorio) |
| failureThreshold |
Se han producido errores consecutivos mínimos para que el sondeo se considere erróneo después de haber realizado correctamente. El valor mínimo es 1. |
int |
| initialDelaySeconds |
Número de segundos después de que se haya iniciado la instancia de aplicación antes de que se inicien los sondeos. Más información: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes |
int |
| periodSeconds |
Frecuencia (en segundos) para realizar el sondeo. El valor mínimo es 1. |
int |
| probeAction |
Acción del sondeo. |
ProbeAction |
| successThreshold |
Número mínimo de éxitos consecutivos para que el sondeo se considere correcto después de haber producido un error. Debe ser 1 para la vida y el inicio. El valor mínimo es 1. |
int |
| timeoutSeconds |
Número de segundos después del cual el sondeo agota el tiempo de espera. El valor mínimo es 1. |
int |
ProbeAction
| Name |
Description |
Value |
| type |
Establezca en "ExecAction" para el tipo ExecAction. Establezca en "HTTPGetAction" para el tipo HttpGetAction. Establezca en "TCPSocketAction" para el tipo TCPSocketAction. |
'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obligatorio) |
QueueScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado de colas. |
ScaleRuleAuth[] |
| queueLength |
Longitud de la cola. |
int |
| queueName |
Nombre de la cola. |
string |
ResourceRequests
| Name |
Description |
Value |
| cpu |
CPU necesaria. 1 núcleo se puede representar mediante 1 o 1000m. Debe ser de 500 m o 1 para el nivel Básico y {500m, 1, 2, 3, 4} para el nivel Estándar. |
string |
| memory |
Memoria necesaria. 1 GB se puede representar mediante 1Gi o 1024Mi. Debe ser {512Mi, 1Gi, 2Gi} para el nivel Básico y {512Mi, 1Gi, 2Gi, ..., 8Gi} para el nivel Estándar. |
string |
Scale
| Name |
Description |
Value |
| maxReplicas |
Optional. Número máximo de réplicas de contenedor. El valor predeterminado es 10 si no se establece. |
int |
| minReplicas |
Optional. Número mínimo de réplicas de contenedor. |
int |
| rules |
Reglas de escalado. |
ScaleRule[] |
ScaleRule
| Name |
Description |
Value |
| azureQueue |
Escalado basado en cola de Azure. |
QueueScaleRule |
| custom |
Regla de escalado personalizada. |
CustomScaleRule |
| http |
Escalado basado en solicitudes HTTP. |
HttpScaleRule |
| name |
Nombre de la regla de escalado |
string |
| tcp |
Escalado basado en solicitudes TCP. |
TcpScaleRule |
ScaleRuleAuth
| Name |
Description |
Value |
| secretRef |
Nombre del secreto de Azure Spring Apps App Instance del que extraer los parámetros de autenticación. |
string |
| triggerParameter |
Parámetro de desencadenador que usa el secreto |
string |
Sku
| Name |
Description |
Value |
| capacity |
Capacidad actual del recurso de destino |
int |
| name |
Nombre de la SKU |
string |
| tier |
Nivel de la SKU |
string |
SourceUploadedUserSourceInfo
| Name |
Description |
Value |
| artifactSelector |
Selector del artefacto que se va a usar para la implementación de proyectos de varios módulos. Debe ser ruta de acceso relativa al módulo o proyecto de destino. |
string |
| relativePath |
Ruta de acceso relativa del almacenamiento que almacena el origen |
string |
| runtimeVersion |
Versión en tiempo de ejecución del archivo de origen |
string |
| type |
Tipo del origen cargado |
'Fuente' (obligatorio) |
TcpScaleRule
| Name |
Description |
Value |
| auth |
Secretos de autenticación para la regla de escalado tcp. |
ScaleRuleAuth[] |
| metadata |
Propiedades de metadatos para describir la regla de escalado tcp. |
TcpScaleRuleMetadata |
TCPSocketAction
| Name |
Description |
Value |
| type |
Tipo de la acción que se va a realizar para realizar la comprobación de estado. |
'TCPSocketAction' (obligatorio) |
UserSourceInfo
Ejemplos de uso
Un ejemplo básico de implementación 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 = ["*"]
}