2015-12-15 2 views
0

Я хочу создать экземпляр Google Compute Engine с помощью api Python. В частности, я хочу, чтобы исходное изображение было Ubuntu 14.04.Создать экземпляр GCE с использованием API Python

В док, написано указать тело JSon запроса следующим образом:

{ 
    "name": "example-instance", 
    "machineType": "zones/us-central1-f/machineTypes/f1-micro" 
    "networkInterfaces": [{ 
    "accessConfigs": [{ 
     "type": "ONE_TO_ONE_NAT", 
     "name": "External NAT" 
    }], 
    "network": "global/networks/default" 
    }], 
    "disks": [{ 
    "autoDelete": "true", 
    "boot": "true", 
    "type": "PERSISTENT", 
    "initializeParams": { 
     "sourceImage": "projects/debian-cloud/global/images/v20150818" 
    } 
    }] 
} 

Как я могу изменить значение параметра sourceImage так, что он указывает на Ubuntu 14.04 изображения? Действительно, синтаксис «projects/debian-cloud/global/images/v20150818» слишком специфичен, чтобы понять, как использовать его для других общедоступных образов.

ответ

1

Я предполагаю, что вы имеете в виду these docs (source code), которые используют следующий формат URL:

"projects/debian-cloud/global/images/debian-7-wheezy-v20150320" 

Узор здесь:

"projects/${PROJECT}/global/images/${IMAGE}" 

Вы можете найти доступные изображения с помощью:

$ gcloud compute images list 

, который покажет вам выход, аналогичный f ollowing:

NAME        PROJECT   ALIAS    DEPRECATED STATUS 
centos-6-v20151104     centos-cloud  centos-6      READY 
centos-7-v20151104     centos-cloud  centos-7      READY 
coreos-alpha-891-0-0-v20151211  coreos-cloud          READY 
coreos-beta-877-1-0-v20151202  coreos-cloud          READY 
coreos-stable-835-9-0-v20151208  coreos-cloud  coreos      READY 
backports-debian-7-wheezy-v20151104 debian-cloud  debian-7-backports   READY 
debian-7-wheezy-v20151104   debian-cloud  debian-7      READY 
debian-8-jessie-v20151104   debian-cloud  debian-8      READY 
container-vm-v20151103    google-containers container-vm     READY 
opensuse-13-1-v20150822    opensuse-cloud  opensuse-13     READY 
opensuse-13-2-v20150511    opensuse-cloud  opensuse-13     READY 
opensuse-leap-42-1-v20151124  opensuse-cloud         READY 
rhel-6-v20151104     rhel-cloud   rhel-6      READY 
rhel-7-v20151104     rhel-cloud   rhel-7      READY 
sles-11-sp4-v20150714    suse-cloud   sles-11      READY 
sles-12-sp1-v20151215    suse-cloud   sles-12      READY 
ubuntu-1204-precise-v20151119  ubuntu-os-cloud ubuntu-12-04     READY 
ubuntu-1404-trusty-v20151113  ubuntu-os-cloud ubuntu-14-04     READY 
ubuntu-1504-vivid-v20151120   ubuntu-os-cloud ubuntu-15-04     READY 
ubuntu-1510-wily-v20151114   ubuntu-os-cloud         READY 
windows-server-2008-r2-dc-v20151006 windows-cloud  windows-2008-r2    READY 
windows-server-2012-r2-dc-v20151006 windows-cloud  windows-2012-r2    READY 

Таким образом, в случае Ubuntu 14.04, образ пути будет:

"projects/ubuntu-os-cloud/global/images/ubuntu-1404-trusty-v20151113" 

Вы также можете узнать больше метаданных об изображении через:

$ gcloud compute images describe --project ubuntu-os-cloud ubuntu-1404-trusty-20151113 

и атрибут selfLink на выходе предоставит полный URL-адрес изображения.