Reference documentation and code samples for the Compute V1 Client class Instance.
Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.
Generated from protobuf message google.cloud.compute.v1.Instance
Namespace
Google \ Cloud \ Compute \ V1Methods
__construct
Constructor.
data
array
Optional. Data for populating the Message object.
↳ advanced_machine_features
Google\Cloud\Compute\V1\AdvancedMachineFeatures
Controls for advanced machine-related behavior features.
↳ can_ip_forward
bool
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 .
↳ confidential_instance_config
↳ cpu_platform
string
[Output Only] The CPU platform used by this instance.
↳ creation_timestamp
string
[Output Only] Creation timestamp in RFC3339 text format.
↳ deletion_protection
bool
Whether the resource should be protected against deletion.
↳ description
string
An optional description of this resource. Provide this property when you create the resource.
↳ disks
array< Google\Cloud\Compute\V1\AttachedDisk
>
Array of disks associated with this instance. Persistent disks must be created before you can assign them.
↳ display_device
↳ fingerprint
string
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.
↳ guest_accelerators
array< Google\Cloud\Compute\V1\AcceleratorConfig
>
A list of the type and count of accelerator cards attached to the instance.
↳ hostname
string
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.
↳ id
int|string
[Output Only] The unique identifier for the resource. This identifier is defined by the server.
↳ instance_encryption_key
Google\Cloud\Compute\V1\CustomerEncryptionKey
Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. 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 during the suspend operation.
↳ key_revocation_action_type
string
KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified. Check the KeyRevocationActionType enum for the list of possible values.
↳ kind
string
[Output Only] Type of the resource. Always compute#instance for instances.
↳ label_fingerprint
string
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.
↳ labels
array| Google\Protobuf\Internal\MapField
Labels to apply to this instance. These can be later modified by the setLabels method.
↳ last_start_timestamp
string
[Output Only] Last start timestamp in RFC3339 text format.
↳ last_stop_timestamp
string
[Output Only] Last stop timestamp in RFC3339 text format.
↳ last_suspended_timestamp
string
[Output Only] Last suspended timestamp in RFC3339 text format.
↳ machine_type
string
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.
↳ metadata
Google\Cloud\Compute\V1\Metadata
The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
↳ min_cpu_platform
string
Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
↳ name
string
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.
↳ network_interfaces
array< Google\Cloud\Compute\V1\NetworkInterface
>
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.
↳ network_performance_config
↳ params
Google\Cloud\Compute\V1\InstanceParams
Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
↳ private_ipv6_google_access
string
The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. Check the PrivateIpv6GoogleAccess enum for the list of possible values.
↳ reservation_affinity
Google\Cloud\Compute\V1\ReservationAffinity
Specifies the reservations that this instance can consume from.
↳ resource_policies
array
Resource policies applied to this instance.
↳ resource_status
Google\Cloud\Compute\V1\ResourceStatus
[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
↳ satisfies_pzi
bool
[Output Only] Reserved for future use.
↳ satisfies_pzs
bool
[Output Only] Reserved for future use.
↳ scheduling
↳ self_link
string
[Output Only] Server-defined URL for this resource.
↳ service_accounts
array< Google\Cloud\Compute\V1\ServiceAccount
>
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.
↳ shielded_instance_config
↳ shielded_instance_integrity_policy
↳ source_machine_image
string
Source machine image
↳ source_machine_image_encryption_key
Google\Cloud\Compute\V1\CustomerEncryptionKey
Source machine image encryption key when creating an instance from a machine image.
↳ start_restricted
bool
[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
↳ status
string
[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle. Check the Status enum for the list of possible values.
↳ status_message
string
[Output Only] An optional, human-readable explanation of the status.
↳ tags
Google\Cloud\Compute\V1\Tags
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.
↳ zone
string
[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.
getAdvancedMachineFeatures
Controls for advanced machine-related behavior features.
hasAdvancedMachineFeatures
clearAdvancedMachineFeatures
setAdvancedMachineFeatures
Controls for advanced machine-related behavior features.
$this
getCanIpForward
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 .
bool
hasCanIpForward
clearCanIpForward
setCanIpForward
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 .
var
bool
$this
getConfidentialInstanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
hasConfidentialInstanceConfig
clearConfidentialInstanceConfig
setConfidentialInstanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.ConfidentialInstanceConfig confidential_instance_config = 490637685;
$this
getCpuPlatform
[Output Only] The CPU platform used by this instance.
string
hasCpuPlatform
clearCpuPlatform
setCpuPlatform
[Output Only] The CPU platform used by this instance.
var
string
$this
getCreationTimestamp
[Output Only] Creation timestamp in RFC3339 text format.
string
hasCreationTimestamp
clearCreationTimestamp
setCreationTimestamp
[Output Only] Creation timestamp in RFC3339 text format.
var
string
$this
getDeletionProtection
Whether the resource should be protected against deletion.
bool
hasDeletionProtection
clearDeletionProtection
setDeletionProtection
Whether the resource should be protected against deletion.
var
bool
$this
getDescription
An optional description of this resource. Provide this property when you create the resource.
string
hasDescription
clearDescription
setDescription
An optional description of this resource. Provide this property when you create the resource.
var
string
$this
getDisks
Array of disks associated with this instance. Persistent disks must be created before you can assign them.
setDisks
Array of disks associated with this instance. Persistent disks must be created before you can assign them.
$this
getDisplayDevice
Enables display device for the instance.
hasDisplayDevice
clearDisplayDevice
setDisplayDevice
Enables display device for the instance.
$this
getFingerprint
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.
string
hasFingerprint
clearFingerprint
setFingerprint
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.
var
string
$this
getGuestAccelerators
A list of the type and count of accelerator cards attached to the instance.
setGuestAccelerators
A list of the type and count of accelerator cards attached to the instance.
$this
getHostname
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.
string
hasHostname
clearHostname
setHostname
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.
var
string
$this
getId
[Output Only] The unique identifier for the resource. This identifier is defined by the server.
int|string
hasId
clearId
setId
[Output Only] The unique identifier for the resource. This identifier is defined by the server.
var
int|string
$this
getInstanceEncryptionKey
Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. 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 during the suspend operation.
hasInstanceEncryptionKey
clearInstanceEncryptionKey
setInstanceEncryptionKey
Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. 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 during the suspend operation.
$this
getKeyRevocationActionType
KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
Check the KeyRevocationActionType enum for the list of possible values.
string
hasKeyRevocationActionType
clearKeyRevocationActionType
setKeyRevocationActionType
KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified.
Check the KeyRevocationActionType enum for the list of possible values.
var
string
$this
getKind
[Output Only] Type of the resource. Always compute#instance for instances.
string
hasKind
clearKind
setKind
[Output Only] Type of the resource. Always compute#instance for instances.
var
string
$this
getLabelFingerprint
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.
string
hasLabelFingerprint
clearLabelFingerprint
setLabelFingerprint
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.
var
string
$this
getLabels
Labels to apply to this instance. These can be later modified by the setLabels method.
setLabels
Labels to apply to this instance. These can be later modified by the setLabels method.
$this
getLastStartTimestamp
[Output Only] Last start timestamp in RFC3339 text format.
string
hasLastStartTimestamp
clearLastStartTimestamp
setLastStartTimestamp
[Output Only] Last start timestamp in RFC3339 text format.
var
string
$this
getLastStopTimestamp
[Output Only] Last stop timestamp in RFC3339 text format.
string
hasLastStopTimestamp
clearLastStopTimestamp
setLastStopTimestamp
[Output Only] Last stop timestamp in RFC3339 text format.
var
string
$this
getLastSuspendedTimestamp
[Output Only] Last suspended timestamp in RFC3339 text format.
string
hasLastSuspendedTimestamp
clearLastSuspendedTimestamp
setLastSuspendedTimestamp
[Output Only] Last suspended timestamp in RFC3339 text format.
var
string
$this
getMachineType
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.
string
hasMachineType
clearMachineType
setMachineType
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.
var
string
$this
getMetadata
The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
hasMetadata
clearMetadata
setMetadata
The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys.
$this
getMinCpuPlatform
Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
string
hasMinCpuPlatform
clearMinCpuPlatform
setMinCpuPlatform
Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge".
var
string
$this
getName
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.
string
hasName
clearName
setName
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.
var
string
$this
getNetworkInterfaces
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.
setNetworkInterfaces
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.
$this
getNetworkPerformanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
hasNetworkPerformanceConfig
clearNetworkPerformanceConfig
setNetworkPerformanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.NetworkPerformanceConfig network_performance_config = 398330850;
$this
getParams
Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
hasParams
clearParams
setParams
Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload.
$this
getPrivateIpv6GoogleAccess
The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
Check the PrivateIpv6GoogleAccess enum for the list of possible values.
string
hasPrivateIpv6GoogleAccess
clearPrivateIpv6GoogleAccess
setPrivateIpv6GoogleAccess
The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.
Check the PrivateIpv6GoogleAccess enum for the list of possible values.
var
string
$this
getReservationAffinity
Specifies the reservations that this instance can consume from.
hasReservationAffinity
clearReservationAffinity
setReservationAffinity
Specifies the reservations that this instance can consume from.
$this
getResourcePolicies
Resource policies applied to this instance.
setResourcePolicies
Resource policies applied to this instance.
var
string[]
$this
getResourceStatus
[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
hasResourceStatus
clearResourceStatus
setResourceStatus
[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field.
$this
getSatisfiesPzi
[Output Only] Reserved for future use.
bool
hasSatisfiesPzi
clearSatisfiesPzi
setSatisfiesPzi
[Output Only] Reserved for future use.
var
bool
$this
getSatisfiesPzs
[Output Only] Reserved for future use.
bool
hasSatisfiesPzs
clearSatisfiesPzs
setSatisfiesPzs
[Output Only] Reserved for future use.
var
bool
$this
getScheduling
Sets the scheduling options for this instance.
hasScheduling
clearScheduling
setScheduling
Sets the scheduling options for this instance.
$this
getSelfLink
[Output Only] Server-defined URL for this resource.
string
hasSelfLink
clearSelfLink
setSelfLink
[Output Only] Server-defined URL for this resource.
var
string
$this
getServiceAccounts
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.
setServiceAccounts
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.
$this
getShieldedInstanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
hasShieldedInstanceConfig
clearShieldedInstanceConfig
setShieldedInstanceConfig
Generated from protobuf field optional .google.cloud.compute.v1.ShieldedInstanceConfig shielded_instance_config = 12862901;
$this
getShieldedInstanceIntegrityPolicy
Generated from protobuf field optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
hasShieldedInstanceIntegrityPolicy
clearShieldedInstanceIntegrityPolicy
setShieldedInstanceIntegrityPolicy
Generated from protobuf field optional .google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy shielded_instance_integrity_policy = 163696919;
$this
getSourceMachineImage
Source machine image
string
hasSourceMachineImage
clearSourceMachineImage
setSourceMachineImage
Source machine image
var
string
$this
getSourceMachineImageEncryptionKey
Source machine image encryption key when creating an instance from a machine image.
hasSourceMachineImageEncryptionKey
clearSourceMachineImageEncryptionKey
setSourceMachineImageEncryptionKey
Source machine image encryption key when creating an instance from a machine image.
$this
getStartRestricted
[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
bool
hasStartRestricted
clearStartRestricted
setStartRestricted
[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.
var
bool
$this
getStatus
[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
Check the Status enum for the list of possible values.
string
hasStatus
clearStatus
setStatus
[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.
Check the Status enum for the list of possible values.
var
string
$this
getStatusMessage
[Output Only] An optional, human-readable explanation of the status.
string
hasStatusMessage
clearStatusMessage
setStatusMessage
[Output Only] An optional, human-readable explanation of the status.
var
string
$this
getTags
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.
hasTags
clearTags
setTags
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.
$this
getZone
[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.
string
hasZone
clearZone
setZone
[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.
var
string
$this