Connettore per Compute Engine
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Connettore Workflows che definisce la funzione integrata utilizzata per accedere a Compute Engine all'interno di un workflow.
Per saperne di più
Per la documentazione dettagliata che include questo esempio di codice, vedi quanto segue:
Esempio di codice
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],[],[],[],null,["# Connector for Compute Engine\n\nWorkflows connector that defines the built-in function used to access Compute Engine within a workflow.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Compute Engine API Connector Overview](/workflows/docs/reference/googleapis/compute/Overview)\n\nCode sample\n-----------\n\n### YAML\n\n # This workflow demonstrates how to use the Compute Engine connector:\n # Create and start a Compute Engine VM instance, then stop and delete the VM\n # Each step waits until the long-running operation of stopping or starting the VM completes\n # After each step, the machine status is verified\n # Expected output: \"SUCCESS\"\n main:\n params: []\n steps:\n - init:\n assign:\n - project: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n - zone: \"us-central1-a\"\n - instance: \"INSTANCE_NAME\" # replace INSTANCE_NAME placeholder\n - machineType: \"e2-micro\"\n - insert_machine:\n call: googleapis.compute.v1.instances.insert\n args:\n project: ${project}\n zone: ${zone}\n body:\n name: ${instance}\n machineType: ${\"zones/\" + zone + \"/machineTypes/\" + machineType}\n disks:\n - initializeParams:\n sourceImage: \"projects/debian-cloud/global/images/debian-10-buster-v20201112\"\n boot: true\n autoDelete: true\n networkInterfaces:\n - network: \"global/networks/default\"\n - start_machine:\n call: googleapis.compute.v1.instances.start\n args:\n instance: ${instance}\n project: ${project}\n zone: ${zone}\n - assert_running:\n call: assert_machine_status\n args:\n expected_status: \"RUNNING\"\n project: ${project}\n zone: ${zone}\n instance: ${instance}\n - stop_machine:\n call: googleapis.compute.v1.instances.stop\n args:\n instance: ${instance}\n project: ${project}\n zone: ${zone}\n - assert_terminated:\n call: assert_machine_status\n args:\n expected_status: \"TERMINATED\"\n project: ${project}\n zone: ${zone}\n instance: ${instance}\n - delete_machine:\n call: googleapis.compute.v1.instances.delete\n args:\n instance: ${instance}\n project: ${project}\n zone: ${zone}\n - the_end:\n return: \"SUCCESS\"\n\n assert_machine_status:\n params: [expected_status, project, zone, instance]\n steps:\n - get_instance:\n call: googleapis.compute.v1.instances.get\n args:\n instance: ${instance}\n project: ${project}\n zone: ${zone}\n result: instance\n - compare:\n switch:\n - condition: ${instance.status == expected_status}\n next: end\n - fail:\n raise: ${\"Expected VM status is \" + expected_status + \". Received \" + instance.status + \" instead.\"}\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]