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

Bemerkungen

Hinweis: Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) sind jetzt veraltet und werden am 31.05.2028 eingestellt. Weitere Informationen finden Sie unter https://aka.ms/asaretirement.

Bicep-Ressourcendefinition

Der Ressourcentyp Spring/apps/deployments kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.AppPlatform/Spring/apps/deployments-Ressource zu erstellen, fügen Sie den folgenden Bicep Ihrer Vorlage hinzu.

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

UserSourceInfo-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für BuildResult-:

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

Verwenden Sie für Container-:

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

Verwenden Sie für Jar:

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

Verwenden Sie für NetCoreZip-:

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

Verwenden Sie für Source:

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

ProbeAction-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für ExecAction-:

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

Verwenden Sie für HTTPGetAction-:

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

Verwenden Sie für TCPSocketAction-:

{
  type: 'TCPSocketAction'
}

Eigenschaftswerte

Microsoft.AppPlatform/Spring/apps/deployments

Name BESCHREIBUNG Wert
Name Der Ressourcenname Zeichenfolge (erforderlich)
Elternteil In Bicep kann man die Elternressource für eine Kindressource angeben. Sie müssen diese Eigenschaft nur hinzufügen, wenn die untergeordnete Ressource außerhalb der übergeordneten Ressource deklariert wird.

Weitere Informationen finden Sie unter Untergeordnete Ressource außerhalb der übergeordneten Ressource.
Symbolischer Name für Die Ressource des Typs: Spring/Apps
Eigenschaften Eigenschaften der Bereitstellungsressource DeploymentResourceProperties-
Sku Sku der Bereitstellungsressource Sku

AddonProfil

Name BESCHREIBUNG Wert

BuildResultUserSourceInfo

Name BESCHREIBUNG Wert
buildResultId Ressourcen-ID eines vorhandenen erfolgreichen Buildergebnisses unter derselben Spring-Instanz. Schnur
Typ Typ der hochgeladenen Quelle 'BuildResult' (erforderlich)

ContainerProbe-Einstellungen

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob die Liveness- und Bereitschaftssonde deaktiviert wird. Boolesch

CustomContainer (Englisch)

Name BESCHREIBUNG Wert
Args Argumente für den Einstiegspunkt. Die CMD des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
Befehl Einstiegspunktarray. Nicht innerhalb einer Shell ausgeführt. Der ENTRYPOINT-Eintrag des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
containerImage Containerimage des benutzerdefinierten Containers. Dies sollte in Form von <Repository->sein:<Tag> ohne den Servernamen der Registrierung Schnur
imageRegistryCredential (englisch) Anmeldeinformationen der Bildregistrierung ImageRegistryCredential-
languageFramework Sprachframework des hochgeladenen Containerimages Schnur
Server Der Name der Registrierung, die das Containerimage enthält Schnur

CustomContainerUserSourceInfo

Name BESCHREIBUNG Wert
nach MaßBehälter Benutzerdefinierte Containernutzlast CustomContainer-
Typ Typ der hochgeladenen Quelle "Container" (erforderlich)

DeploymentResource-Eigenschaften

Name BESCHREIBUNG Wert
aktiv Gibt an, ob die Bereitstellung aktiv ist. Boolesch
deploymentEinstellungen Bereitstellungseinstellungen der Bereitstellung DeploymentSettings-
Quelle Hochgeladene Quellinformationen der Bereitstellung. UserSourceInfo-

Einstellungen für die Bereitstellung

