Your Cloud Assembly template code can attach an existing, deployed disk to a newly created machine.
Use the following cloud template code example as a guideline.
formatVersion: 1 inputs: disk: type: string $data: /data/availableDisks?resourceType=Cloud.Volume resources: Cloud_Machine_1: type: Cloud.Machine properties: image: ubuntu flavor: small attachedDisks: - source: ${input.disk}
The highlighted line is an API call that lists the disks that are available for attachment, disks unattached to any machine.
The resourceType parameter lets Cloud Assembly list available disks by cloud account type.
Cloud.Volume | Disks on any cloud that you have added |
Cloud.vSphere.Disk | Only vSphere disks |
Cloud.AWS.Volume | Only Amazon Web Services (AWS) disks |
Cloud.Azure.Disk | Only Microsoft Azure disks |
Cloud.GCP.Disk | Only Google Cloud Platform (GCP) disks |
When using this feature, there's no design canvas component for the existing disk that you attach. Even though there's no component on the design canvas, the attached disk appears under the storage section of the deployed machine, and under the Resources tab.