Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como explorar scripts auxiliares

Scripts auxiliares ou módulos de modelos são arquivos auxiliares que podem tornar seus modelos mais eficientes por meio da execução de funções específicas. Por exemplo, é possível usar scripts auxiliares para interpretar metadados de recursos, criar arquivos e iniciar serviços.

Agora, você vai explorar um script auxiliar Python que nomeia uma máquina virtual, fornecendo um prefixo e um sufixo.

Antes de começar

Como abrir o script auxiliar

O script auxiliar básico neste exemplo gera o nome de uma máquina virtual (VM). Para ver o script, execute estes comandos:

cd deploymentmanager-samples/examples/v2/step_by_step_guide/create_a_helper_script

nano common.py  # use your preferred text editor

A função GenerateMachineName() recebe um prefixo e um sufixo e gera um nome no formato prefix-suffix:

"""Generates name of a VM."""

def GenerateMachineName(prefix, suffix):
  return prefix + "-" + suffix

Como usar o script auxiliar no modelo

Para usar common.py em vm-template.py, várias alterações precisam ser feitas no modelo.

Para ver as alterações, abra vm-template.py:

nano vm-template.py

O modelo contém comentários de código que destacam as alterações.

Observe que o modelo importa common.py na parte superior do arquivo. Na seção resources, os campos name para as VMs agora chamam GenerateMachineName().

"""Creates the virtual machine."""

# `common.py` is imported below.
import common

COMPUTE_URL_BASE = 'https://www.googleapis.com/compute/v1/'

def GenerateConfig(context):
  """Generates configuration of a VM."""
  resources = [{
      'name': common.GenerateMachineName('myfrontend', 'prod'),
      'type': 'compute.v1.instance',
      'properties': {
          'zone': 'us-central1-f',
          'machineType': COMPUTE_URL_BASE + 'projects/' + context.env['project']
                         + '/zones/us-central1-f/machineTypes/f1-micro',
          'disks': [{
              'deviceName': 'boot',
              'type': 'PERSISTENT',
              'boot': True,
              'autoDelete': True,
              'initializeParams': {
                  'sourceImage': COMPUTE_URL_BASE + 'projects/'
                                 'debian-cloud/global/images/family/debian-9'}
          }],
          'networkInterfaces': [{
              'network': COMPUTE_URL_BASE + 'projects/' + context.env['project']
                         + '/global/networks/default',
              'accessConfigs': [{
                  'name': 'External NAT',
                  'type': 'ONE_TO_ONE_NAT'
              }]
          }]
      }
  }]
  return {'resources': resources}

Como visualizar as alterações na configuração

Para ver a configuração atualizada, abra two-vms.yaml:

nano two-vms.yaml

Observe que o script auxiliar common.py também precisa ser importado na configuração.

Implante a configuração.

gcloud deployment-manager deployments create deployment-with-helper-script --config two-vms.yaml

Para ver a implantação, incluindo os recursos com os nomes gerados, execute:

 gcloud deployment-manager deployments describe deployment-with-helper-script

Como excluir a implantação

Recomendamos que você exclua a implantação para evitar cobranças. Você não precisa desta implantação para a próxima etapa. Execute o seguinte comando para excluir a implantação:

gcloud deployment-manager deployments delete deployment-with-helper-script

Pensando no futuro: como atualizar implantações

Em seguida, aprenda a adicionar, excluir e alterar as propriedades de recursos em uma implantação à medida que seu aplicativo evolui.