Name BESCHREIBUNG Wert
addonConfigs (Englisch) Sammlung von Addons DeploymentSettingsAddonConfigs
containerProbe-Einstellungen Einstellungen für Containerlebigkeit und Bereitschaftssonden ContainerProbe-Einstellungen
Umgebungsvariablen Sammlung von Umgebungsvariablen DeploymentSettingsEnvironmentVariables-
livenessProbe Regelmäßige Probe der Live-App-Instanz. App-Instanz wird neu gestartet, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
readinessProbe Regelmäßige Überprüfung der Bereitschaft des App-Instanzdiensts. Die App-Instanz wird von Dienstendpunkten entfernt, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
resourceRequests Die angeforderte Ressourcenmenge für erforderliche CPU und Arbeitsspeicher. Es wird empfohlen, dass die Verwendung dieses Felds, um die erforderliche CPU und den erforderlichen Arbeitsspeicher darzustellen, die alte Feld cpu und memoryInGB später nicht mehr unterstützt wird. ResourceRequests-
startupProbe StartupProbe gibt an, dass die App-Instanz erfolgreich initialisiert wurde. Wenn angegeben, werden keine anderen Probes ausgeführt, bis dies erfolgreich abgeschlossen ist. Wenn diese Probe fehlschlägt, wird der Pod neu gestartet, genau so, als ob die LivenessProbe fehlgeschlagen ist. Dies kann verwendet werden, um zu Beginn des Lebenszyklus einer App-Instanz unterschiedliche Probeparameter bereitzustellen, wenn es möglicherweise lange dauern kann, Daten zu laden oder einen Cache zu wärmen, als während des Dauerzustandsvorgangs. Dies kann nicht aktualisiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
terminationGracePeriodSeconds Optionale Dauer in Sekunden, die die App-Instanz ordnungsgemäß beenden muss. Möglicherweise wird die Löschanforderung verringert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert Null gibt den Stopp sofort über das Kill-Signal an (keine Möglichkeit, herunterzufahren). Wenn dieser Wert null ist, wird stattdessen der Standard-Karenzzeitraum verwendet. Die Karenzzeit ist die Dauer in Sekunden, nachdem die in der App-Instanz ausgeführten Prozesse ein Beendigungssignal gesendet und die Zeit, zu der die Prozesse mit einem Kill-Signal unterbrochen werden. Legen Sie diesen Wert länger als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert ist 90 Sekunden. INT

DeploymentSettingsAddonConfigs

Name BESCHREIBUNG Wert

DeploymentSettingsEnvironmentVariables

Name BESCHREIBUNG Wert

Exekutivmaßnahmen

Name BESCHREIBUNG Wert
Befehl Der Befehl ist die Befehlszeile, die im Container ausgeführt werden soll, das Arbeitsverzeichnis für den Befehl ist stamm ('/') im Dateisystem des Containers. Der Befehl wird nicht innerhalb einer Shell ausgeführt, sodass herkömmliche Shellanweisungen ('|' usw.) nicht funktionieren. Um eine Shell zu verwenden, müssen Sie diese Shell explizit aufrufen. Der Beendigungsstatus von 0 wird als live/fehlerfrei behandelt, und Nicht-Null ist ungesund. Zeichenfolge[]
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'ExecAction' (erforderlich)

HttpGetAktion

Name BESCHREIBUNG Wert
Pfad Pfad für den Zugriff auf den HTTP-Server. Schnur
Schema Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Standardwert ist HTTP.

Mögliche Enumerationswerte:
- "HTTP" bedeutet, dass das verwendete Schema http://
- "HTTPS" bedeutet, dass das verwendete Schema https://
'HTTP'
"HTTPS"
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'HTTPGetAction' (erforderlich)

ImageRegistryCredential

Name BESCHREIBUNG Wert
Kennwort Das Kennwort der Anmeldeinformationen für die Bildregistrierung Schnur
Benutzername Der Benutzername der Anmeldeinformationen für die Bildregistrierung Schnur

JarUploadedUserSourceInfo

Name BESCHREIBUNG Wert
jvmOptionen JVM-Parameter Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Jar-Datei Schnur
Typ Typ der hochgeladenen Quelle "Jar" (erforderlich)

NetCoreZipUploadedUserSourceInfo

Name BESCHREIBUNG Wert
netCoreMainEntryPath Der Pfad zur .NET-ausführbaren Datei relativ zum Zip-Root Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der .Net-Datei Schnur
Typ Typ der hochgeladenen Quelle 'NetCoreZip' (erforderlich)

Sonde

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob der Prüfpunkt deaktiviert ist. bool (erforderlich)
failureThreshold (Fehler) Mindestens aufeinander folgende Fehler für den Prüfpunkt, der nach erfolgreichem Erfolg als fehlgeschlagen betrachtet werden soll. Der Mindestwert ist 1. INT
initialDelaySeconds Die Anzahl von Sekunden, nachdem die App-Instanz gestartet wurde, bevor Probes initiiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes INT
periodSekunden Wie oft (in Sekunden) die Probe ausgeführt werden soll. Der Mindestwert ist 1. INT
Prüfpunkt-Aktion Die Aktion des Sondes. ProbeAktion
successThreshold Mindestens aufeinander folgende Erfolge für die Sonde, die nach einem Fehler als erfolgreich angesehen werden sollen. Muss 1 für Lebendigkeit und Start sein. Der Mindestwert ist 1. INT
TimeoutSeconds Die Anzahl der Sekunden, nach denen der Sonde eine Zeitüberschreitung aufweist. Der Mindestwert ist 1. INT

ProbeAktion

