Como administrador de nuvem, você pode aproveitar o plug-in Google Cloud Platform (GCP) para provisionar buckets de armazenamento baseados em plug-ins à medida que cria sua infraestrutura. Você também pode usar auxiliares de alocação para fornecer lógica de alocação para seus buckets de armazenamento. O suporte para buckets de armazenamento baseados em plug-in inclui a criação de buckets de armazenamento multi-regionais/regionais, acesso público restrito e criptografia.

Para saber mais sobre plug-ins e alocação no VMware Aria Automation, consulte Designs e implantações baseados em plug-in no Automation Assembler

Propriedades do bucket de armazenamento

As propriedades a seguir são necessárias para recursos de bucket de armazenamento baseados em plug-in. Consulte a documentação REST do Google Cloud para obter uma lista completa das propriedades da instância. As propriedades de recursos na documentação do GCP são escritas em camelCase, em que, como propriedades de recursos no Automation Assembler são escritas em snake case.

Propriedade Descrição
name O nome do seu bucket de armazenamento. O nome associado ao bucket não pode ser alterado após a criação. Portanto, o nome deve ser exclusivo e legível pelo homem.

Consulte os Nomes do bucket na documentação do Google Cloud para obter os requisitos de nome do bucket.

account A conta de nuvem do GCP para regiões de conta nas quais sua equipe implanta modelos de nuvem.

Consulte Criar uma conta de nuvem do Google Cloud Platform no VMware Aria Automation para obter mais informações.

A seção a seguir contém alguns exemplos de modelos de nuvem para o provisionamento de buckets de armazenamento baseados em plug-in no Automation Assembler.

Provisionando buckets de armazenamento de região única

Você pode provisionar um bucket de armazenamento de região única codificando a região no modelo de nuvem, como mostra o exemplo a seguir.

formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test
      account: gcp-account
      location: us-central1

Opcionalmente, você pode usar a propriedade enum para criar uma lista de regiões para os usuários escolherem. Nesse exemplo, você também ativa o controle de versão para o bucket, usa rótulos de bucket e permite que os usuários escolham uma classe de armazenamento.

formatVersion: 1
inputs:
  region:
    type: string
    title: Region
    description: Google region
    # This enumeration is used to simplify the choosing of a region. You can just hardcode the region in the "region" section.
    enum:
      - europe-central2
      - europe-north1
      - europe-southwest1
      - europe-west1
      - europe-west2
      - europe-west3
      - europe-west4
      - europe-west6
      - europe-west8
      - europe-west9
      - europe-west12
  loc:
    type: string
    title: Location label
  bucket:
    type: string
    title: Bucket name
  storage_class:
    type: string
    title: Storage class
    enum:
      - STANDARD
      - NEARLINE
      - COLDLINE
      - ARCHIVE
  versioning:
    type: string
    title: Enable versioning
    enum:
      - 'Yes'
      - 'No'
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    properties:
      name: ${input.bucket}
      account: gcp-account
      labels:
        location: ${input.loc}
      location: ${input.region}
      storage_class: ${input.storage_class}
      versioning:
        enabled: ${input.versioning=="Yes"?true:false}

Provisionando buckets de armazenamento de região dupla

O exemplo de modelo de nuvem a seguir mostra como você pode criar um bucket de armazenamento de duas regiões. Para usar esse modelo, conclua as seguintes etapas:
  1. Crie uma conta de nuvem do GCP com pelo menos duas zonas de nuvem que correspondam às regiões em que o bucket será implantado. Nesse exemplo, as zonas são europe-central2 e europe-north1.
  2. Crie um novo projeto e adicione as zonas de nuvem.
  3. Marque as zonas usando tags de recurso. Nesse exemplo, as tags são location:eu1 para europe-central2 e location:eu2 para europe-north1.
  4. Implante o blueprint.
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 1
    properties:
      name: bucket-dual-region-idem
      account: ${resource.Allocations_Compute_1.selectedCloudAccount.name}
      labels:
        a: b
        c: d
      custom_placement_config:
        data_locations: ${[resource.Allocations_Compute_1.selectedRegion.name, resource.Allocations_Compute_2.selectedRegion.name]}
      location: EU
  Allocations_Compute_1:
    type: Allocations.Compute
    metadata:
      layoutPosition:
        - 1
        - 0
    properties:
      groupId: 1
      constraints:
        - tag: location:eu1
  Allocations_Compute_2:
    type: Allocations.Compute
    metadata:
      layoutPosition:
        - 1
        - 2
    properties:
      groupId: 2
      constraints:
        - tag: location:eu2
Observação: Se você precisar remover um rótulo de bucket, altere o valor do rótulo para null e implante novamente o modelo. Você pode verificar se o rótulo foi removido no Google Cloud Console.

Provisionando buckets de armazenamento de várias regiões

O exemplo de modelo de nuvem a seguir mostra como você pode criar um bucket de armazenamento de várias regiões. Por padrão, os buckets são de várias regiões e incluem regiões na localização dos EUA.
formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test-1
      account: gcp-account
O exemplo de modelo de nuvem a seguir mostra como você pode criar um bucket de armazenamento de várias regiões com criptografia.
formatVersion: 1
inputs: {}
resources:
  Idem_GCP_STORAGE_BUCKET_1:
    type: Idem.GCP.STORAGE.BUCKET
    metadata:
      layoutPosition:
        - 0
        - 0
    properties:
      name: bucket-test-0
      account: gcp-account
      labels:
        a: b
        c: d
      encryption:
        default_kms_key_name: projects/gcp-account/locations/us/keyRings/gcp-test-1/cryptoKeys/key-2
Se quiser criar buckets de armazenamento com acesso público restrito e criptografados pela CMEK, existem alguns pré-requisitos, conforme descrito no seguinte link: https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys.
Observação: A chave de criptografia gerenciada pelo cliente deve estar localizada na mesma região que o bucket de armazenamento.