Microsoft. AppPlatform Primavera/app/deployments 2023-01-01-preview

Osservazioni:

Nota: Azure Spring Apps Application Deployments (Microsoft. AppPlatform/Spring/app/deployment) è ora deprecato e sarà ritirato il 31-05-2028. Per altre informazioni, vedere https://aka.ms/asaretirement.

Definizione della risorsa Bicep

Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. AppPlatform/Spring/apps/deployments, aggiungi il seguente Bicep al tuo template.

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2023-01-01-preview' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {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'
      }
      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'
  }
}

Oggetti UserSourceInfo

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per BuildResult, usare:

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

Per Contenitore, usare:

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

Per jar, usare:

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

Per NetCoreZip, usare:

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

Per origine, usare:

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

Oggetti ProbeAction

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per ExecAction, usare:

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

Per HTTPGetAction, usare:

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

Per TCPSocketAction, usare:

{
  type: 'TCPSocketAction'
}

Valori delle proprietà

Microsoft. AppPlatform/Spring/app/implementazioni

Name Description Value
name Nome della risorsa stringa (obbligatorio)
parent In Bicep, puoi specificare la risorsa genitore per una risorsa figlia. È necessario aggiungere questa proprietà solo quando la risorsa figlio viene dichiarata all'esterno della risorsa padre.

Per altre informazioni, vedere risorsa figlio all'esterno della risorsa padre.
Nome simbolico per la risorsa di tipo: Spring/apps
properties Proprietà della risorsa di distribuzione DeploymentResourceProperties
sku Sku della risorsa di distribuzione Sku

BuildResultUserSourceInfo

Name Description Value
buildResultId ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. string
type Tipo dell'origine caricata 'BuildResult' (obbligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica se disabilitare il probe di attività e conformità bool

CustomContainer

Name Description Value
args Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. string[]
command Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. string[]
containerImage Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema string
imageRegistryCredential Credenziali del Registro di sistema delle immagini ImageRegistryCredential
languageFramework Framework del linguaggio dell'immagine del contenitore caricato string
server Nome del Registro di sistema che contiene l'immagine del contenitore string

CustomContainerUserSourceInfo

Name Description Value
customContainer Payload del contenitore personalizzato CustomContainer
type Tipo dell'origine caricata 'Contenitore' (obbligatorio)

CustomScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
type Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Name Description Value

DeploymentResourceProperties

Name Description Value
active Indica se la distribuzione è attiva bool
deploymentSettings Impostazioni di distribuzione della distribuzione DeploymentSettings
source Informazioni sull'origine caricate della distribuzione. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Raccolta di componenti aggiuntivi DeploymentSettingsAddonConfigs
containerProbeSettings Impostazioni del probe di disponibilità e conformità dei contenitori ContainerProbeSettings
environmentVariables Raccolta di variabili di ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. ResourceRequests
scale Scaling delle proprietà per l'Azure Spring Apps App Instance. Scale
startupProbe StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. string[]
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'ExecAction' (obbligatorio)

HttpGetAction

Name Description Value
path Percorso di accesso nel server HTTP. string
scheme Schema da usare per la connessione all'host. Il valore predefinito è HTTP.

Valori di enumerazione possibili:
- "HTTP" significa che lo schema utilizzato sarà http://
- "HTTPS" significa che lo schema utilizzato verrà https://
'HTTP'
'HTTPS'
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'HTTPGetAction' (obbligatorio)

HttpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Description Value

ImageRegistryCredential

Name Description Value
password Password delle credenziali del Registro di sistema delle immagini string
username Nome utente della credenziale del Registro di sistema delle immagini string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parametro JVM string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file JAR string
type Tipo dell'origine caricata 'Barattolo' (obbligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath Il percorso verso l'eseguibile .NET rispetto alla zip root string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file .NET string
type Tipo dell'origine caricata 'NetCoreZip' (obbligatorio)

Probe

Name Description Value
disableProbe Indicare se il probe è disabilitato. bool (obbligatorio)
failureThreshold Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. int
initialDelaySeconds Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. int
probeAction Azione del probe. ProbeAction
successThreshold Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. int
timeoutSeconds Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. int

ProbeAction

Name Description Value
type Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obbligatorio)

QueueScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. int
queueName Nome coda. string

ResourceRequests

Name Description Value
cpu CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. string
memory Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. string

Scale

Name Description Value
maxReplicas Optional. Numero massimo di repliche di contenitori. Il valore predefinito è 10 se non è impostato. int
minReplicas Optional. Numero minimo di repliche di contenitori. int
rules Regole di ridimensionamento. ScaleRule[]

