blob: 1f21b2d3adacb0f9dac27c1f32ea357581faf66e [file] [log] [blame] [edit]
{
"Name": "read-cos-env",
"Sources": {
"cloud-config": "read_cos_env.yaml"
},
"Vars": {
"disk_size_gb": {
"Value": "",
"Description": "The disk size to use."
},
"disk_type": {
"Value": "pd-standard",
"Description": "The disk type to use."
},
"host_maintenance": {
"Value": "MIGRATE",
"Description": "VM behavior when there is maintenance."
},
"machine_type": {
"Value": "",
"Required": true,
"Description": "Machine type to boot COS image on."
},
"network": {
"Value": "",
"Description": "Network to use."
},
"service_account": {
"Value": "default",
"Description": "Service account to use."
},
"source_image": {
"Value": "",
"Required": true,
"Description": "COS image to read environment from"
},
"subnet": {
"Value": "",
"Description": "Subnetwork to use."
}
},
"Steps": {
"setup": {
"CreateDisks": [
{
"name": "boot-disk",
"sourceImage": "${source_image}"
}
]
},
"run": {
"CreateInstances": [
{
"Scopes": [
"https://www.googleapis.com/auth/devstorage.read_write",
"https://www.googleapis.com/auth/cloud-platform"
],
"disks": [
{
"source": "boot-disk"
}
],
"labels": {
"cos-customizer-cleanup": ""
},
"machineType": "${machine_type}",
"name": "read-cos-env-vm",
"networkInterfaces": [
{
"network": "${network}",
"subnetwork": "${subnet}"
}
],
"scheduling": {
"onHostMaintenance": "${host_maintenance}"
},
"serviceAccounts": [
{
"email": "${service_account}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/devstorage.read_write"
]
}
],
"metadata": {
"user-data": "${SOURCE:cloud-config}"
}
}
]
},
"wait-vm-finished": {
"WaitForInstancesSignal": [
{
"Name": "read-cos-env-vm",
"Interval": "5s",
"SerialOutput": {
"Port": 3,
"SuccessMatch": "EnvSucceeded:",
"failureMatch": [
"EnvFailed:"
],
"StatusMatch": "EnvStatus:"
}
}
]
},
"wait-vm-shutdown": {
"WaitForInstancesSignal": [
{
"Name": "read-cos-env-vm",
"Interval": "2s",
"Stopped": true
}
]
}
},
"Dependencies": {
"run": [
"setup"
],
"wait-vm-finished": [
"run"
],
"wait-vm-shutdown": [
"wait-vm-finished"
]
},
"ForceCleanupOnError": true
}