Gcloud compute api createVM 未创建 public ip

Gcloud compute api createVM not creating public ip

我使用"@google-cloud/compute": "^2.1.0"创建了一个虚拟机,我设置'ONE_TO_ONE_NAT'如下图。

问题是 VM 不是使用 public IP 创建的。

如果我在配置中添加 http:true,则会创建 public IP,但我想避免在配置中使用 http 标记。

对我来说,它看起来像一个错误,因为它应该根据 documentation

知道为什么它不起作用吗? (除了一个错误)

   const config = {
      //http: true,
      machineType: machineType,
      disks: [
        {
          boot: true,
          initializeParams: {
            sourceImage: SOURCE_IMAGE_PREFIX + projectId + SOURCE_IMAGE_PATH,
          },
        },
      ],
      networkInterfaces: [
        {
          network: 'global/networks/default',
          accessConfigs: {
            type: 'ONE_TO_ONE_NAT',
            name: 'External NAT',
          },
        },
      ],
      metadata: {
        items: [
          {
            key: 'startup-script',
            value: `#! /bin/bash
                sudo docker run ...
          },
        ],
      }
    };

一个空的 access_config 块会为您的实例分配一个外部临时 IP。

network_interface {
    network = "default"
    access_config {}
}

只是一个错误,花了很多时间才找到!!!

accessConfigs是数组!!添加[],像这样

          accessConfigs: [{
            type: 'ONE_TO_ONE_NAT',
            name: 'External NAT',
          }],