Как назначить serviceAccount с помощью gcloud compute nodejs client? - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь создать новую виртуальную машину с помощью клиента gcloud compute nodejs:

const Compute = require('@google-cloud/compute');
const compute = new Compute();

async function createVM() {
  try {
    const zone = await compute.zone('us-central1-a');
    const config = {
      os: 'ubuntu',
      http: true,
      https: true,
      metadata: {
        items: [
          {
            key: 'startup-script-url',
            value: 'gs://<path_to_startup_script>/startup_script.sh'
          },
        ],
      },
    };
    const data = await zone.createVM('vm-9', config);
    const operation = data[1];
    await operation.promise();
    return console.log(' VM Created');
  } catch (err) {
    console.error(err);
    return Promise.reject(err);
  }
}

У меня есть учетная запись service с учетной записью, необходимой для этой виртуальной машины для вызова других ресурсов, но я не могу понять, какгде назначить serviceAccount при создании новой виртуальной машины. Любые указатели очень ценятся, я не смог найти никакой документации и застрял.

1 Ответ

3 голосов
/ 03 ноября 2019

Вы можете указать учетную запись службы для использования в новой виртуальной машине, добавив поле serviceAccounts в параметрах конфигурации, переданных в createVM. Вот пример фрагмента:

zone.createVM('name', {
  serviceAccounts: [
    {
      email: '...',
      scopes: [
        '...'
      ]
    }
  ]
})

Ссылка:

...