apiVersion:virtualmachine.gdc.goog/v1kind:VirtualMachineImageImportmetadata:name:VM_IMAGE_IMPORT_NAME# Name of the VM image you want to import.spec:source:diskRef:name:DISK_NAME# Name of the source disk that you will use to create your image.imageMetadata:name:IMAGE_NAME# Name of your created VM image.operatingSystem:OS_NAME# Name of the image OS.minimumDiskSize:MINIMUM_DISK_SIZE# Disk size in the VM image. It must be greater than or equal to the source disk size. An example value is 20G.
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-04。"],[[["\u003cp\u003eThe Virtual Machine Manager (VMM) in Google Distributed Cloud (GDC) air-gapped uses Kubernetes Resource Model (KRM) APIs for managing virtual machine (VM) operations and their lifecycle.\u003c/p\u003e\n"],["\u003cp\u003eVMM APIs are accessed using the \u003ccode\u003ekubectl\u003c/code\u003e CLI tool, with distinct packages for zonal and global deployments.\u003c/p\u003e\n"],["\u003cp\u003eThe API endpoints for zonal and global VMM are located at \u003ccode\u003ehttps://MANAGEMENT_API_SERVER_ENDPOINT/apis/virtualmachine.gdc.goog/v1\u003c/code\u003e and \u003ccode\u003ehttps://MANAGEMENT_API_SERVER_ENDPOINT/apis/virtualmachine.global.gdc.goog/v1\u003c/code\u003e, respectively.\u003c/p\u003e\n"],["\u003cp\u003eYou can access the discovery document for each deployment using the \u003ccode\u003ekubectl proxy\u003c/code\u003e command with the corresponding URL based on whether it's zonal or global.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003eVirtualMachineImageImport\u003c/code\u003e example demonstrates creating a disk image from a persistent disk, including details like the source disk name, image name, OS, and minimum disk size.\u003c/p\u003e\n"]]],[],null,["# Overview of Virtual Machine Manager API\n\nThe Virtual Machine Manager (VMM) of Google Distributed Cloud (GDC) air-gapped uses Kubernetes Resource Model (KRM) APIs in its virtual machine (VM) operations and lifecycle management.\n\n\u003cbr /\u003e\n\nUse the `kubectl` CLI for the VMM APIs.\n\nService endpoint\n----------------\n\nThe VMM KRM APIs are provided in two packages depending on zonal deployment or\nglobal deployment.\n\nThe API endpoints for the zonal and global VMM APIs are the following,\nrespectively:\n\n- `https://`\u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_ENDPOINT\u003c/var\u003e`/apis/virtualmachine.gdc.goog/v1`\n- `https://`\u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_ENDPOINT\u003c/var\u003e`/apis/virtualmachine.global.gdc.goog/v1`\n\nThe \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_ENDPOINT\u003c/var\u003e variable is the\nendpoint of the Management API server.\n\nDiscovery document\n------------------\n\nUse the `kubectl proxy` command to open a proxy to the API server on your local\nmachine. From there, you can access the discovery document at one of the\nfollowing URLs:\n\n- `http://127.0.0.1:8001/apis/virtualmachine.gdc.goog/v1`\n- `http://127.0.0.1:8001/apis/virtualmachine.global.gdc.goog/v1`\n\nExample of VM KRM\n-----------------\n\nThe following `VirtualMachineImageImport` file shows the creation of a disk\nimage from a persistent disk. You choose the persistent\ndisk from a `VirtualMachineDisk` list and select it to create the image and get\nthe `size` parameter of the source. The same example is on the\n[Create custom images](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/create-custom-images/create-custom-images)\npage. \n\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineImageImport\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eVM_IMAGE_IMPORT_NAME\u003c/span\u003e\u003c/var\u003e\n # Name of the VM image you want to import.\n spec:\n source:\n diskRef:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDISK_NAME\u003c/span\u003e\u003c/var\u003e\n # Name of the source disk that you will use to create your image.\n imageMetadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIMAGE_NAME\u003c/span\u003e\u003c/var\u003e\n # Name of your created VM image.\n operatingSystem: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eOS_NAME\u003c/span\u003e\u003c/var\u003e\n # Name of the image OS.\n minimumDiskSize: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eMINIMUM_DISK_SIZE\u003c/span\u003e\u003c/var\u003e\n # Disk size in the VM image. It must be greater than or equal to the source disk size. An example value is 20G."]]