Name BESCHREIBUNG Wert
Typ Legen Sie für den Typ ExecAction auf ' ExecAction' fest. Legen Sie für den Typ HttpGetAction-auf "HTTPGetAction" fest. Legen Sie für den Typ TCPSocketActionauf 'TCPSocketAction' fest. "Exekutivaktion"
'HTTPGetAktion'
'TCPSocketAction' (erforderlich)

ResourceRequests

Name BESCHREIBUNG Wert
CPU Erforderliche CPU. 1 Kern kann durch 1 oder 1000m dargestellt werden. Dies sollte 500m oder 1 für die Standardebene und {500m, 1, 2, 3, 4} für die Standardebene sein. Schnur
Gedächtnis Erforderlicher Arbeitsspeicher. 1 GB können durch 1Gi oder 1024Mi dargestellt werden. Dies sollte {512Mi, 1Gi, 2Gi} für die Standardebene und {512Mi, 1Gi, 2Gi, ..., 8Gi} für die Standardebene sein. Schnur

Sku

Name BESCHREIBUNG Wert
Kapazität Aktuelle Kapazität der Zielressource INT
Name Name der Sku Schnur
Ebene Ebene der Sku Schnur

SourceUploadedUserSourceInfo

Name BESCHREIBUNG Wert
artifactSelector Selektor für das Artefakt, das für die Bereitstellung für Multimodulprojekte verwendet werden soll. Dies sollte sein
der relative Pfad zum Zielmodul/Projekt.
Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Quelldatei Schnur
Typ Typ der hochgeladenen Quelle "Quelle" (erforderlich)

TCPSocketAktion

Name BESCHREIBUNG Wert
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'TCPSocketAction' (erforderlich)

UserSourceInfo

Name BESCHREIBUNG Wert
Typ Legen Sie den Wert auf 'BuildResult' für den Typ BuildResultUserSourceInfo fest. Legen Sie für den Typ CustomContainerUserSourceInfo-auf "Container" fest. Auf 'Jar' für typ JarUploadedUserSourceInfofestgelegt. Legen Sie für den Typ NetCoreZipUploadedUserSourceInfoauf "NetCoreZipZip" fest. Legen Sie für den Typ "Source" SourceUploadedUserSourceInfoauf "Source" fest. 'Bauergebnis'
"Container"
"Jar"
'NetCoreZip'
"Quelle" (erforderlich)
Ausgabe Version der Quelle Schnur

Verwendungsbeispiele

Bicep-Proben

Ein grundlegendes Beispiel für die Bereitstellung von 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

Die folgenden Azure Quickstart-Vorlagen enthalten Bicep Beispiele für die Bereitstellung dieses Ressourcentyps.

Bicep-Datei BESCHREIBUNG
Bereitstellen Sie eine einfache Azure Spring Apps Microservice-Anwendung aus Diese Vorlage bereitet eine einfache Azure Spring Apps-Microservice-Anwendung zur Ausführung auf Azure aus.

ARM-Vorlagenressourcendefinition

Der Ressourcentyp Spring/apps/deployments kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.AppPlatform/Spring/apps/deployments-Ressource zu erstellen, fügen Sie Ihrer Vorlage den folgenden JSON-Code hinzu.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2022-05-01-preview",
  "name": "string",
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {
          "{customized property}": {}
        }
      },
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "livenessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "readinessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      },
      "startupProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "terminationGracePeriodSeconds": "int"
    },
    "source": {
      "version": "string",
      "type": "string"
      // For remaining properties, see UserSourceInfo objects
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  }
}

UserSourceInfo-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für BuildResult-:

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

Verwenden Sie für Container-:

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

Verwenden Sie für Jar:

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

Verwenden Sie für NetCoreZip-:

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

Verwenden Sie für Source:

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

ProbeAction-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für ExecAction-:

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

Verwenden Sie für HTTPGetAction-:

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

Verwenden Sie für TCPSocketAction-:

{
  "type": "TCPSocketAction"
}

Eigenschaftswerte

Microsoft.AppPlatform/Spring/apps/deployments

Name BESCHREIBUNG Wert
apiVersion (Englisch) Die API-Version "2022-05-01-preview"
Name Der Ressourcenname Zeichenfolge (erforderlich)
Eigenschaften Eigenschaften der Bereitstellungsressource DeploymentResourceProperties-
Sku Sku der Bereitstellungsressource Sku
Typ Der Ressourcentyp "Microsoft.AppPlatform/Spring/apps/deployments"

AddonProfil

Name BESCHREIBUNG Wert

BuildResultUserSourceInfo