ScaleRule

Name Description Value
azureQueue Scalabilità basata su Azure Queue. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Ridimensionamento basato sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string
tcp Ridimensionamento basato sulle richieste TCP. TcpScaleRule

ScaleRuleAuth

Name Description Value
secretRef Nome del segreto Azure Spring Apps App Instance da cui estrarre i parametri di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

Sku

Name Description Value
capacity Capacità corrente della risorsa di destinazione int
name Nome dello SKU string
tier Livello dello SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di
percorso relativo al modulo/progetto di destinazione.
string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file di origine string
type Tipo dell'origine caricata 'Fonte' (obbligatorio)

TcpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità TCP. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità TCP. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Description Value

TCPSocketAction

Name Description Value
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'TCPSocketAction' (obbligatorio)

UserSourceInfo

Name Description Value
type Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obbligatorio)
version Versione dell'origine string

Esempi di utilizzo

Campioni di Bicep

Un esempio di base di distribuzione di 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'
  }
}

Esempi di Azure Quickstart

I seguenti template Azure Quickstart contengono Bicep esempi per il deployment di questo tipo di risorsa.

File Bicep Description
Distribuire una semplice applicazione Azure Spring Apps microservizi Questo template distribuisce una semplice applicazione microservice Azure Spring Apps da eseguire su Azure.

Definizione di risorsa del modello di Resource Manager

Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:

  • gruppi di risorse - Vedere i comandi di distribuzione del gruppo di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. AppPlatform/Spring/apps/deployments, aggiungi il seguente JSON al tuo template.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2023-01-01-preview",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{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"
      },
      "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"
  }
}

Oggetti UserSourceInfo

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per BuildResult, usare:

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

Per Contenitore, usare:

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

Per jar, usare:

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

Per NetCoreZip, usare:

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

Per origine, usare:

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

Oggetti ProbeAction

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per ExecAction, usare:

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

Per HTTPGetAction, usare:

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

Per TCPSocketAction, usare:

{
  "type": "TCPSocketAction"
}

Valori delle proprietà

Microsoft. AppPlatform/Spring/app/implementazioni

Name Description Value
apiVersion Versione dell'API '2023-01-01-preview'
name Nome della risorsa stringa (obbligatorio)
properties Proprietà della risorsa di distribuzione DeploymentResourceProperties
sku Sku della risorsa di distribuzione Sku
type Tipo di risorsa 'Microsoft. AppPlatform/Spring/app/deployment'

BuildResultUserSourceInfo

Name Description Value
buildResultId ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. string
type Tipo dell'origine caricata 'BuildResult' (obbligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica se disabilitare il probe di attività e conformità bool

CustomContainer

Name Description Value
args Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. string[]
command Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. string[]
containerImage Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema string
imageRegistryCredential Credenziali del Registro di sistema delle immagini ImageRegistryCredential
languageFramework Framework del linguaggio dell'immagine del contenitore caricato string
server Nome del Registro di sistema che contiene l'immagine del contenitore string

CustomContainerUserSourceInfo

Name Description Value
customContainer Payload del contenitore personalizzato CustomContainer
type Tipo dell'origine caricata 'Contenitore' (obbligatorio)

CustomScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
type Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Name Description Value

DeploymentResourceProperties

Name Description Value
active Indica se la distribuzione è attiva bool
deploymentSettings Impostazioni di distribuzione della distribuzione DeploymentSettings
source Informazioni sull'origine caricate della distribuzione. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Raccolta di componenti aggiuntivi DeploymentSettingsAddonConfigs
containerProbeSettings Impostazioni del probe di disponibilità e conformità dei contenitori ContainerProbeSettings
environmentVariables Raccolta di variabili di ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. ResourceRequests
scale Scaling delle proprietà per l'Azure Spring Apps App Instance. Scale
startupProbe StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. string[]
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'ExecAction' (obbligatorio)

HttpGetAction

Name Description Value
path Percorso di accesso nel server HTTP. string
scheme Schema da usare per la connessione all'host. Il valore predefinito è HTTP.

Valori di enumerazione possibili:
- "HTTP" significa che lo schema utilizzato sarà http://
- "HTTPS" significa che lo schema utilizzato verrà https://
'HTTP'
'HTTPS'
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'HTTPGetAction' (obbligatorio)

HttpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Description Value

ImageRegistryCredential

Name Description Value
password Password delle credenziali del Registro di sistema delle immagini string
username Nome utente della credenziale del Registro di sistema delle immagini string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parametro JVM string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file JAR string
type Tipo dell'origine caricata 'Barattolo' (obbligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath Il percorso verso l'eseguibile .NET rispetto alla zip root string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file .NET string
type Tipo dell'origine caricata 'NetCoreZip' (obbligatorio)

