L'amministratore del cloud può creare e gestire snapshot basati su plug-in dei dischi Google Cloud Platform (GCP) in Automation Assembler.

Se è necessario creare un backup di un disco, è possibile utilizzare la risorsa Snapshot nei modelli cloud. È possibile collegare la risorsa Snapshot a qualsiasi tipo di disco. È inoltre possibile creare una nuova istanza o un nuovo disco utilizzando uno snapshot. Dopo aver creato lo snapshot, è possibile accedere alla console Google Cloud per visualizzare lo snapshot.

La sezione seguente contiene alcuni modelli cloud di esempio per l'utilizzo di snapshot.

Creazione di uno snapshot di un disco di avvio

Il modello cloud seguente illustra come creare uno snapshot di un disco di avvio collegato a un'istanza. In questo esempio, viene utilizzato un helper di elaborazione, un helper di rete, un helper di immagini e un helper di caratteristiche.
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}

I binding vengono utilizzati per passare resource_id di mysql-boot-disk alla risorsa Snapshot.

Creazione di una nuova istanza da uno snapshot

Il modello cloud seguente illustra come creare una nuova istanza da uno snapshot. In questo esempio, vengono inoltre utilizzati un helper di elaborazione, un helper di immagini, un helper di rete e un helper di caratteristiche.
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

È possibile utilizzare i parametri di input per consentire agli utenti di immettere il valore snapshot-Id dello snapshot da utilizzare per il disco di avvio.