Name BESCHREIBUNG Wert
buildResultId Ressourcen-ID eines vorhandenen erfolgreichen Buildergebnisses unter derselben Spring-Instanz. Schnur
Typ Typ der hochgeladenen Quelle 'BuildResult' (erforderlich)

ContainerProbe-Einstellungen

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob die Liveness- und Bereitschaftssonde deaktiviert wird. Boolesch

CustomContainer (Englisch)

Name BESCHREIBUNG Wert
Args Argumente für den Einstiegspunkt. Die CMD des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
Befehl Einstiegspunktarray. Nicht innerhalb einer Shell ausgeführt. Der ENTRYPOINT-Eintrag des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
containerImage Containerimage des benutzerdefinierten Containers. Dies sollte in Form von <Repository->sein:<Tag> ohne den Servernamen der Registrierung Schnur
imageRegistryCredential (englisch) Anmeldeinformationen der Bildregistrierung ImageRegistryCredential-
languageFramework Sprachframework des hochgeladenen Containerimages Schnur
Server Der Name der Registrierung, die das Containerimage enthält Schnur

CustomContainerUserSourceInfo

Name BESCHREIBUNG Wert
nach MaßBehälter Benutzerdefinierte Containernutzlast CustomContainer-
Typ Typ der hochgeladenen Quelle "Container" (erforderlich)

DeploymentResource-Eigenschaften

Name BESCHREIBUNG Wert
aktiv Gibt an, ob die Bereitstellung aktiv ist. Boolesch
deploymentEinstellungen Bereitstellungseinstellungen der Bereitstellung DeploymentSettings-
Quelle Hochgeladene Quellinformationen der Bereitstellung. UserSourceInfo-

Einstellungen für die Bereitstellung

Name BESCHREIBUNG Wert
addonConfigs (Englisch) Sammlung von Addons DeploymentSettingsAddonConfigs
containerProbe-Einstellungen Einstellungen für Containerlebigkeit und Bereitschaftssonden ContainerProbe-Einstellungen
Umgebungsvariablen Sammlung von Umgebungsvariablen DeploymentSettingsEnvironmentVariables-
livenessProbe Regelmäßige Probe der Live-App-Instanz. App-Instanz wird neu gestartet, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
readinessProbe Regelmäßige Überprüfung der Bereitschaft des App-Instanzdiensts. Die App-Instanz wird von Dienstendpunkten entfernt, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
resourceRequests Die angeforderte Ressourcenmenge für erforderliche CPU und Arbeitsspeicher. Es wird empfohlen, dass die Verwendung dieses Felds, um die erforderliche CPU und den erforderlichen Arbeitsspeicher darzustellen, die alte Feld cpu und memoryInGB später nicht mehr unterstützt wird. ResourceRequests-
startupProbe StartupProbe gibt an, dass die App-Instanz erfolgreich initialisiert wurde. Wenn angegeben, werden keine anderen Probes ausgeführt, bis dies erfolgreich abgeschlossen ist. Wenn diese Probe fehlschlägt, wird der Pod neu gestartet, genau so, als ob die LivenessProbe fehlgeschlagen ist. Dies kann verwendet werden, um zu Beginn des Lebenszyklus einer App-Instanz unterschiedliche Probeparameter bereitzustellen, wenn es möglicherweise lange dauern kann, Daten zu laden oder einen Cache zu wärmen, als während des Dauerzustandsvorgangs. Dies kann nicht aktualisiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
terminationGracePeriodSeconds Optionale Dauer in Sekunden, die die App-Instanz ordnungsgemäß beenden muss. Möglicherweise wird die Löschanforderung verringert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert Null gibt den Stopp sofort über das Kill-Signal an (keine Möglichkeit, herunterzufahren). Wenn dieser Wert null ist, wird stattdessen der Standard-Karenzzeitraum verwendet. Die Karenzzeit ist die Dauer in Sekunden, nachdem die in der App-Instanz ausgeführten Prozesse ein Beendigungssignal gesendet und die Zeit, zu der die Prozesse mit einem Kill-Signal unterbrochen werden. Legen Sie diesen Wert länger als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert ist 90 Sekunden. INT

DeploymentSettingsAddonConfigs

Name BESCHREIBUNG Wert

DeploymentSettingsEnvironmentVariables

Name BESCHREIBUNG Wert

Exekutivmaßnahmen

