En tant qu'administrateur de cloud, vous pouvez créer et gérer des snapshots basés sur un plug-in de disques Google Cloud Platform (GCP) dans Automation Assembler.

Si vous devez créer une sauvegarde d'un disque, vous pouvez utiliser la ressource Snapshot dans vos modèles de cloud. Vous pouvez attacher la ressource Snapshot à n'importe quel type de disque. Vous pouvez également créer une instance ou un disque à l'aide d'un snapshot. Une fois le snapshot créé, vous pouvez vous connecter à votre console Google Cloud pour voir le snapshot.

La section suivante contient des exemples de modèles de cloud pour l'utilisation de snapshots.

Création d'un snapshot d'un disque de démarrage

Le modèle de cloud suivant montre comment vous pouvez prendre un snapshot d'un disque de démarrage attaché à une instance. Dans cet exemple, vous utilisez une aide pour le calcul, une aide pour le réseau, une aide pour l'image et une aide pour le type.
formatVersion: 1
inputs: {}
resources:
  Allocations_Image_1:
    type: Allocations.Image
    properties:
      image: ubuntu
  Allocations_Network_1:
    type: Allocations.Network
    properties:
      networkType: existing
  Allocations_Compute_1:
    type: Allocations.Compute
    properties:
      accountType: gcp
  Allocations_Flavor_1:
    type: Allocations.Flavor
    properties:
      flavor: small
  mysql:
    type: Idem.GCP.COMPUTE.INSTANCE
    properties:
      name: mysql
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      project: ${resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project}
      network_interfaces:
        - name: nic0
          stack_type: IPV4_ONLY
          subnetwork: ${'/projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/regions/' + resource.Allocations_Compute_1.selectedRegion.id + '/subnetworks/' + resource.Allocations_Network_1.selectedSubnet.name}
      disks:
        - device_name: ${resource.mysql-boot-disk.name}
          source: ${resource.mysql-boot-disk.resource_id}
          boot: true
        - boot: false
          device_name: ${resource.mssql-attached-disk.name}
          source: ${resource.mssql-attached-disk.resource_id}
      machine_type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName}
  mssql-attached-disk:
    type: Idem.GCP.COMPUTE.DISK
    properties:
      name: attached-disk
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      size_gb: 1
      project: ${resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project}
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.name}
      type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-extreme'}
  mysql-boot-disk:
    type: Idem.GCP.COMPUTE.DISK
    properties:
      name: mysql-boot-disk
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      size_gb: 12
      project: ${resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project}
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.name}
      type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/diskTypes/pd-balanced'}
  mysql-disk-snapshot:
    type: Idem.GCP.COMPUTE.SNAPSHOT
    dependsOn: ''
    properties:
      name: mysql-boot-disk-snapshot
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      source_disk: ${resource.mysql-boot-disk.resource_id}

Vous utilisez des liaisons pour transmettre le resource_id de mysql-boot-disk à la ressource Snapshot.

Création d’une instance à partir d’un snapshot

Le modèle de cloud suivant montre comment créer une instance à partir d'un snapshot. Dans cet exemple, vous utilisez également une aide pour le calcul, une aide pour l'image, une aide pour le réseau et une aide pour le type.
atVersion: 1
inputs:
  disk-snapshot-Id:
    type: string
    title: Disk Snapshot Link id
resources:
  Allocations_Image_1:
    type: Allocations.Image
    properties:
      image: ubuntu
  Allocations_Network_1:
    type: Allocations.Network
    properties:
      networkType: existing
  Allocations_Compute_1:
    type: Allocations.Compute
    properties:
      accountType: gcp
  Allocations_Flavor_1:
    type: Allocations.Flavor
    properties:
      flavor: small
  mysql:
    type: Idem.GCP.COMPUTE.INSTANCE
    properties:
      name: mysql-from-snapshot
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      project: ${resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project}
      network_interfaces:
        - name: nic0
          stack_type: IPV4_ONLY
          subnetwork: ${'/projects/' + resource.Allocations_Compute_1.selectedCloudAccount.additionalProperties.gcp.project + '/regions/' + resource.Allocations_Compute_1.selectedRegion.id + '/subnetworks/' + resource.Allocations_Network_1.selectedSubnet.name}
      disks:
        - device_name: ${resource.restored-disk.name}
          source: ${resource.restored-disk.resource_id}
          boot: true
      machine_type: ${'/projects/' + resource.Allocations_Flavor_1.selectedCloudAccount.additionalProperties.gcp.project + '/zones/' + resource.Allocations_Compute_1.selectedPlacementCompute.id + '/machineTypes/' + resource.Allocations_Flavor_1.selectedInstanceTypeName}
  restored-disk:
    type: Idem.GCP.COMPUTE.DISK
    properties:
      name: restored
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      disk_name: restored-boot
      zone: ${resource.Allocations_Compute_1.selectedPlacementCompute.id}
      source_snapshot: ${input.disk-snapshot-Id}
      boot: true

Vous utilisez des paramètres d'entrée pour permettre aux utilisateurs d'entrer le snapshot-Id du snapshot qu'ils souhaitent utiliser pour le disque de démarrage.