Probe

Name Description Value
disableProbe Indicare se il probe è disabilitato. bool (obbligatorio)
failureThreshold Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. int
initialDelaySeconds Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. int
probeAction Azione del probe. ProbeAction
successThreshold Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. int
timeoutSeconds Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. int

ProbeAction

Name Description Value
type Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obbligatorio)

QueueScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. int
queueName Nome coda. string

ResourceRequests

Name Description Value
cpu CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. string
memory Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. string

Scale

Name Description Value
maxReplicas Optional. Numero massimo di repliche di contenitori. Il valore predefinito è 10 se non è impostato. int
minReplicas Optional. Numero minimo di repliche di contenitori. int
rules Regole di ridimensionamento. ScaleRule[]

ScaleRule

Name Description Value
azureQueue Scalabilità basata su Azure Queue. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Ridimensionamento basato sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string
tcp Ridimensionamento basato sulle richieste TCP. TcpScaleRule

ScaleRuleAuth

Name Description Value
secretRef Nome del segreto Azure Spring Apps App Instance da cui estrarre i parametri di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

Sku

Name Description Value
capacity Capacità corrente della risorsa di destinazione int
name Nome dello SKU string
tier Livello dello SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di
percorso relativo al modulo/progetto di destinazione.
string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file di origine string
type Tipo dell'origine caricata 'Fonte' (obbligatorio)

TcpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità TCP. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità TCP. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Description Value

TCPSocketAction

Name Description Value
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'TCPSocketAction' (obbligatorio)

UserSourceInfo

Name Description Value
type Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obbligatorio)
version Versione dell'origine string

Esempi di utilizzo

Modelli di Avvio Rapido Azure

I seguenti template Azure Quickstart distribuiscono questo tipo di risorsa.

Template Description
Distribuire una semplice applicazione Azure Spring Apps microservizi

Deploya su Azure
Questo template distribuisce una semplice applicazione microservice Azure Spring Apps da eseguire su Azure.

Definizione di risorsa Terraform (provider AzAPI)

Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:

  • Gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato risorsa

Per creare un Microsoft. AppPlatform/Spring/apps/deployments risorsa, aggiungi il seguente Terraform al tuo template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-01-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {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"
        }
        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"
    }
  }
}

Oggetti UserSourceInfo

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per BuildResult, usare:

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

Per Contenitore, usare:

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

Per jar, usare:

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

Per NetCoreZip, usare:

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

Per origine, usare:

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

Oggetti ProbeAction

Impostare la proprietà tipo di per specificare il tipo di oggetto.

Per ExecAction, usare:

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

Per HTTPGetAction, usare:

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

Per TCPSocketAction, usare:

{
  type = "TCPSocketAction"
}

Valori delle proprietà

Microsoft. AppPlatform/Spring/app/implementazioni

Name Description Value
name Nome della risorsa stringa (obbligatorio)
parent_id ID della risorsa padre per questa risorsa. ID per la risorsa di tipo: Spring/apps
properties Proprietà della risorsa di distribuzione DeploymentResourceProperties
sku Sku della risorsa di distribuzione Sku
type Tipo di risorsa "Microsoft. AppPlatform/Spring/apps/deployments@2023-01-01-anteprima"

BuildResultUserSourceInfo

Name Description Value
buildResultId ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. string
type Tipo dell'origine caricata 'BuildResult' (obbligatorio)

ContainerProbeSettings

Name Description Value
disableProbe Indica se disabilitare il probe di attività e conformità bool

CustomContainer

Name Description Value
args Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. string[]
command Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. string[]
containerImage Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema string
imageRegistryCredential Credenziali del Registro di sistema delle immagini ImageRegistryCredential
languageFramework Framework del linguaggio dell'immagine del contenitore caricato string
server Nome del Registro di sistema che contiene l'immagine del contenitore string

CustomContainerUserSourceInfo

Name Description Value
customContainer Payload del contenitore personalizzato CustomContainer
type Tipo dell'origine caricata 'Contenitore' (obbligatorio)

CustomScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità personalizzata. CustomScaleRuleMetadata
type Tipo della regola di scalabilità personalizzata
ad esempio: azure-servicebus, redis e così via.
string

CustomScaleRuleMetadata

Name Description Value

DeploymentResourceProperties

Name Description Value
active Indica se la distribuzione è attiva bool
deploymentSettings Impostazioni di distribuzione della distribuzione DeploymentSettings
source Informazioni sull'origine caricate della distribuzione. UserSourceInfo