Name BESCHREIBUNG Wert
Befehl Der Befehl ist die Befehlszeile, die im Container ausgeführt werden soll, das Arbeitsverzeichnis für den Befehl ist stamm ('/') im Dateisystem des Containers. Der Befehl wird nicht innerhalb einer Shell ausgeführt, sodass herkömmliche Shellanweisungen ('|' usw.) nicht funktionieren. Um eine Shell zu verwenden, müssen Sie diese Shell explizit aufrufen. Der Beendigungsstatus von 0 wird als live/fehlerfrei behandelt, und Nicht-Null ist ungesund. Zeichenfolge[]
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'ExecAction' (erforderlich)

HttpGetAktion

Name BESCHREIBUNG Wert
Pfad Pfad für den Zugriff auf den HTTP-Server. Schnur
Schema Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Standardwert ist HTTP.

Mögliche Enumerationswerte:
- "HTTP" bedeutet, dass das verwendete Schema http://
- "HTTPS" bedeutet, dass das verwendete Schema https://
'HTTP'
"HTTPS"
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'HTTPGetAction' (erforderlich)

ImageRegistryCredential

Name BESCHREIBUNG Wert
Kennwort Das Kennwort der Anmeldeinformationen für die Bildregistrierung Schnur
Benutzername Der Benutzername der Anmeldeinformationen für die Bildregistrierung Schnur

JarUploadedUserSourceInfo

Name BESCHREIBUNG Wert
jvmOptionen JVM-Parameter Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Jar-Datei Schnur
Typ Typ der hochgeladenen Quelle "Jar" (erforderlich)

NetCoreZipUploadedUserSourceInfo

Name BESCHREIBUNG Wert
netCoreMainEntryPath Der Pfad zur .NET-ausführbaren Datei relativ zum Zip-Root Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der .Net-Datei Schnur
Typ Typ der hochgeladenen Quelle 'NetCoreZip' (erforderlich)

Sonde

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob der Prüfpunkt deaktiviert ist. bool (erforderlich)
failureThreshold (Fehler) Mindestens aufeinander folgende Fehler für den Prüfpunkt, der nach erfolgreichem Erfolg als fehlgeschlagen betrachtet werden soll. Der Mindestwert ist 1. INT
initialDelaySeconds Die Anzahl von Sekunden, nachdem die App-Instanz gestartet wurde, bevor Probes initiiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes INT
periodSekunden Wie oft (in Sekunden) die Probe ausgeführt werden soll. Der Mindestwert ist 1. INT
Prüfpunkt-Aktion Die Aktion des Sondes. ProbeAktion
successThreshold Mindestens aufeinander folgende Erfolge für die Sonde, die nach einem Fehler als erfolgreich angesehen werden sollen. Muss 1 für Lebendigkeit und Start sein. Der Mindestwert ist 1. INT
TimeoutSeconds Die Anzahl der Sekunden, nach denen der Sonde eine Zeitüberschreitung aufweist. Der Mindestwert ist 1. INT

ProbeAktion

Name BESCHREIBUNG Wert
Typ Legen Sie für den Typ ExecAction auf ' ExecAction' fest. Legen Sie für den Typ HttpGetAction-auf "HTTPGetAction" fest. Legen Sie für den Typ TCPSocketActionauf 'TCPSocketAction' fest. "Exekutivaktion"
'HTTPGetAktion'
'TCPSocketAction' (erforderlich)

ResourceRequests

Name BESCHREIBUNG Wert
CPU Erforderliche CPU. 1 Kern kann durch 1 oder 1000m dargestellt werden. Dies sollte 500m oder 1 für die Standardebene und {500m, 1, 2, 3, 4} für die Standardebene sein. Schnur
Gedächtnis Erforderlicher Arbeitsspeicher. 1 GB können durch 1Gi oder 1024Mi dargestellt werden. Dies sollte {512Mi, 1Gi, 2Gi} für die Standardebene und {512Mi, 1Gi, 2Gi, ..., 8Gi} für die Standardebene sein. Schnur

Sku

Name BESCHREIBUNG Wert
Kapazität Aktuelle Kapazität der Zielressource INT
Name Name der Sku Schnur
Ebene Ebene der Sku Schnur

SourceUploadedUserSourceInfo

Name BESCHREIBUNG Wert
artifactSelector Selektor für das Artefakt, das für die Bereitstellung für Multimodulprojekte verwendet werden soll. Dies sollte sein
der relative Pfad zum Zielmodul/Projekt.
Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Quelldatei Schnur
Typ Typ der hochgeladenen Quelle "Quelle" (erforderlich)

TCPSocketAktion

Name BESCHREIBUNG Wert
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'TCPSocketAction' (erforderlich)

UserSourceInfo

