Ces exemples de code illustrent les ressources de machine vSphere dans les modèles de cloud Automation Assembler.
Ressource | Exemple de modèle de cloud |
---|---|
Propriétés personnalisées pour une machine virtuelle vSphere et une bibliothèque de contenu avec des propriétés personnalisées | formatVersion: 1 inputs: {} resources: Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: nimbus-mapping flavor: nimbus-flavor ovfProperties: - key: hostname value: ubuntuguest - key: instance-id value: test-id-ovf - key: password value: test-pwd - key: public-keys value: test-pk - key: seedfrom value: test-sf - key: user-data value: test-ud |
Machine virtuelle vSphere avec CPU, mémoire et système d'exploitation |
resources: demo-machine: type: Cloud.vSphere.Machine properties: name: demo-machine cpuCount: 1 totalMemoryMB: 1024 image: ubuntu |
Machine vSphere avec une ressource de banque de données |
resources: demo-vsphere-disk-001: type: Cloud.vSphere.Disk properties: name: DISK_001 type: 'HDD' capacityGb: 10 dataStore: 'datastore-01' provisioningType: thick |
Machine vSphere avec un disque attaché |
resources: demo-vsphere-disk-001: type: Cloud.vSphere.Disk properties: name: DISK_001 type: HDD capacityGb: 10 dataStore: 'datastore-01' provisioningType: thin demo-machine: type: Cloud.vSphere.Machine properties: name: demo-machine cpuCount: 2 totalMemoryMB: 2048 imageRef: >- https://packages.vmware.com/photon/4.0/Rev1/ova/photon-ova-4.0-ca7c9e9330.ova attachedDisks: - source: '${demo-vsphere-disk-001.id}' |
Machine vSphere disposant d'un nombre dynamique de disques |
inputs: disks: type: array title: disks items: title: disks type: integer maxItems: 15 resources: Cloud_Machine_1: type: Cloud.vSphere.Machine properties: image: Centos flavor: small attachedDisks: '${map_to_object(resource.Cloud_Volume_1[*].id, "source")}' Cloud_Volume_1: type: Cloud.Volume allocatePerInstance: true properties: capacityGb: '${input.disks[count.index]}' count: '${length(input.disks)}' |
Machine vSphere à partir d'une image de snapshot. Ajoutez une barre oblique et le nom du snapshot. L'image de snapshot peut être un clone lié. |
resources: demo-machine: type: Cloud.vSphere.Machine properties: imageRef: 'demo-machine/snapshot-01' cpuCount: 1 totalMemoryMB: 1024 |
Machine vSphere dans un dossier spécifique dans vCenter |
resources: demo-machine: type: Cloud.vSphere.Machine properties: name: demo-machine cpuCount: 2 totalMemoryMB: 1024 imageRef: ubuntu resourceGroupName: 'myFolder' |
Machine vSphere avec plusieurs cartes NIC |
resources: demo-machine: type: Cloud.vSphere.Machine properties: image: ubuntu flavor: small networks: - network: '${network-01.name}' deviceIndex: 0 - network: '${network-02.name}' deviceIndex: 1 network-01: type: Cloud.vSphere.Network properties: name: network-01 network-02: type: Cloud.vSphere.Network properties: name: network-02 |
Machine vSphere avec une balise attachée dans vCenter |
resources: demo-machine: type: Cloud.vSphere.Machine properties: flavor: small image: ubuntu tags: - key: env value: demo |
Machine vSphere avec spécification de personnalisation |
resources: demo-machine: type: Cloud.vSphere.Machine properties: name: demo-machine image: ubuntu flavor: small customizationSpec: Linux |
Machine vSphere avec accès à distance |
inputs: username: type: string title: Username description: Username default: testUser password: type: string title: Password default: VMware@123 encrypted: true description: Password for the given username resources: demo-machine: type: Cloud.vSphere.Machine properties: flavor: small imageRef: >- https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ubuntu-16.04-server-cloudimg-amd64.ova cloudConfig: | ssh_pwauth: yes chpasswd: list: | ${input.username}:${input.password} expire: false users: - default - name: ${input.username} lock_passwd: false sudo: ['ALL=(ALL) NOPASSWD:ALL'] groups: [wheel, sudo, admin] shell: '/bin/bash' runcmd: - echo "Defaults:${input.username} !requiretty" >> /etc/sudoers.d/${input.username} |