Nadat u versies van uw cloudsjabloon heeft gemaakt, kunt u de waarde formatVersion in uw YAML wijzigen om aanvullende implementatiefuncties te ondersteunen.
De formatVersion wordt bovenaan uw YAML weergegeven en de waarde ervan bepaalt wat u kunt opgeven in uw VMware-cloudsjabloon.
formatVersion: 1bevat sjabloonspecificaties voorinputsenresources. Deze is automatisch van toepassing op alle basiscloudsjablonen.Zie Weer te geven cloudsjabloon voor meer informatie over een basissjabloon.
-
formatVersion: 2voegt sjabloonspecificaties toe voormetadata,variablesenoutputs. Deze is automatisch van toepassing op de cloudsjablonen voor AI Workstation- en AI Kubernetes-clusters die worden geïmplementeerd met Private AI Automation Services, maar ondersteunt elke vorm van implementatie.Zie Hoe implementeer ik privé-AI-catalogusitems voor informatie over het implementeren van AI-workstation en AI Kubernetes-clusters.
Als cloudsjabloonbeheerder kunt u de specificaties van formatVersion: 2 gebruiken om implementaties toegankelijker te maken voor uw gebruikers. De volgende codevoorbeelden zijn ingekort om voorbeelden te tonen van hoe u de formatVersion: 2-sjabloonspecificaties in uw YAML kunt gebruiken.
Hoe gebruik ik de sjabloonspecificatie van de metagegevens
metatdata:
deploymentSettings:
disableUpdateDay2Action: true
hideDisabledDay2Actions: true
- Wanneer disableUpdate2Action waar is, zien gebruikers de bewerking Bijwerken voor dag 2 niet in het menu Acties. Als de gebruiker geen rechten heeft om een update uit te voeren, is de optie niet beschikbaar (grijs).
- Wanneer hideDisabledDay2Actions waar is, wordt elke bewerking voor dag 2 die voor de gebruiker is gedeactiveerd, niet weergegeven in het menu Acties.
De acties Bijwerken en Project wijzigen voor dag 2 zijn in het volgende voorbeeld verborgen.

Hoe gebruik ik de sjabloonspecificatie voor variabelen
variables:
applications:
- name: App1
port: 3000
showAppInfo: true
- name: App2
port: 4000
showAppInfo: false
Hoe gebruik ik de sjabloonspecificatie voor uitvoer
Gebruik outputs om de implementatiegegevens te definiëren die u beschikbaar wilt maken voor uw gebruiker. Alle uitvoer wordt weergegeven op de pagina met implementatiedetails onder Gebruikersgebeurtenissen, met uitzondering van de waarden voor __deploymentOverview die worden weergegeven onder het Overzicht van de implementatie.
- variables gedefinieerd in de sjabloonspecificatie voor variabelen
- resources gedefinieerd in een sectie met resources en opgenomen in het volgende codevoorbeeld
- __deploymentOverview geschreven in Markdown
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}
- De construct if is een voorwaardelijke expressie die is gebaseerd op booleaanse invoer.
%{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} - Met de lus for kunt u dit herhalen in arrays. Voor elke app die in de array wordt weergegeven, worden de voorwaarden met if geëvalueerd en worden variabelewaarden toegewezen en weergegeven als uitvoer.
%{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} - In de handlebars-expressie worden variabelebindingen dynamisch bijgewerkt wanneer de werkelijke waarden worden gewijzigd. De variabele is ingesloten tussen dubbele accolades {{}} en in dit voorbeeld is de expressie een pad met de punt als scheidingsteken.
secret 1 name - {{resource.secret-data1.object.metadata.resourceVersion}}
Waar worden sjabloonspecificaties weergegeven in de gebruikersinterface
- __deploymentOverview is een speciaal type uitvoer dat wordt weergegeven in het Overzicht van de implementatie.

- Alle andere uitvoer, zoals secret1name en secret2name, wordt in de implementatie weergegeven onder het tabblad Gebruikersgebeurtenissen.
