Nach der Versionierung Ihrer Cloud-Vorlage können Sie den formatVersion-Wert in Ihrer YAML ändern, um zusätzliche Bereitstellungsfunktionen zu unterstützen.
Die formatVersion wird oben in Ihrer YAML angezeigt und ihr Wert bestimmt, was Sie in Ihrer VMware Cloud-Vorlage angeben können.
formatVersion: 1
enthält Vorlagenspezifikationen fürinputs
undresources
. Sie gilt automatisch für alle Cloud-Basisvorlagen.Weitere Informationen zu einer Basisvorlage finden Sie unter Neueinstellbare Cloud-Vorlage.
-
formatVersion: 2
fügt Vorlagenspezifikationen fürmetadata
,variables
undoutputs
hinzu. Sie gilt automatisch für die Cloud-Vorlagen für KI-Workstation- und KI-Kubernetes-Cluster, die mithilfe von Private AI Automation Services bereitgestellt werden, unterstützt jedoch jede Art von Bereitstellung.Informationen zum Bereitstellen von KI-Workstation- und KI-Kubernetes-Clustern finden Sie unter Vorgehensweise zum Bereitstellen von Private AI-Katalogelementen.
Als Cloud-Vorlagenadministrator können Sie die in formatVersion: 2
enthaltenen Spezifikationen verwenden, um den Zugriff auf Bereitstellungen für Ihre Benutzer zu erleichtern. In den folgenden Codebeispielen werden Beispiele für die Verwendung der formatVersion: 2
-Vorlagenspezifikationen in Ihrer YAML aufgeführt.
Wie verwende ich die Spezifikation der Metadatenvorlage?
metadata: deploymentSettings: disableUpdateDay2Action: true hideDisabledDay2Actions: true
- Wenn disableUpdateDay2Action wahr ist, wird den Benutzern der Tag-2-Vorgang Update im Menü „Aktionen“ nicht angezeigt. Wenn der Benutzer nicht über die Berechtigung zum Aktualisieren verfügt, wird die Option als nicht verfügbar (abgeblendet) angezeigt.
- Wenn hideDisabledDay2Actions wahr ist, werden Tag-2-Vorgänge, die für den Benutzer deaktiviert wurden, nicht im Menü „Aktionen“ angezeigt.
Die Tag-2-Aktionen Update und Projekt ändern sind im folgenden Beispiel ausgeblendet.
Wie verwende ich die Spezifikation der Variablenvorlage?
variables: applications: - name: App1 port: 3000 showAppInfo: true - name: App2 port: 4000 showAppInfo: false
Wie verwende ich die Ausgaben der Variablenvorlage?
Verwenden Sie outputs, um die Bereitstellungsinformationen zu definieren, die Sie Ihrem Benutzer zur Verfügung stellen möchten. Mit Ausnahme der __deploymentOverview-Werte, die auf der Registerkarte Übersicht für die Bereitstellung angezeigt werden, werden alle Ausgaben auf der Seite „Bereitstellungsdetails“ unter Benutzerereignisse angezeigt.
- variables, die in der Variablenvorlagenspezifikation definiert sind
- resources, die in einem Ressourcenabschnitt definiert und im folgenden Codebeispiel enthalten sind
- __deploymentOverview, die im Markdown-Format geschrieben wurde
outputs: secret1name: value: ${resource.secret-data1.object.metadata.name} secret2name: value: ${resource.secret-data2.object.metadata.name} __deploymentOverview: value: | ### Deployment details %{if starts_with(resource.CCI_Supervisor_Namespace_1.name, 'dummy')} This is a dummy namespace with name ${resource.CCI_Supervisor_Namespace_1.name} %{else} This is a real namespace with name ${resource.CCI_Supervisor_Namespace_1.name} %{endif} %{for app in variable.applications} ##### App details %{if app.showAppInfo} App name - ${app.name}, App port - ${app.port} %{else} App info is hidden because showAppInfo is ${app.showAppInfo} %{endif} %{endfor} #### Handle bars bindings. The below values will update dynamically if the values change. Note that we use '\{\{' to indicate handle bars expressions secret 1 resource version - {{resource.secret-data1.object.metadata.resourceVersion}} resources: CCI_Supervisor_Namespace_1: type: CCI.Supervisor.Namespace properties: name: ${input.namespaceName} regionName: private-ai-foundation-dsdunnjz className: vpaif-quickstart-3 secret-data1: type: CCI.Supervisor.Resource properties: context: ${resource.CCI_Supervisor_Namespace_1.id} manifest: apiVersion: v1 kind: Secret metadata: name: nvaie-apikey type: Opaque stringData: username: $oauthtoken password: ${input.ngcPortalAccessKey} secret-data2: type: CCI.Supervisor.Resource properties: context: ${resource.CCI_Supervisor_Namespace_1.id} manifest: apiVersion: v1 kind: Secret metadata: name: nvaie-apikey1 type: Opaque stringData: username: $oauthtoken password: ${input.ngcPortalAccessKey}
- Das if-Konstrukt ist ein bedingter Ausdruck, der auf booleschen Eingaben basiert.
%{if starts_with(resource.CCI_Supervisor_Namespace_1.name, 'dummy')} This is a dummy namespace with name ${resource.CCI_Supervisor_Namespace_1.name} %{else} This is a real namespace with name ${resource.CCI_Supervisor_Namespace_1.name} %{endif}
- Die for-Schleife ermöglicht das Durchlaufen von Arrays. Für jede im Array aufgeführte app werden if-Bedingungen ausgewertet und Variablenwerte zugewiesen und als Ausgabe angezeigt.
%{for app in variable.applications} ##### App details %{if app.showAppInfo} App name - ${app.name}, App port - ${app.port} %{else} App info is hidden because showAppInfo is ${app.showAppInfo} %{endif} %{endfor}
- Im Handlebars-Ausdruck werden Variablenbindungen dynamisch aktualisiert, wenn sich die tatsächlichen Werte ändern. Die Variable ist in doppelt geschweiften Klammern {{}} eingeschlossen, und in diesem Beispiel ist der Ausdruck ein durch Punkte getrennter Pfad.
secret 1 name - {{resource.secret-data1.object.metadata.resourceVersion}}
Wo werden Vorlagenspezifikationen in der Benutzeroberfläche angezeigt?
- __deploymentOverview ist eine spezielle Art der Ausgabe, die in der Übersicht der Bereitstellung angezeigt wird.
- Alle anderen Ausgaben wie secret1name und secret2name werden in der Bereitstellung auf der Registerkarte Benutzerereignisse angezeigt.