File: //snap/google-cloud-cli/396/lib/googlecloudsdk/schemas/compute/alpha/Instance.yaml
$schema: "http://json-schema.org/draft-06/schema#"
title: compute alpha Instance export schema
description: A gcloud export/import command YAML validation schema.
type: object
additionalProperties: false
properties:
COMMENT:
type: object
description: User specified info ignored by gcloud import.
additionalProperties: false
properties:
template-id:
type: string
region:
type: string
description:
type: string
date:
type: string
version:
type: string
UNKNOWN:
type: array
description: Unknown API fields that cannot be imported.
items:
type: string
advancedMachineFeatures:
description: Controls for advanced machine-related behavior features.
$ref: AdvancedMachineFeatures.yaml
canIpForward:
description: |-
Allows this instance to send and receive packets with non- matching
destination or source IPs. This is required if you plan to use this
instance to forward routes. For more information, see Enabling IP
Forwarding.
type: boolean
confidentialInstanceConfig:
description: A ConfidentialInstanceConfig attribute.
$ref: ConfidentialInstanceConfig.yaml
cpuPlatform:
description: '[Output Only] The CPU platform used by this instance.'
type: string
creationTimestamp:
description: '[Output Only] Creation timestamp in RFC3339 text format.'
type: string
deletionProtection:
description: Whether the resource should be protected against deletion.
type: boolean
description:
description: |-
An optional description of this resource. Provide this property when you
create the resource.
type: string
disks:
description: |-
Array of disks associated with this instance. Persistent disks must be
created before you can assign them.
type: array
items:
$ref: AttachedDisk.yaml
displayDevice:
description: Enables display device for the instance.
$ref: DisplayDevice.yaml
eraseWindowsVssSignature:
description: |-
Specifies whether the disks restored from source snapshots or source
machine image should erase Windows specific VSS signature.
type: boolean
fingerprint:
description: |-
Specifies a fingerprint for this resource, which is essentially a hash
of the instance's contents and used for optimistic locking. The
fingerprint is initially generated by Compute Engine and changes after
every request to modify or update the instance. You must always
provide an up-to-date fingerprint hash in order to update the
instance. To see the latest fingerprint, make get() request to the
instance.
type: string
guestAccelerators:
description: |-
A list of the type and count of accelerator cards attached to the
instance.
type: array
items:
$ref: AcceleratorConfig.yaml
hostname:
description: |-
Specifies the hostname of the instance. The specified hostname
must be RFC1035 compliant. If hostname is not specified, the
default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when
using the global DNS, and
[INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal
DNS.
type: string
id:
description: |-
[Output Only] The unique identifier for the resource. This
identifier is defined by the server.
type: integer
instanceEncryptionKey:
description: |-
Encrypts or decrypts data for an instance with a customer-supplied
encryption key. If you are creating a new instance, this field
encrypts the local SSD and in-memory contents of the instance
using a key that you provide. If you are restarting an instance
protected with a customer-supplied encryption key, you must
provide the correct key in order to successfully restart the
instance. If you do not provide an encryption key when creating
the instance, then the local SSD and in-memory contents will be
encrypted using an automatically generated key and you do not need
to provide a key to start the instance later. Instance templates
do not store customer-supplied encryption keys, so you cannot use
your own keys to encrypt local SSDs and in- memory content in a
managed instance group.
$ref: CustomerEncryptionKey.yaml
kind:
description: |-
[Output Only] Type of the resource. Always compute#instance for
instances.
type: string
labelFingerprint:
description: |-
A fingerprint for this request, which is essentially a hash of the
label's contents and used for optimistic locking. The fingerprint
is initially generated by Compute Engine and changes after every
request to modify or update labels. You must always provide an up-
to-date fingerprint hash in order to update or change labels. To
see the latest fingerprint, make get() request to the instance.
type: string
labels:
description: |-
Labels to apply to this instance. These can be later modified by
the setLabels method.
$ref: LabelsValue.yaml
lastStartTimestamp:
description: |-
[Output Only] Last start timestamp in RFC3339 text format.
type: string
lastStopTimestamp:
description: |-
[Output Only] Last stop timestamp in RFC3339 text format.
type: string
lastSuspendedTimestamp:
description: |-
[Output Only] Last suspended timestamp in RFC3339 text format.
type: string
machineType:
description: |-
Full or partial URL of the machine type resource to use for this
instance, in the format: zones/zone/machineTypes/machine-type.
This is provided by the client when the instance is created. For
example, the following is a valid partial url to a predefined
machine type: zones/us- central1-f/machineTypes/n1-standard-1 To
create a custom machine type, provide a URL to a machine type in
the following format, where CPUS is 1 or an even number up to 32
(2, 4, 6, ... 24, etc), and MEMORY is the total memory for this
instance. Memory must be a multiple of 256 MB and must be supplied
in MB (e.g. 5 GB of memory is 5120 MB):
zones/zone/machineTypes/custom-CPUS-MEMORY For example:
zones/us- central1-f/machineTypes/custom-4-5120 For a full list
of restrictions, read the Specifications for custom machine types.
type: string
metadata:
description: |-
The metadata key/value pairs assigned to this instance. This
includes custom metadata and predefined keys.
$ref: Metadata.yaml
minCpuPlatform:
description: |-
"Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
type: string
name:
description: |-
The name of the resource, provided by the client when initially
creating the resource. The resource name must be 1-63 characters
long, and comply with RFC1035. Specifically, the name must be 1-63
characters long and match the regular expression
`[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
be a lowercase letter, and all following characters must be a
dash, lowercase letter, or digit, except the last character, which
cannot be a dash.
type: string
networkInterfaces:
description: |-
An array of network configurations for this instance. These
specify how interfaces are configured to interact with other
network services, such as connecting to the internet. Multiple
interfaces are supported per instance.
type: array
items:
$ref: NetworkInterface.yaml
networkPerformanceConfig:
description: A NetworkPerformanceConfig attribute.
$ref: NetworkPerformanceConfig.yaml
params:
description: |-
Input only. [Input Only] Additional params passed with the
request, but not persisted as part of resource payload.
$ref: InstanceParams.yaml
postKeyRevocationActionType:
description: PostKeyRevocationActionType of the instance.
type: string
enum:
- NOOP
- POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED
- SHUTDOWN
keyRevocationActionType:
description: KeyRevocationActionType of the instance.
type: string
enum:
- NONE
- STOP
- KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED
preservedStateSizeGb:
description: |-
Total amount of preserved state for SUSPENDED instances. Read-
only in the api.
type: integer
privateIpv6GoogleAccess:
description: |-
The private IPv6 google access type for the VM. If not
specified, use INHERIT_FROM_SUBNETWORK as default.
type: string
enum:
- ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE
- ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE
- INHERIT_FROM_SUBNETWORK
reservationAffinity:
description: |-
Specifies the reservations that this instance can consume
from.
$ref: ReservationAffinity.yaml
resourcePolicies:
description: Resource policies applied to this instance.
type: array
items:
type: string
satisfiesPzs:
description: '[Output Only] Reserved for future use.'
type: boolean
scheduling:
description: Sets the scheduling options for this instance.
$ref: Scheduling.yaml
secureLabels:
description: |-
Secure labels to apply to this instance. These can be
later modified by the update method. Maximum number of
secure labels allowed is 300.
type: array
items:
type: string
secureTags:
description: |-
Secure tags to apply to this instance. These can be
later modified by the update method. Maximum number of
secure tags allowed is 300.
type: array
items:
type: string
selfLink:
description: |-
[Output Only] Server-defined URL for this
resource.
type: string
selfLinkWithId:
description: |-
[Output Only] Server-defined URL for this resource
with the resource id.
type: string
serviceAccounts:
description: |-
A list of service accounts, with their specified
scopes, authorized for this instance. Only one
service account per VM instance is supported.
Service accounts generate access tokens that can
be accessed through the metadata server and used
to authenticate applications on the instance. See
Service Accounts for more information.
type: array
items:
$ref: ServiceAccount.yaml
shieldedInstanceConfig:
description: A ShieldedInstanceConfig attribute.
$ref: ShieldedInstanceConfig.yaml
shieldedInstanceIntegrityPolicy:
description: |-
A ShieldedInstanceIntegrityPolicy attribute.
$ref: ShieldedInstanceIntegrityPolicy.yaml
shieldedVmConfig:
description: |-
Deprecating, please use
shielded_instance_config.
$ref: ShieldedVmConfig.yaml
shieldedVmIntegrityPolicy:
description: |-
Deprecating, please use
shielded_instance_integrity_policy.
$ref: ShieldedVmIntegrityPolicy.yaml
sourceMachineImage:
description: Source machine image
type: string
sourceMachineImageEncryptionKey:
description: |-
Source GMI encryption key when creating an
instance from GMI.
$ref: CustomerEncryptionKey.yaml
startRestricted:
description: |-
[Output Only] Whether a VM has been restricted
for start because Compute Engine has detected
suspicious activity.
type: boolean
status:
description: |-
[Output Only] The status of the instance. One
of the following
type: string
enum:
- DEPROVISIONING
- PROVISIONING
- REPAIRING
- RUNNING
- STAGING
- STOPPED
- STOPPING
- SUSPENDED
- SUSPENDING
- TERMINATED
statusMessage:
description: |-
[Output Only] An optional, human-readable
explanation of the status.
type: string
tags:
description: |-
Tags to apply to this instance. Tags are used
to identify valid sources or targets for
network firewalls and are specified by the
client during instance creation. The tags can
be later modified by the setTags method. Each
tag within the list must comply with RFC1035.
Multiple tags can be specified via the
'tags.items' field.
$ref: Tags.yaml
upcomingMaintenance:
description: |-
[Output Only] Specifies upcoming maintenance
for the instance.
$ref: UpcomingMaintenance.yaml
zone:
description: |-
[Output Only] URL of the zone where the
instance resides. You must specify this field
as part of the HTTP request URL. It is not
settable as a field in the request body.
type: string