Name BESCHREIBUNG Wert
Typ Legen Sie den Wert auf 'BuildResult' für den Typ BuildResultUserSourceInfo fest. Legen Sie für den Typ CustomContainerUserSourceInfo-auf "Container" fest. Auf 'Jar' für typ JarUploadedUserSourceInfofestgelegt. Legen Sie für den Typ NetCoreZipUploadedUserSourceInfoauf "NetCoreZipZip" fest. Legen Sie für den Typ "Source" SourceUploadedUserSourceInfoauf "Source" fest. 'Bauergebnis'
"Container"
"Jar"
'NetCoreZip'
"Quelle" (erforderlich)
Ausgabe Version der Quelle Schnur

Verwendungsbeispiele

Azure-Schnellstartvorlagen

Die folgenden Azure Quickstart-Vorlagen bereitstellen diesen Ressourcentyp aus.

Schablone BESCHREIBUNG
Bereitstellen Sie eine einfache Azure Spring Apps Microservice-Anwendung aus

Deploy auf Azure
Diese Vorlage bereitet eine einfache Azure Spring Apps-Microservice-Anwendung zur Ausführung auf Azure aus.

Terraform -Ressourcendefinition (AzAPI-Anbieter)

Der Ressourcentyp Spring/apps/deployments kann mit Vorgängen bereitgestellt werden, die auf Folgendes abzielen:

  • Ressourcengruppen

Eine Liste der geänderten Eigenschaften in jeder API-Version finden Sie unter Änderungsprotokoll.

Ressourcenformat

Um eine Microsoft.AppPlatform/Spring/apps/deployments-Ressource zu erstellen, fügen Sie Ihrer Vorlage die folgende Terraform hinzu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {
          {customized property} = {
            {customized property} = ?
          }
        }
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        livenessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        readinessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
        startupProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        terminationGracePeriodSeconds = int
      }
      source = {
        version = "string"
        type = "string"
        // For remaining properties, see UserSourceInfo objects
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  }
}

UserSourceInfo-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für BuildResult-:

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

Verwenden Sie für Container-:

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

Verwenden Sie für Jar:

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

Verwenden Sie für NetCoreZip-:

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

Verwenden Sie für Source:

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

ProbeAction-Objekte

Legen Sie den Typ Eigenschaft fest, um den Objekttyp anzugeben.

Verwenden Sie für ExecAction-:

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

Verwenden Sie für HTTPGetAction-:

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

Verwenden Sie für TCPSocketAction-:

{
  type = "TCPSocketAction"
}

Eigenschaftswerte

Microsoft.AppPlatform/Spring/apps/deployments

Name BESCHREIBUNG Wert
Name Der Ressourcenname Zeichenfolge (erforderlich)
Eltern-ID Die ID der Ressource, die das übergeordnete Element für diese Ressource ist. ID für Ressource des Typs: Spring/Apps
Eigenschaften Eigenschaften der Bereitstellungsressource DeploymentResourceProperties-
Sku Sku der Bereitstellungsressource Sku
Typ Der Ressourcentyp "Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview"

AddonProfil

Name BESCHREIBUNG Wert

BuildResultUserSourceInfo

Name BESCHREIBUNG Wert
buildResultId Ressourcen-ID eines vorhandenen erfolgreichen Buildergebnisses unter derselben Spring-Instanz. Schnur
Typ Typ der hochgeladenen Quelle 'BuildResult' (erforderlich)

ContainerProbe-Einstellungen

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob die Liveness- und Bereitschaftssonde deaktiviert wird. Boolesch

CustomContainer (Englisch)

Name BESCHREIBUNG Wert
Args Argumente für den Einstiegspunkt. Die CMD des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
Befehl Einstiegspunktarray. Nicht innerhalb einer Shell ausgeführt. Der ENTRYPOINT-Eintrag des Docker-Images wird verwendet, wenn dies nicht angegeben wird. Zeichenfolge[]
containerImage Containerimage des benutzerdefinierten Containers. Dies sollte in Form von <Repository->sein:<Tag> ohne den Servernamen der Registrierung Schnur
imageRegistryCredential (englisch) Anmeldeinformationen der Bildregistrierung ImageRegistryCredential-
languageFramework Sprachframework des hochgeladenen Containerimages Schnur
Server Der Name der Registrierung, die das Containerimage enthält Schnur

CustomContainerUserSourceInfo

Name BESCHREIBUNG Wert
nach MaßBehälter Benutzerdefinierte Containernutzlast CustomContainer-
Typ Typ der hochgeladenen Quelle "Container" (erforderlich)

DeploymentResource-Eigenschaften