DeploymentSettings

Name Description Value
addonConfigs Raccolta di componenti aggiuntivi DeploymentSettingsAddonConfigs
containerProbeSettings Impostazioni del probe di disponibilità e conformità dei contenitori ContainerProbeSettings
environmentVariables Raccolta di variabili di ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
readinessProbe Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
resourceRequests Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. ResourceRequests
scale Scaling delle proprietà per l'Azure Spring Apps App Instance. Scale
startupProbe StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Probe
terminationGracePeriodSeconds La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. int

DeploymentSettingsAddonConfigs

Name Description Value

DeploymentSettingsEnvironmentVariables

Name Description Value

ExecAction

Name Description Value
command Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. string[]
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'ExecAction' (obbligatorio)

HttpGetAction

Name Description Value
path Percorso di accesso nel server HTTP. string
scheme Schema da usare per la connessione all'host. Il valore predefinito è HTTP.

Valori di enumerazione possibili:
- "HTTP" significa che lo schema utilizzato sarà http://
- "HTTPS" significa che lo schema utilizzato verrà https://
'HTTP'
'HTTPS'
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'HTTPGetAction' (obbligatorio)

HttpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità personalizzata. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Name Description Value

ImageRegistryCredential

Name Description Value
password Password delle credenziali del Registro di sistema delle immagini string
username Nome utente della credenziale del Registro di sistema delle immagini string

JarUploadedUserSourceInfo

Name Description Value
jvmOptions Parametro JVM string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file JAR string
type Tipo dell'origine caricata 'Barattolo' (obbligatorio)

NetCoreZipUploadedUserSourceInfo

Name Description Value
netCoreMainEntryPath Il percorso verso l'eseguibile .NET rispetto alla zip root string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file .NET string
type Tipo dell'origine caricata 'NetCoreZip' (obbligatorio)

Probe

Name Description Value
disableProbe Indicare se il probe è disabilitato. bool (obbligatorio)
failureThreshold Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. int
initialDelaySeconds Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. int
probeAction Azione del probe. ProbeAction
successThreshold Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. int
timeoutSeconds Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. int

ProbeAction

Name Description Value
type Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. 'ExecAction'
'HTTPGetAction'
'TCPSocketAction' (obbligatorio)

QueueScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità della coda. ScaleRuleAuth[]
queueLength Lunghezza coda. int
queueName Nome coda. string

ResourceRequests

Name Description Value
cpu CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. string
memory Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. string

Scale

Name Description Value
maxReplicas Optional. Numero massimo di repliche di contenitori. Il valore predefinito è 10 se non è impostato. int
minReplicas Optional. Numero minimo di repliche di contenitori. int
rules Regole di ridimensionamento. ScaleRule[]

ScaleRule

Name Description Value
azureQueue Scalabilità basata su Azure Queue. QueueScaleRule
custom Regola di scalabilità personalizzata. CustomScaleRule
http Ridimensionamento basato sulle richieste HTTP. HttpScaleRule
name Nome regola di scalabilità string
tcp Ridimensionamento basato sulle richieste TCP. TcpScaleRule

ScaleRuleAuth

Name Description Value
secretRef Nome del segreto Azure Spring Apps App Instance da cui estrarre i parametri di autenticazione. string
triggerParameter Parametro trigger che usa il segreto string

Sku

Name Description Value
capacity Capacità corrente della risorsa di destinazione int
name Nome dello SKU string
tier Livello dello SKU string

SourceUploadedUserSourceInfo

Name Description Value
artifactSelector Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di
percorso relativo al modulo/progetto di destinazione.
string
relativePath Percorso relativo dell'archiviazione in cui è archiviata l'origine string
runtimeVersion Versione di runtime del file di origine string
type Tipo dell'origine caricata 'Fonte' (obbligatorio)

TcpScaleRule

Name Description Value
auth Segreti di autenticazione per la regola di scalabilità TCP. ScaleRuleAuth[]
metadata Proprietà dei metadati per descrivere la regola di scalabilità TCP. TcpScaleRuleMetadata

TcpScaleRuleMetadata

Name Description Value

TCPSocketAction

Name Description Value
type Tipo dell'azione da eseguire per eseguire il controllo di integrità. 'TCPSocketAction' (obbligatorio)

UserSourceInfo

Name Description Value
type Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. 'BuildResult'
'Container'
'Jar'
'NetCoreZip'
'Fonte' (obbligatorio)
version Versione dell'origine string

Esempi di utilizzo

Esempi di Terraform

Un esempio di base di distribuzione di 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    = ["*"]
}