Skip to content

compute.v1beta1.instance

"Instance is the Schema for the Instances API. Manages a VM instance resource within GCE."

Index

Fields

fn new

new(name)

new returns an instance of Instance

obj metadata

"ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create."

fn metadata.withAnnotations

withAnnotations(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

fn metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations"

Note: This function appends passed data to existing values

fn metadata.withClusterName

withClusterName(clusterName)

"The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request."

fn metadata.withCreationTimestamp

withCreationTimestamp(creationTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withDeletionGracePeriodSeconds

withDeletionGracePeriodSeconds(deletionGracePeriodSeconds)

"Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only."

fn metadata.withDeletionTimestamp

withDeletionTimestamp(deletionTimestamp)

"Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers."

fn metadata.withFinalizers

withFinalizers(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

fn metadata.withFinalizersMixin

withFinalizersMixin(finalizers)

"Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list."

Note: This function appends passed data to existing values

fn metadata.withGenerateName

withGenerateName(generateName)

"GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency"

fn metadata.withGeneration

withGeneration(generation)

"A sequence number representing a specific generation of the desired state. Populated by the system. Read-only."

fn metadata.withLabels

withLabels(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

fn metadata.withLabelsMixin

withLabelsMixin(labels)

"Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels"

Note: This function appends passed data to existing values

fn metadata.withName

withName(name)

"Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names"

fn metadata.withNamespace

withNamespace(namespace)

"Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces"

fn metadata.withOwnerReferences

withOwnerReferences(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

fn metadata.withOwnerReferencesMixin

withOwnerReferencesMixin(ownerReferences)

"List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller."

Note: This function appends passed data to existing values

fn metadata.withResourceVersion

withResourceVersion(resourceVersion)

"An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency"

withSelfLink(selfLink)

"SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release."

fn metadata.withUid

withUid(uid)

"UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"

obj spec

"InstanceSpec defines the desired state of Instance"

fn spec.withDeletionPolicy

withDeletionPolicy(deletionPolicy)

"DeletionPolicy specifies what will happen to the underlying external when this managed resource is deleted - either \"Delete\" or \"Orphan\" the external resource. This field is planned to be deprecated in favor of the ManagementPolicies field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223"

fn spec.withManagementPolicies

withManagementPolicies(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

fn spec.withManagementPoliciesMixin

withManagementPoliciesMixin(managementPolicies)

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. ManagementPolicies specify the array of actions Crossplane is allowed to take on the managed and external resources. This field is planned to replace the DeletionPolicy field in a future release. Currently, both could be set independently and non-default values would be honored if the feature flag is enabled. If both are custom, the DeletionPolicy field will be ignored. See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223 and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md"

Note: This function appends passed data to existing values

obj spec.forProvider

fn spec.forProvider.withAdvancedMachineFeatures

withAdvancedMachineFeatures(advancedMachineFeatures)

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

fn spec.forProvider.withAdvancedMachineFeaturesMixin

withAdvancedMachineFeaturesMixin(advancedMachineFeatures)

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.forProvider.withAllowStoppingForUpdate

withAllowStoppingForUpdate(allowStoppingForUpdate)

"If you try to update a property that requires stopping the instance without setting this field, the update will fail."

fn spec.forProvider.withAttachedDisk

withAttachedDisk(attachedDisk)

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

fn spec.forProvider.withAttachedDiskMixin

withAttachedDiskMixin(attachedDisk)

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withBootDisk

withBootDisk(bootDisk)

"The boot disk for the instance. Structure is documented below."

fn spec.forProvider.withBootDiskMixin

withBootDiskMixin(bootDisk)

"The boot disk for the instance. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withCanIpForward

withCanIpForward(canIpForward)

"Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false."

fn spec.forProvider.withConfidentialInstanceConfig

withConfidentialInstanceConfig(confidentialInstanceConfig)

"Enable Confidential Mode on this VM. Structure is documented below"

fn spec.forProvider.withConfidentialInstanceConfigMixin

withConfidentialInstanceConfigMixin(confidentialInstanceConfig)

"Enable Confidential Mode on this VM. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.forProvider.withDeletionProtection

withDeletionProtection(deletionProtection)

"Enable deletion protection on this instance. Defaults to false. Note: you must disable deletion protection before removing the resource (e.g."

fn spec.forProvider.withDescription

withDescription(description)

"A brief description of this resource."

fn spec.forProvider.withDesiredStatus

withDesiredStatus(desiredStatus)

"Desired status of the instance. Either \"RUNNING\" or \"TERMINATED\"."

fn spec.forProvider.withEnableDisplay

withEnableDisplay(enableDisplay)

"Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.withGuestAccelerator

withGuestAccelerator(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

fn spec.forProvider.withGuestAcceleratorMixin

withGuestAcceleratorMixin(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

Note: This function appends passed data to existing values

fn spec.forProvider.withHostname

withHostname(hostname)

"A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created."

fn spec.forProvider.withLabels

withLabels(labels)

"A map of key/value label pairs to assign to the instance."

fn spec.forProvider.withLabelsMixin

withLabelsMixin(labels)

"A map of key/value label pairs to assign to the instance."

Note: This function appends passed data to existing values

fn spec.forProvider.withMachineType

withMachineType(machineType)

"The machine type to create."

fn spec.forProvider.withMetadata

withMetadata(metadata)

"Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of default metadata values (e.g. ssh-keys) can be found here"

fn spec.forProvider.withMetadataMixin

withMetadataMixin(metadata)

"Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of default metadata values (e.g. ssh-keys) can be found here"

Note: This function appends passed data to existing values

fn spec.forProvider.withMetadataStartupScript

withMetadataStartupScript(metadataStartupScript)

"An alternative to using the startup-script metadata key, except this one forces the instance to be recreated (thus re-running the script) if it is changed. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously. Users are free to use either mechanism - the only distinction is that this separate attribute will cause a recreate on modification. On import, metadata_startup_script will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation."

fn spec.forProvider.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.withNetworkInterface

withNetworkInterface(networkInterface)

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

fn spec.forProvider.withNetworkInterfaceMixin

withNetworkInterfaceMixin(networkInterface)

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.forProvider.withReservationAffinity

withReservationAffinity(reservationAffinity)

"Specifies the reservations that this instance can consume from. Structure is documented below."

fn spec.forProvider.withReservationAffinityMixin

withReservationAffinityMixin(reservationAffinity)

"Specifies the reservations that this instance can consume from. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withResourcePolicies

withResourcePolicies(resourcePolicies)

"- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported."

fn spec.forProvider.withResourcePoliciesMixin

withResourcePoliciesMixin(resourcePolicies)

"- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported."

Note: This function appends passed data to existing values

fn spec.forProvider.withScheduling

withScheduling(scheduling)

"The scheduling strategy to use. More details about this configuration option are detailed below."

fn spec.forProvider.withSchedulingMixin

withSchedulingMixin(scheduling)

"The scheduling strategy to use. More details about this configuration option are detailed below."

Note: This function appends passed data to existing values

fn spec.forProvider.withScratchDisk

withScratchDisk(scratchDisk)

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

fn spec.forProvider.withScratchDiskMixin

withScratchDiskMixin(scratchDisk)

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.withServiceAccount

withServiceAccount(serviceAccount)

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.withServiceAccountMixin

withServiceAccountMixin(serviceAccount)

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

fn spec.forProvider.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

fn spec.forProvider.withTags

withTags(tags)

"A list of network tags to attach to the instance."

fn spec.forProvider.withTagsMixin

withTagsMixin(tags)

"A list of network tags to attach to the instance."

Note: This function appends passed data to existing values

fn spec.forProvider.withZone

withZone(zone)

"The zone that the machine should be created in. If it is not provided, the provider zone is used."

obj spec.forProvider.advancedMachineFeatures

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

fn spec.forProvider.advancedMachineFeatures.withEnableNestedVirtualization

withEnableNestedVirtualization(enableNestedVirtualization)

"Defines whether the instance should have nested virtualization enabled. Defaults to false."

fn spec.forProvider.advancedMachineFeatures.withThreadsPerCore

withThreadsPerCore(threadsPerCore)

"he number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1."

fn spec.forProvider.advancedMachineFeatures.withVisibleCoreCount

withVisibleCoreCount(visibleCoreCount)

"The number of physical cores to expose to an instance. visible cores info (VC)."

obj spec.forProvider.attachedDisk

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

fn spec.forProvider.attachedDisk.withDeviceName

withDeviceName(deviceName)

"Name with which the attached disk will be accessible under /dev/disk/by-id/google-*"

withKmsKeySelfLink(kmsKeySelfLink)

"The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.forProvider.attachedDisk.withMode

withMode(mode)

"Either \"READ_ONLY\" or \"READ_WRITE\", defaults to \"READ_WRITE\" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode."

fn spec.forProvider.attachedDisk.withSource

withSource(source)

"The name or self_link of the disk to attach to this instance."

obj spec.forProvider.attachedDisk.diskEncryptionKeyRawSecretRef

"A 256-bit [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption), encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.forProvider.attachedDisk.diskEncryptionKeyRawSecretRef.withKey

withKey(key)

"The key to select."

fn spec.forProvider.attachedDisk.diskEncryptionKeyRawSecretRef.withName

withName(name)

"Name of the secret."

fn spec.forProvider.attachedDisk.diskEncryptionKeyRawSecretRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."

obj spec.forProvider.bootDisk

"The boot disk for the instance. Structure is documented below."

fn spec.forProvider.bootDisk.withAutoDelete

withAutoDelete(autoDelete)

"Whether the disk will be auto-deleted when the instance is deleted. Defaults to true."

fn spec.forProvider.bootDisk.withDeviceName

withDeviceName(deviceName)

"Name with which attached disk will be accessible. On the instance, this device will be /dev/disk/by-id/google-{{device_name}}."

fn spec.forProvider.bootDisk.withInitializeParams

withInitializeParams(initializeParams)

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

fn spec.forProvider.bootDisk.withInitializeParamsMixin

withInitializeParamsMixin(initializeParams)

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

Note: This function appends passed data to existing values

withKmsKeySelfLink(kmsKeySelfLink)

"The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.forProvider.bootDisk.withMode

withMode(mode)

"The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode."

fn spec.forProvider.bootDisk.withSource

withSource(source)

"The name or self_link of the existing disk (such as those managed by google_compute_disk) or disk image. To create an instance from a snapshot, first create a google_compute_disk from a snapshot and reference it here."

obj spec.forProvider.bootDisk.diskEncryptionKeyRawSecretRef

"A 256-bit [customer-supplied encryption key] (https://cloud.google.com/compute/docs/disks/customer-supplied-encryption), encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.forProvider.bootDisk.diskEncryptionKeyRawSecretRef.withKey

withKey(key)

"The key to select."

fn spec.forProvider.bootDisk.diskEncryptionKeyRawSecretRef.withName

withName(name)

"Name of the secret."

fn spec.forProvider.bootDisk.diskEncryptionKeyRawSecretRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."

obj spec.forProvider.bootDisk.initializeParams

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

fn spec.forProvider.bootDisk.initializeParams.withImage

withImage(image)

"The image from which to initialize this disk. This can be one of: the image's self_link, projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, global/images/{image}, global/images/family/{family}, family/{family}, {project}/{family}, {project}/{image}, {family}, or {image}. If referred by family, the images names must include the family name. If they don't, use the google_compute_image data source. For instance, the image centos-6-v20180104 includes its family name centos-6. These images can be referred by family name here."

fn spec.forProvider.bootDisk.initializeParams.withLabels

withLabels(labels)

"A map of key/value label pairs to assign to the instance."

fn spec.forProvider.bootDisk.initializeParams.withLabelsMixin

withLabelsMixin(labels)

"A map of key/value label pairs to assign to the instance."

Note: This function appends passed data to existing values

fn spec.forProvider.bootDisk.initializeParams.withSize

withSize(size)

"The size of the image in gigabytes. If not specified, it will inherit the size of its base image."

fn spec.forProvider.bootDisk.initializeParams.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.forProvider.bootDisk.initializeParams.imageRef

"Reference to a Image to populate image."

fn spec.forProvider.bootDisk.initializeParams.imageRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.bootDisk.initializeParams.imageRef.policy

"Policies for referencing."

fn spec.forProvider.bootDisk.initializeParams.imageRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.bootDisk.initializeParams.imageRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.bootDisk.initializeParams.imageSelector

"Selector for a Image to populate image."

fn spec.forProvider.bootDisk.initializeParams.imageSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.bootDisk.initializeParams.imageSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.bootDisk.initializeParams.imageSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.bootDisk.initializeParams.imageSelector.policy

"Policies for selection."

fn spec.forProvider.bootDisk.initializeParams.imageSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.bootDisk.initializeParams.imageSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.confidentialInstanceConfig

"Enable Confidential Mode on this VM. Structure is documented below"

fn spec.forProvider.confidentialInstanceConfig.withEnableConfidentialCompute

withEnableConfidentialCompute(enableConfidentialCompute)

"Defines whether the instance should have confidential compute enabled. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM."

obj spec.forProvider.guestAccelerator

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

fn spec.forProvider.guestAccelerator.withCount

withCount(count)

"The number of the guest accelerator cards exposed to this instance."

fn spec.forProvider.guestAccelerator.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.forProvider.networkInterface

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

fn spec.forProvider.networkInterface.withAccessConfig

withAccessConfig(accessConfig)

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

fn spec.forProvider.networkInterface.withAccessConfigMixin

withAccessConfigMixin(accessConfig)

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.networkInterface.withAliasIpRange

withAliasIpRange(aliasIpRange)

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

fn spec.forProvider.networkInterface.withAliasIpRangeMixin

withAliasIpRangeMixin(aliasIpRange)

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.networkInterface.withIpv6AccessConfig

withIpv6AccessConfig(ipv6AccessConfig)

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

fn spec.forProvider.networkInterface.withIpv6AccessConfigMixin

withIpv6AccessConfigMixin(ipv6AccessConfig)

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.networkInterface.withNetwork

withNetwork(network)

"The name or self_link of the network to attach this interface to. Either network or subnetwork must be provided. If network isn't provided it will be inferred from the subnetwork."

fn spec.forProvider.networkInterface.withNetworkIp

withNetworkIp(networkIp)

"The private IP address to assign to the instance. If empty, the address will be automatically assigned."

fn spec.forProvider.networkInterface.withNicType

withNicType(nicType)

"The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET."

fn spec.forProvider.networkInterface.withQueueCount

withQueueCount(queueCount)

"The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified."

fn spec.forProvider.networkInterface.withStackType

withStackType(stackType)

"The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used."

fn spec.forProvider.networkInterface.withSubnetwork

withSubnetwork(subnetwork)

"The name or self_link of the subnetwork to attach this interface to. Either network or subnetwork must be provided. If network isn't provided it will be inferred from the subnetwork. The subnetwork must exist in the same region this instance will be created in. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required."

fn spec.forProvider.networkInterface.withSubnetworkProject

withSubnetworkProject(subnetworkProject)

"The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used."

obj spec.forProvider.networkInterface.accessConfig

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

fn spec.forProvider.networkInterface.accessConfig.withNatIp

withNatIp(natIp)

"If the instance has an access config, either the given external ip (in the nat_ip field) or the ephemeral (generated) ip (if you didn't provide one)."

fn spec.forProvider.networkInterface.accessConfig.withNetworkTier

withNetworkTier(networkTier)

"The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6."

fn spec.forProvider.networkInterface.accessConfig.withPublicPtrDomainName

withPublicPtrDomainName(publicPtrDomainName)

"The domain name to be used when creating DNSv6 records for the external IPv6 ranges.."

obj spec.forProvider.networkInterface.aliasIpRange

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

fn spec.forProvider.networkInterface.aliasIpRange.withIpCidrRange

withIpCidrRange(ipCidrRange)

"The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24)."

fn spec.forProvider.networkInterface.aliasIpRange.withSubnetworkRangeName

withSubnetworkRangeName(subnetworkRangeName)

"The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used."

obj spec.forProvider.networkInterface.ipv6AccessConfig

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

fn spec.forProvider.networkInterface.ipv6AccessConfig.withNetworkTier

withNetworkTier(networkTier)

"The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6."

fn spec.forProvider.networkInterface.ipv6AccessConfig.withPublicPtrDomainName

withPublicPtrDomainName(publicPtrDomainName)

"The domain name to be used when creating DNSv6 records for the external IPv6 ranges.."

obj spec.forProvider.networkInterface.networkRef

"Reference to a Network to populate network."

fn spec.forProvider.networkInterface.networkRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.networkInterface.networkRef.policy

"Policies for referencing."

fn spec.forProvider.networkInterface.networkRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkInterface.networkRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.networkInterface.networkSelector

"Selector for a Network to populate network."

fn spec.forProvider.networkInterface.networkSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.networkInterface.networkSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.networkInterface.networkSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.networkInterface.networkSelector.policy

"Policies for selection."

fn spec.forProvider.networkInterface.networkSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkInterface.networkSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.networkInterface.subnetworkRef

"Reference to a Subnetwork to populate subnetwork."

fn spec.forProvider.networkInterface.subnetworkRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.networkInterface.subnetworkRef.policy

"Policies for referencing."

fn spec.forProvider.networkInterface.subnetworkRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkInterface.subnetworkRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.networkInterface.subnetworkSelector

"Selector for a Subnetwork to populate subnetwork."

fn spec.forProvider.networkInterface.subnetworkSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.networkInterface.subnetworkSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.networkInterface.subnetworkSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.networkInterface.subnetworkSelector.policy

"Policies for selection."

fn spec.forProvider.networkInterface.subnetworkSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.networkInterface.subnetworkSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.reservationAffinity

"Specifies the reservations that this instance can consume from. Structure is documented below."

fn spec.forProvider.reservationAffinity.withSpecificReservation

withSpecificReservation(specificReservation)

"Specifies the label selector for the reservation to use.. Structure is documented below."

fn spec.forProvider.reservationAffinity.withSpecificReservationMixin

withSpecificReservationMixin(specificReservation)

"Specifies the label selector for the reservation to use.. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.reservationAffinity.withType

withType(type)

"The type of reservation from which this instance can consume resources."

obj spec.forProvider.reservationAffinity.specificReservation

"Specifies the label selector for the reservation to use.. Structure is documented below."

fn spec.forProvider.reservationAffinity.specificReservation.withKey

withKey(key)

"Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value."

fn spec.forProvider.reservationAffinity.specificReservation.withValues

withValues(values)

"Corresponds to the label values of a reservation resource."

fn spec.forProvider.reservationAffinity.specificReservation.withValuesMixin

withValuesMixin(values)

"Corresponds to the label values of a reservation resource."

Note: This function appends passed data to existing values

obj spec.forProvider.scheduling

"The scheduling strategy to use. More details about this configuration option are detailed below."

fn spec.forProvider.scheduling.withAutomaticRestart

withAutomaticRestart(automaticRestart)

"Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true."

fn spec.forProvider.scheduling.withInstanceTerminationAction

withInstanceTerminationAction(instanceTerminationAction)

"Describe the type of termination action for VM. Can be STOP or DELETE. Read more on here"

fn spec.forProvider.scheduling.withMinNodeCpus

withMinNodeCpus(minNodeCpus)

"The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node."

fn spec.forProvider.scheduling.withNodeAffinities

withNodeAffinities(nodeAffinities)

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

fn spec.forProvider.scheduling.withNodeAffinitiesMixin

withNodeAffinitiesMixin(nodeAffinities)

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

Note: This function appends passed data to existing values

fn spec.forProvider.scheduling.withOnHostMaintenance

withOnHostMaintenance(onHostMaintenance)

"Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here."

fn spec.forProvider.scheduling.withPreemptible

withPreemptible(preemptible)

"Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false."

fn spec.forProvider.scheduling.withProvisioningModel

withProvisioningModel(provisioningModel)

"Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this is set to SPOT, preemptible should be true and auto_restart should be false. For more info about SPOT, read here"

obj spec.forProvider.scheduling.nodeAffinities

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

fn spec.forProvider.scheduling.nodeAffinities.withKey

withKey(key)

"Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value."

fn spec.forProvider.scheduling.nodeAffinities.withOperator

withOperator(operator)

"The operator. Can be IN for node-affinities or NOT_IN for anti-affinities."

fn spec.forProvider.scheduling.nodeAffinities.withValues

withValues(values)

"Corresponds to the label values of a reservation resource."

fn spec.forProvider.scheduling.nodeAffinities.withValuesMixin

withValuesMixin(values)

"Corresponds to the label values of a reservation resource."

Note: This function appends passed data to existing values

obj spec.forProvider.scratchDisk

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

fn spec.forProvider.scratchDisk.withInterface

withInterface(interface)

"The disk interface to use for attaching this disk; either SCSI or NVME."

fn spec.forProvider.scratchDisk.withSize

withSize(size)

"The size of the image in gigabytes. If not specified, it will inherit the size of its base image."

obj spec.forProvider.serviceAccount

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.serviceAccount.withEmail

withEmail(email)

"The service account e-mail address. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.serviceAccount.withScopes

withScopes(scopes)

"A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.serviceAccount.withScopesMixin

withScopesMixin(scopes)

"A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

obj spec.forProvider.serviceAccount.emailRef

"Reference to a ServiceAccount in cloudplatform to populate email."

fn spec.forProvider.serviceAccount.emailRef.withName

withName(name)

"Name of the referenced object."

obj spec.forProvider.serviceAccount.emailRef.policy

"Policies for referencing."

fn spec.forProvider.serviceAccount.emailRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.serviceAccount.emailRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.serviceAccount.emailSelector

"Selector for a ServiceAccount in cloudplatform to populate email."

fn spec.forProvider.serviceAccount.emailSelector.withMatchControllerRef

withMatchControllerRef(matchControllerRef)

"MatchControllerRef ensures an object with the same controller reference as the selecting object is selected."

fn spec.forProvider.serviceAccount.emailSelector.withMatchLabels

withMatchLabels(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

fn spec.forProvider.serviceAccount.emailSelector.withMatchLabelsMixin

withMatchLabelsMixin(matchLabels)

"MatchLabels ensures an object with matching labels is selected."

Note: This function appends passed data to existing values

obj spec.forProvider.serviceAccount.emailSelector.policy

"Policies for selection."

fn spec.forProvider.serviceAccount.emailSelector.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.forProvider.serviceAccount.emailSelector.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.forProvider.shieldedInstanceConfig

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.forProvider.shieldedInstanceConfig.withEnableVtpm

withEnableVtpm(enableVtpm)

"- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

obj spec.initProvider

"THIS IS AN ALPHA FIELD. Do not use it in production. It is not honored unless the relevant Crossplane feature flag is enabled, and may be changed or removed without notice. InitProvider holds the same fields as ForProvider, with the exception of Identifier and other resource reference fields. The fields that are in InitProvider are merged into ForProvider when the resource is created. The same fields are also added to the terraform ignore_changes hook, to avoid updating them after creation. This is useful for fields that are required on creation, but we do not desire to update them after creation, for example because of an external controller is managing them, like an autoscaler."

fn spec.initProvider.withAdvancedMachineFeatures

withAdvancedMachineFeatures(advancedMachineFeatures)

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

fn spec.initProvider.withAdvancedMachineFeaturesMixin

withAdvancedMachineFeaturesMixin(advancedMachineFeatures)

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.initProvider.withAllowStoppingForUpdate

withAllowStoppingForUpdate(allowStoppingForUpdate)

"If you try to update a property that requires stopping the instance without setting this field, the update will fail."

fn spec.initProvider.withAttachedDisk

withAttachedDisk(attachedDisk)

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

fn spec.initProvider.withAttachedDiskMixin

withAttachedDiskMixin(attachedDisk)

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withBootDisk

withBootDisk(bootDisk)

"The boot disk for the instance. Structure is documented below."

fn spec.initProvider.withBootDiskMixin

withBootDiskMixin(bootDisk)

"The boot disk for the instance. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withCanIpForward

withCanIpForward(canIpForward)

"Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false."

fn spec.initProvider.withConfidentialInstanceConfig

withConfidentialInstanceConfig(confidentialInstanceConfig)

"Enable Confidential Mode on this VM. Structure is documented below"

fn spec.initProvider.withConfidentialInstanceConfigMixin

withConfidentialInstanceConfigMixin(confidentialInstanceConfig)

"Enable Confidential Mode on this VM. Structure is documented below"

Note: This function appends passed data to existing values

fn spec.initProvider.withDeletionProtection

withDeletionProtection(deletionProtection)

"Enable deletion protection on this instance. Defaults to false. Note: you must disable deletion protection before removing the resource (e.g."

fn spec.initProvider.withDescription

withDescription(description)

"A brief description of this resource."

fn spec.initProvider.withDesiredStatus

withDesiredStatus(desiredStatus)

"Desired status of the instance. Either \"RUNNING\" or \"TERMINATED\"."

fn spec.initProvider.withEnableDisplay

withEnableDisplay(enableDisplay)

"Enable Virtual Displays on this instance. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.withGuestAccelerator

withGuestAccelerator(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

fn spec.initProvider.withGuestAcceleratorMixin

withGuestAcceleratorMixin(guestAccelerator)

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

Note: This function appends passed data to existing values

fn spec.initProvider.withHostname

withHostname(hostname)

"A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid. Valid format is a series of labels 1-63 characters long matching the regular expression a-z, concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created."

fn spec.initProvider.withLabels

withLabels(labels)

"A map of key/value label pairs to assign to the instance."

fn spec.initProvider.withLabelsMixin

withLabelsMixin(labels)

"A map of key/value label pairs to assign to the instance."

Note: This function appends passed data to existing values

fn spec.initProvider.withMachineType

withMachineType(machineType)

"The machine type to create."

fn spec.initProvider.withMetadata

withMetadata(metadata)

"Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of default metadata values (e.g. ssh-keys) can be found here"

fn spec.initProvider.withMetadataMixin

withMetadataMixin(metadata)

"Metadata key/value pairs to make available from within the instance. Ssh keys attached in the Cloud Console will be removed. Add them to your config in order to keep them attached to your instance. A list of default metadata values (e.g. ssh-keys) can be found here"

Note: This function appends passed data to existing values

fn spec.initProvider.withMetadataStartupScript

withMetadataStartupScript(metadataStartupScript)

"An alternative to using the startup-script metadata key, except this one forces the instance to be recreated (thus re-running the script) if it is changed. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously. Users are free to use either mechanism - the only distinction is that this separate attribute will cause a recreate on modification. On import, metadata_startup_script will not be set - if you choose to specify it you will see a diff immediately after import causing a destroy/recreate operation."

fn spec.initProvider.withMinCpuPlatform

withMinCpuPlatform(minCpuPlatform)

"Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.withNetworkInterface

withNetworkInterface(networkInterface)

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

fn spec.initProvider.withNetworkInterfaceMixin

withNetworkInterfaceMixin(networkInterface)

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withProject

withProject(project)

"The ID of the project in which the resource belongs. If it is not provided, the provider project is used."

fn spec.initProvider.withReservationAffinity

withReservationAffinity(reservationAffinity)

"Specifies the reservations that this instance can consume from. Structure is documented below."

fn spec.initProvider.withReservationAffinityMixin

withReservationAffinityMixin(reservationAffinity)

"Specifies the reservations that this instance can consume from. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withResourcePolicies

withResourcePolicies(resourcePolicies)

"- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported."

fn spec.initProvider.withResourcePoliciesMixin

withResourcePoliciesMixin(resourcePolicies)

"- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported."

Note: This function appends passed data to existing values

fn spec.initProvider.withScheduling

withScheduling(scheduling)

"The scheduling strategy to use. More details about this configuration option are detailed below."

fn spec.initProvider.withSchedulingMixin

withSchedulingMixin(scheduling)

"The scheduling strategy to use. More details about this configuration option are detailed below."

Note: This function appends passed data to existing values

fn spec.initProvider.withScratchDisk

withScratchDisk(scratchDisk)

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

fn spec.initProvider.withScratchDiskMixin

withScratchDiskMixin(scratchDisk)

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.withServiceAccount

withServiceAccount(serviceAccount)

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.withServiceAccountMixin

withServiceAccountMixin(serviceAccount)

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

fn spec.initProvider.withShieldedInstanceConfig

withShieldedInstanceConfig(shieldedInstanceConfig)

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.withShieldedInstanceConfigMixin

withShieldedInstanceConfigMixin(shieldedInstanceConfig)

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

fn spec.initProvider.withTags

withTags(tags)

"A list of network tags to attach to the instance."

fn spec.initProvider.withTagsMixin

withTagsMixin(tags)

"A list of network tags to attach to the instance."

Note: This function appends passed data to existing values

obj spec.initProvider.advancedMachineFeatures

"Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below"

fn spec.initProvider.advancedMachineFeatures.withEnableNestedVirtualization

withEnableNestedVirtualization(enableNestedVirtualization)

"Defines whether the instance should have nested virtualization enabled. Defaults to false."

fn spec.initProvider.advancedMachineFeatures.withThreadsPerCore

withThreadsPerCore(threadsPerCore)

"he number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1."

fn spec.initProvider.advancedMachineFeatures.withVisibleCoreCount

withVisibleCoreCount(visibleCoreCount)

"The number of physical cores to expose to an instance. visible cores info (VC)."

obj spec.initProvider.attachedDisk

"Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below."

fn spec.initProvider.attachedDisk.withDeviceName

withDeviceName(deviceName)

"Name with which the attached disk will be accessible under /dev/disk/by-id/google-*"

withKmsKeySelfLink(kmsKeySelfLink)

"The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.initProvider.attachedDisk.withMode

withMode(mode)

"Either \"READ_ONLY\" or \"READ_WRITE\", defaults to \"READ_WRITE\" If you have a persistent disk with data that you want to share between multiple instances, detach it from any read-write instances and attach it to one or more instances in read-only mode."

fn spec.initProvider.attachedDisk.withSource

withSource(source)

"The name or self_link of the disk to attach to this instance."

obj spec.initProvider.bootDisk

"The boot disk for the instance. Structure is documented below."

fn spec.initProvider.bootDisk.withAutoDelete

withAutoDelete(autoDelete)

"Whether the disk will be auto-deleted when the instance is deleted. Defaults to true."

fn spec.initProvider.bootDisk.withDeviceName

withDeviceName(deviceName)

"Name with which attached disk will be accessible. On the instance, this device will be /dev/disk/by-id/google-{{device_name}}."

fn spec.initProvider.bootDisk.withInitializeParams

withInitializeParams(initializeParams)

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

fn spec.initProvider.bootDisk.withInitializeParamsMixin

withInitializeParamsMixin(initializeParams)

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

Note: This function appends passed data to existing values

withKmsKeySelfLink(kmsKeySelfLink)

"The self_link of the encryption key that is stored in Google Cloud KMS to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set."

fn spec.initProvider.bootDisk.withMode

withMode(mode)

"The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode."

fn spec.initProvider.bootDisk.withSource

withSource(source)

"The name or self_link of the existing disk (such as those managed by google_compute_disk) or disk image. To create an instance from a snapshot, first create a google_compute_disk from a snapshot and reference it here."

obj spec.initProvider.bootDisk.initializeParams

"Parameters for a new disk that will be created alongside the new instance. Either initialize_params or source must be set. Structure is documented below."

fn spec.initProvider.bootDisk.initializeParams.withLabels

withLabels(labels)

"A map of key/value label pairs to assign to the instance."

fn spec.initProvider.bootDisk.initializeParams.withLabelsMixin

withLabelsMixin(labels)

"A map of key/value label pairs to assign to the instance."

Note: This function appends passed data to existing values

fn spec.initProvider.bootDisk.initializeParams.withSize

withSize(size)

"The size of the image in gigabytes. If not specified, it will inherit the size of its base image."

fn spec.initProvider.bootDisk.initializeParams.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.initProvider.confidentialInstanceConfig

"Enable Confidential Mode on this VM. Structure is documented below"

fn spec.initProvider.confidentialInstanceConfig.withEnableConfidentialCompute

withEnableConfidentialCompute(enableConfidentialCompute)

"Defines whether the instance should have confidential compute enabled. on_host_maintenance has to be set to TERMINATE or this will fail to create the VM."

obj spec.initProvider.guestAccelerator

"List of the type and count of accelerator cards attached to the instance. Structure documented below. Note: GPU accelerators can only be used with on_host_maintenance option set to TERMINATE. Note: This field uses attr-as-block mode to avoid breaking users during the 0.12 upgrade. To explicitly send a list of zero objects you must use the following syntax: example=[] For more details about this behavior, see this section."

fn spec.initProvider.guestAccelerator.withCount

withCount(count)

"The number of the guest accelerator cards exposed to this instance."

fn spec.initProvider.guestAccelerator.withType

withType(type)

"The accelerator type resource to expose to this instance. E.g. nvidia-tesla-k80."

obj spec.initProvider.networkInterface

"Networks to attach to the instance. This can be specified multiple times. Structure is documented below."

fn spec.initProvider.networkInterface.withAccessConfig

withAccessConfig(accessConfig)

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

fn spec.initProvider.networkInterface.withAccessConfigMixin

withAccessConfigMixin(accessConfig)

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.networkInterface.withAliasIpRange

withAliasIpRange(aliasIpRange)

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

fn spec.initProvider.networkInterface.withAliasIpRangeMixin

withAliasIpRangeMixin(aliasIpRange)

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.networkInterface.withIpv6AccessConfig

withIpv6AccessConfig(ipv6AccessConfig)

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

fn spec.initProvider.networkInterface.withIpv6AccessConfigMixin

withIpv6AccessConfigMixin(ipv6AccessConfig)

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.networkInterface.withNetworkIp

withNetworkIp(networkIp)

"The private IP address to assign to the instance. If empty, the address will be automatically assigned."

fn spec.initProvider.networkInterface.withNicType

withNicType(nicType)

"The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET."

fn spec.initProvider.networkInterface.withQueueCount

withQueueCount(queueCount)

"The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified."

fn spec.initProvider.networkInterface.withStackType

withStackType(stackType)

"The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used."

fn spec.initProvider.networkInterface.withSubnetworkProject

withSubnetworkProject(subnetworkProject)

"The project in which the subnetwork belongs. If the subnetwork is a self_link, this field is ignored in favor of the project defined in the subnetwork self_link. If the subnetwork is a name and this field is not provided, the provider project is used."

obj spec.initProvider.networkInterface.accessConfig

"Access configurations, i.e. IPs via which this instance can be accessed via the Internet. Omit to ensure that the instance is not accessible from the Internet.g. via tunnel or because it is running on another cloud instance on that network). This block can be repeated multiple times. Structure documented below."

fn spec.initProvider.networkInterface.accessConfig.withNatIp

withNatIp(natIp)

"If the instance has an access config, either the given external ip (in the nat_ip field) or the ephemeral (generated) ip (if you didn't provide one)."

fn spec.initProvider.networkInterface.accessConfig.withNetworkTier

withNetworkTier(networkTier)

"The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6."

fn spec.initProvider.networkInterface.accessConfig.withPublicPtrDomainName

withPublicPtrDomainName(publicPtrDomainName)

"The domain name to be used when creating DNSv6 records for the external IPv6 ranges.."

obj spec.initProvider.networkInterface.aliasIpRange

"An array of alias IP ranges for this network interface. Can only be specified for network interfaces on subnet-mode networks. Structure documented below."

fn spec.initProvider.networkInterface.aliasIpRange.withIpCidrRange

withIpCidrRange(ipCidrRange)

"The IP CIDR range represented by this alias IP range. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24)."

fn spec.initProvider.networkInterface.aliasIpRange.withSubnetworkRangeName

withSubnetworkRangeName(subnetworkRangeName)

"The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. If left unspecified, the primary range of the subnetwork will be used."

obj spec.initProvider.networkInterface.ipv6AccessConfig

"An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access. Structure documented below."

fn spec.initProvider.networkInterface.ipv6AccessConfig.withNetworkTier

withNetworkTier(networkTier)

"The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6."

fn spec.initProvider.networkInterface.ipv6AccessConfig.withPublicPtrDomainName

withPublicPtrDomainName(publicPtrDomainName)

"The domain name to be used when creating DNSv6 records for the external IPv6 ranges.."

obj spec.initProvider.reservationAffinity

"Specifies the reservations that this instance can consume from. Structure is documented below."

fn spec.initProvider.reservationAffinity.withSpecificReservation

withSpecificReservation(specificReservation)

"Specifies the label selector for the reservation to use.. Structure is documented below."

fn spec.initProvider.reservationAffinity.withSpecificReservationMixin

withSpecificReservationMixin(specificReservation)

"Specifies the label selector for the reservation to use.. Structure is documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.reservationAffinity.withType

withType(type)

"The type of reservation from which this instance can consume resources."

obj spec.initProvider.reservationAffinity.specificReservation

"Specifies the label selector for the reservation to use.. Structure is documented below."

fn spec.initProvider.reservationAffinity.specificReservation.withKey

withKey(key)

"Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value."

fn spec.initProvider.reservationAffinity.specificReservation.withValues

withValues(values)

"Corresponds to the label values of a reservation resource."

fn spec.initProvider.reservationAffinity.specificReservation.withValuesMixin

withValuesMixin(values)

"Corresponds to the label values of a reservation resource."

Note: This function appends passed data to existing values

obj spec.initProvider.scheduling

"The scheduling strategy to use. More details about this configuration option are detailed below."

fn spec.initProvider.scheduling.withAutomaticRestart

withAutomaticRestart(automaticRestart)

"Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). Defaults to true."

fn spec.initProvider.scheduling.withInstanceTerminationAction

withInstanceTerminationAction(instanceTerminationAction)

"Describe the type of termination action for VM. Can be STOP or DELETE. Read more on here"

fn spec.initProvider.scheduling.withMinNodeCpus

withMinNodeCpus(minNodeCpus)

"The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node."

fn spec.initProvider.scheduling.withNodeAffinities

withNodeAffinities(nodeAffinities)

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

fn spec.initProvider.scheduling.withNodeAffinitiesMixin

withNodeAffinitiesMixin(nodeAffinities)

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

Note: This function appends passed data to existing values

fn spec.initProvider.scheduling.withOnHostMaintenance

withOnHostMaintenance(onHostMaintenance)

"Describes maintenance behavior for the instance. Can be MIGRATE or TERMINATE, for more info, read here."

fn spec.initProvider.scheduling.withPreemptible

withPreemptible(preemptible)

"Specifies if the instance is preemptible. If this field is set to true, then automatic_restart must be set to false. Defaults to false."

fn spec.initProvider.scheduling.withProvisioningModel

withProvisioningModel(provisioningModel)

"Describe the type of preemptible VM. This field accepts the value STANDARD or SPOT. If the value is STANDARD, there will be no discount. If this is set to SPOT, preemptible should be true and auto_restart should be false. For more info about SPOT, read here"

obj spec.initProvider.scheduling.nodeAffinities

"Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems. Read more on sole-tenant node creation here. Structure documented below."

fn spec.initProvider.scheduling.nodeAffinities.withKey

withKey(key)

"Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value."

fn spec.initProvider.scheduling.nodeAffinities.withOperator

withOperator(operator)

"The operator. Can be IN for node-affinities or NOT_IN for anti-affinities."

fn spec.initProvider.scheduling.nodeAffinities.withValues

withValues(values)

"Corresponds to the label values of a reservation resource."

fn spec.initProvider.scheduling.nodeAffinities.withValuesMixin

withValuesMixin(values)

"Corresponds to the label values of a reservation resource."

Note: This function appends passed data to existing values

obj spec.initProvider.scratchDisk

"Scratch disks to attach to the instance. This can be specified multiple times for multiple scratch disks. Structure is documented below."

fn spec.initProvider.scratchDisk.withInterface

withInterface(interface)

"The disk interface to use for attaching this disk; either SCSI or NVME."

fn spec.initProvider.scratchDisk.withSize

withSize(size)

"The size of the image in gigabytes. If not specified, it will inherit the size of its base image."

obj spec.initProvider.serviceAccount

"Service account to attach to the instance. Structure is documented below. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.serviceAccount.withScopes

withScopes(scopes)

"A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.serviceAccount.withScopesMixin

withScopesMixin(scopes)

"A list of service scopes. Both OAuth2 URLs and gcloud short names are supported. To allow full access to all Cloud APIs, use the cloud-platform scope. See a complete list of scopes here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

Note: This function appends passed data to existing values

obj spec.initProvider.shieldedInstanceConfig

"Enable Shielded VM on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. Note: shielded_instance_config can only be used with boot images with shielded vm support. See the complete list here. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.shieldedInstanceConfig.withEnableIntegrityMonitoring

withEnableIntegrityMonitoring(enableIntegrityMonitoring)

"- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.shieldedInstanceConfig.withEnableSecureBoot

withEnableSecureBoot(enableSecureBoot)

"- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

fn spec.initProvider.shieldedInstanceConfig.withEnableVtpm

withEnableVtpm(enableVtpm)

"- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true. Note: allow_stopping_for_update must be set to true or your instance must have a desired_status of TERMINATED in order to update this field."

obj spec.providerConfigRef

"ProviderConfigReference specifies how the provider that will be used to create, observe, update, and delete this managed resource should be configured."

fn spec.providerConfigRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerConfigRef.policy

"Policies for referencing."

fn spec.providerConfigRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerConfigRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.providerRef

"ProviderReference specifies the provider that will be used to create, observe, update, and delete this managed resource. Deprecated: Please use ProviderConfigReference, i.e. providerConfigRef"

fn spec.providerRef.withName

withName(name)

"Name of the referenced object."

obj spec.providerRef.policy

"Policies for referencing."

fn spec.providerRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.providerRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo

"PublishConnectionDetailsTo specifies the connection secret config which contains a name, metadata and a reference to secret store config to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource."

fn spec.publishConnectionDetailsTo.withName

withName(name)

"Name is the name of the connection secret."

obj spec.publishConnectionDetailsTo.configRef

"SecretStoreConfigRef specifies which secret store config should be used for this ConnectionSecret."

fn spec.publishConnectionDetailsTo.configRef.withName

withName(name)

"Name of the referenced object."

obj spec.publishConnectionDetailsTo.configRef.policy

"Policies for referencing."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolution

withResolution(resolution)

"Resolution specifies whether resolution of this reference is required. The default is 'Required', which means the reconcile will fail if the reference cannot be resolved. 'Optional' means this reference will be a no-op if it cannot be resolved."

fn spec.publishConnectionDetailsTo.configRef.policy.withResolve

withResolve(resolve)

"Resolve specifies when this reference should be resolved. The default is 'IfNotPresent', which will attempt to resolve the reference only when the corresponding field is not present. Use 'Always' to resolve the reference on every reconcile."

obj spec.publishConnectionDetailsTo.metadata

"Metadata is the metadata for connection secret."

fn spec.publishConnectionDetailsTo.metadata.withAnnotations

withAnnotations(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withAnnotationsMixin

withAnnotationsMixin(annotations)

"Annotations are the annotations to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.annotations\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withLabels

withLabels(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

fn spec.publishConnectionDetailsTo.metadata.withLabelsMixin

withLabelsMixin(labels)

"Labels are the labels/tags to be added to connection secret. - For Kubernetes secrets, this will be used as \"metadata.labels\". - It is up to Secret Store implementation for others store types."

Note: This function appends passed data to existing values

fn spec.publishConnectionDetailsTo.metadata.withType

withType(type)

"Type is the SecretType for the connection secret. - Only valid for Kubernetes Secret Stores."

obj spec.writeConnectionSecretToRef

"WriteConnectionSecretToReference specifies the namespace and name of a Secret to which any connection details for this managed resource should be written. Connection details frequently include the endpoint, username, and password required to connect to the managed resource. This field is planned to be replaced in a future release in favor of PublishConnectionDetailsTo. Currently, both could be set independently and connection details would be published to both without affecting each other."

fn spec.writeConnectionSecretToRef.withName

withName(name)

"Name of the secret."

fn spec.writeConnectionSecretToRef.withNamespace

withNamespace(namespace)

"Namespace of the secret."