Name BESCHREIBUNG Wert
aktiv Gibt an, ob die Bereitstellung aktiv ist. Boolesch
deploymentEinstellungen Bereitstellungseinstellungen der Bereitstellung DeploymentSettings-
Quelle Hochgeladene Quellinformationen der Bereitstellung. UserSourceInfo-

Einstellungen für die Bereitstellung

Name BESCHREIBUNG Wert
addonConfigs (Englisch) Sammlung von Addons DeploymentSettingsAddonConfigs
containerProbe-Einstellungen Einstellungen für Containerlebigkeit und Bereitschaftssonden ContainerProbe-Einstellungen
Umgebungsvariablen Sammlung von Umgebungsvariablen DeploymentSettingsEnvironmentVariables-
livenessProbe Regelmäßige Probe der Live-App-Instanz. App-Instanz wird neu gestartet, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
readinessProbe Regelmäßige Überprüfung der Bereitschaft des App-Instanzdiensts. Die App-Instanz wird von Dienstendpunkten entfernt, wenn der Prüfpunkt fehlschlägt. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
resourceRequests Die angeforderte Ressourcenmenge für erforderliche CPU und Arbeitsspeicher. Es wird empfohlen, dass die Verwendung dieses Felds, um die erforderliche CPU und den erforderlichen Arbeitsspeicher darzustellen, die alte Feld cpu und memoryInGB später nicht mehr unterstützt wird. ResourceRequests-
startupProbe StartupProbe gibt an, dass die App-Instanz erfolgreich initialisiert wurde. Wenn angegeben, werden keine anderen Probes ausgeführt, bis dies erfolgreich abgeschlossen ist. Wenn diese Probe fehlschlägt, wird der Pod neu gestartet, genau so, als ob die LivenessProbe fehlgeschlagen ist. Dies kann verwendet werden, um zu Beginn des Lebenszyklus einer App-Instanz unterschiedliche Probeparameter bereitzustellen, wenn es möglicherweise lange dauern kann, Daten zu laden oder einen Cache zu wärmen, als während des Dauerzustandsvorgangs. Dies kann nicht aktualisiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes Test
terminationGracePeriodSeconds Optionale Dauer in Sekunden, die die App-Instanz ordnungsgemäß beenden muss. Möglicherweise wird die Löschanforderung verringert. Der Wert muss eine nicht negative ganze Zahl sein. Der Wert Null gibt den Stopp sofort über das Kill-Signal an (keine Möglichkeit, herunterzufahren). Wenn dieser Wert null ist, wird stattdessen der Standard-Karenzzeitraum verwendet. Die Karenzzeit ist die Dauer in Sekunden, nachdem die in der App-Instanz ausgeführten Prozesse ein Beendigungssignal gesendet und die Zeit, zu der die Prozesse mit einem Kill-Signal unterbrochen werden. Legen Sie diesen Wert länger als die erwartete Bereinigungszeit für Ihren Prozess fest. Der Standardwert ist 90 Sekunden. INT

DeploymentSettingsAddonConfigs

Name BESCHREIBUNG Wert

DeploymentSettingsEnvironmentVariables

Name BESCHREIBUNG Wert

Exekutivmaßnahmen

Name BESCHREIBUNG Wert
Befehl Der Befehl ist die Befehlszeile, die im Container ausgeführt werden soll, das Arbeitsverzeichnis für den Befehl ist stamm ('/') im Dateisystem des Containers. Der Befehl wird nicht innerhalb einer Shell ausgeführt, sodass herkömmliche Shellanweisungen ('|' usw.) nicht funktionieren. Um eine Shell zu verwenden, müssen Sie diese Shell explizit aufrufen. Der Beendigungsstatus von 0 wird als live/fehlerfrei behandelt, und Nicht-Null ist ungesund. Zeichenfolge[]
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'ExecAction' (erforderlich)

HttpGetAktion

Name BESCHREIBUNG Wert
Pfad Pfad für den Zugriff auf den HTTP-Server. Schnur
Schema Schema, das zum Herstellen einer Verbindung mit dem Host verwendet werden soll. Standardwert ist HTTP.

Mögliche Enumerationswerte:
- "HTTP" bedeutet, dass das verwendete Schema http://
- "HTTPS" bedeutet, dass das verwendete Schema https://
'HTTP'
"HTTPS"
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'HTTPGetAction' (erforderlich)

ImageRegistryCredential

Name BESCHREIBUNG Wert
Kennwort Das Kennwort der Anmeldeinformationen für die Bildregistrierung Schnur
Benutzername Der Benutzername der Anmeldeinformationen für die Bildregistrierung Schnur

JarUploadedUserSourceInfo

Name BESCHREIBUNG Wert
jvmOptionen JVM-Parameter Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Jar-Datei Schnur
Typ Typ der hochgeladenen Quelle "Jar" (erforderlich)

NetCoreZipUploadedUserSourceInfo

Name BESCHREIBUNG Wert
netCoreMainEntryPath Der Pfad zur .NET-ausführbaren Datei relativ zum Zip-Root Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der .Net-Datei Schnur
Typ Typ der hochgeladenen Quelle 'NetCoreZip' (erforderlich)

Sonde

Name BESCHREIBUNG Wert
disableProbe Gibt an, ob der Prüfpunkt deaktiviert ist. bool (erforderlich)
failureThreshold (Fehler) Mindestens aufeinander folgende Fehler für den Prüfpunkt, der nach erfolgreichem Erfolg als fehlgeschlagen betrachtet werden soll. Der Mindestwert ist 1. INT
initialDelaySeconds Die Anzahl von Sekunden, nachdem die App-Instanz gestartet wurde, bevor Probes initiiert werden. Weitere Informationen: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes INT
periodSekunden Wie oft (in Sekunden) die Probe ausgeführt werden soll. Der Mindestwert ist 1. INT
Prüfpunkt-Aktion Die Aktion des Sondes. ProbeAktion
successThreshold Mindestens aufeinander folgende Erfolge für die Sonde, die nach einem Fehler als erfolgreich angesehen werden sollen. Muss 1 für Lebendigkeit und Start sein. Der Mindestwert ist 1. INT
TimeoutSeconds Die Anzahl der Sekunden, nach denen der Sonde eine Zeitüberschreitung aufweist. Der Mindestwert ist 1. INT

ProbeAktion

Name BESCHREIBUNG Wert
Typ Legen Sie für den Typ ExecAction auf ' ExecAction' fest. Legen Sie für den Typ HttpGetAction-auf "HTTPGetAction" fest. Legen Sie für den Typ TCPSocketActionauf 'TCPSocketAction' fest. "Exekutivaktion"
'HTTPGetAktion'
'TCPSocketAction' (erforderlich)

ResourceRequests

Name BESCHREIBUNG Wert
CPU Erforderliche CPU. 1 Kern kann durch 1 oder 1000m dargestellt werden. Dies sollte 500m oder 1 für die Standardebene und {500m, 1, 2, 3, 4} für die Standardebene sein. Schnur
Gedächtnis Erforderlicher Arbeitsspeicher. 1 GB können durch 1Gi oder 1024Mi dargestellt werden. Dies sollte {512Mi, 1Gi, 2Gi} für die Standardebene und {512Mi, 1Gi, 2Gi, ..., 8Gi} für die Standardebene sein. Schnur

Sku

Name BESCHREIBUNG Wert
Kapazität Aktuelle Kapazität der Zielressource INT
Name Name der Sku Schnur
Ebene Ebene der Sku Schnur

SourceUploadedUserSourceInfo

Name BESCHREIBUNG Wert
artifactSelector Selektor für das Artefakt, das für die Bereitstellung für Multimodulprojekte verwendet werden soll. Dies sollte sein
der relative Pfad zum Zielmodul/Projekt.
Schnur
relativePath (relativer Pfad) Relativer Pfad des Speichers, der die Quelle speichert Schnur
runtimeVersion Laufzeitversion der Quelldatei Schnur
Typ Typ der hochgeladenen Quelle "Quelle" (erforderlich)

TCPSocketAktion

Name BESCHREIBUNG Wert
Typ Der Typ der auszuführenden Aktion, um die Integritätsprüfung auszuführen. 'TCPSocketAction' (erforderlich)

UserSourceInfo

Name BESCHREIBUNG Wert
Typ Legen Sie den Wert auf 'BuildResult' für den Typ BuildResultUserSourceInfo fest. Legen Sie für den Typ CustomContainerUserSourceInfo-auf "Container" fest. Auf 'Jar' für typ JarUploadedUserSourceInfofestgelegt. Legen Sie für den Typ NetCoreZipUploadedUserSourceInfoauf "NetCoreZipZip" fest. Legen Sie für den Typ "Source" SourceUploadedUserSourceInfoauf "Source" fest. 'Bauergebnis'
"Container"
"Jar"
'NetCoreZip'
"Quelle" (erforderlich)
Ausgabe Version der Quelle Schnur

Verwendungsbeispiele

Terraform-Beispiele

Ein grundlegendes Beispiel für die Bereitstellung von 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    = ["*"]
}