# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: cnrm.cloud.google.com/version: 1.106.0 creationTimestamp: null labels: cnrm.cloud.google.com/managed-by-kcc: "true" cnrm.cloud.google.com/stability-level: stable cnrm.cloud.google.com/system: "true" cnrm.cloud.google.com/tf2crd: "true" name: computeinstances.compute.cnrm.cloud.google.com spec: group: compute.cnrm.cloud.google.com names: categories: - gcp kind: ComputeInstance plural: computeinstances shortNames: - gcpcomputeinstance - gcpcomputeinstances singular: computeinstance scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .metadata.creationTimestamp name: Age type: date - description: When 'True', the most recent reconcile of the resource succeeded jsonPath: .status.conditions[?(@.type=='Ready')].status name: Ready type: string - description: The reason for the value in 'Ready' jsonPath: .status.conditions[?(@.type=='Ready')].reason name: Status type: string - description: The last transition time for the value in 'Status' jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime name: Status Age type: date name: v1beta1 schema: openAPIV3Schema: properties: apiVersion: description: 'apiVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources' type: string kind: description: 'kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds' type: string metadata: type: object spec: anyOf: - required: - bootDisk - machineType - networkInterface - zone - required: - instanceTemplateRef - zone properties: advancedMachineFeatures: description: Controls for advanced machine-related behavior features. properties: enableNestedVirtualization: description: Whether to enable nested virtualization or not. type: boolean threadsPerCore: description: The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed. type: integer visibleCoreCount: description: The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance\'s nominal CPU count and the underlying platform\'s SMT width. type: integer type: object attachedDisk: description: List of disks attached to the instance. items: properties: deviceName: description: Name with which the attached disk is accessible under /dev/disk/by-id/. type: string diskEncryptionKeyRaw: description: A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom properties: value: description: Value of the field. Cannot be used if 'valueFrom' is specified. type: string valueFrom: description: Source for the field's value. Cannot be used if 'value' is specified. properties: secretKeyRef: description: Reference to a value with the given key in the given Secret in the resource's namespace. properties: key: description: Key that identifies the value to be extracted. type: string name: description: Name of the Secret to extract a value from. type: string required: - name - key type: object type: object type: object diskEncryptionKeySha256: description: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource. type: string kmsKeyRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object mode: description: Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". type: string sourceDiskRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeDisk` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object required: - sourceDiskRef type: object type: array bootDisk: description: Immutable. The boot disk for the instance. properties: autoDelete: description: Immutable. Whether the disk will be auto-deleted when the instance is deleted. type: boolean deviceName: description: Immutable. Name with which attached disk will be accessible under /dev/disk/by-id/. type: string diskEncryptionKeyRaw: description: Immutable. A 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to encrypt this disk. Only one of kms_key_self_link and disk_encryption_key_raw may be set. oneOf: - not: required: - valueFrom required: - value - not: required: - value required: - valueFrom properties: value: description: Value of the field. Cannot be used if 'valueFrom' is specified. type: string valueFrom: description: Source for the field's value. Cannot be used if 'value' is specified. properties: secretKeyRef: description: Reference to a value with the given key in the given Secret in the resource's namespace. properties: key: description: Key that identifies the value to be extracted. type: string name: description: Name of the Secret to extract a value from. type: string required: - name - key type: object type: object type: object diskEncryptionKeySha256: description: The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource. type: string initializeParams: description: Immutable. Parameters with which a disk was created alongside the instance. properties: labels: description: Immutable. A set of key/value label pairs assigned to the disk. type: object x-kubernetes-preserve-unknown-fields: true size: description: Immutable. The size of the image in gigabytes. type: integer sourceImageRef: description: Immutable. The image from which to initialize this disk. oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeImage` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object type: description: Immutable. The Google Compute Engine disk type. Such as pd-standard, pd-ssd or pd-balanced. type: string type: object kmsKeyRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object mode: description: Immutable. Read/write mode for the disk. One of "READ_ONLY" or "READ_WRITE". type: string sourceDiskRef: description: Immutable. The source disk used to create this disk. oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeDisk` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object type: object canIpForward: description: Whether sending and receiving of packets with non-matching source or destination IPs is allowed. type: boolean confidentialInstanceConfig: description: Immutable. The Confidential VM config being used by the instance. on_host_maintenance has to be set to TERMINATE or this will fail to create. properties: enableConfidentialCompute: description: Defines whether the instance should have confidential compute enabled. type: boolean required: - enableConfidentialCompute type: object deletionProtection: description: Whether deletion protection is enabled on this instance. type: boolean description: description: Immutable. A brief description of the resource. type: string desiredStatus: description: Desired status of the instance. Either "RUNNING" or "TERMINATED". type: string enableDisplay: description: Whether the instance has virtual displays enabled. type: boolean guestAccelerator: description: Immutable. List of the type and count of accelerator cards attached to the instance. items: properties: count: description: Immutable. The number of the guest accelerator cards exposed to this instance. type: integer type: description: Immutable. The accelerator type resource exposed to this instance. E.g. nvidia-tesla-k80. type: string required: - count - type type: object type: array hostname: description: Immutable. 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]([-a-z0-9]*[a-z0-9]), concatenated with periods. The entire hostname must not exceed 253 characters. Changing this forces a new resource to be created. type: string instanceTemplateRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeInstanceTemplate` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object machineType: description: The machine type to create. type: string metadata: items: properties: key: type: string value: type: string required: - key - value type: object type: array metadataStartupScript: description: Immutable. Metadata startup scripts made available within the instance. type: string minCpuPlatform: description: The minimum CPU platform specified for the VM instance. type: string networkInterface: description: Immutable. The networks attached to the instance. items: not: required: - networkIp - networkIpRef properties: accessConfig: description: Access configurations, i.e. IPs via which this instance can be accessed via the Internet. items: properties: natIpRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `address` field of a `ComputeAddress` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object networkTier: description: The networking tier used for configuring this instance. One of PREMIUM or STANDARD. type: string publicPtrDomainName: description: The DNS domain name for the public PTR record. type: string type: object type: array aliasIpRange: description: An array of alias IP ranges for this network interface. items: properties: ipCidrRange: description: The IP CIDR range represented by this alias IP range. type: string subnetworkRangeName: description: The subnetwork secondary range name specifying the secondary range from which to allocate the IP CIDR range for this alias IP range. type: string required: - ipCidrRange type: object type: array ipv6AccessConfig: description: 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. items: properties: externalIpv6: description: The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork associated with the instance will be allocated dynamically. type: string externalIpv6PrefixLength: description: The prefix length of the external IPv6 range. type: string networkTier: description: The service-level to be provided for IPv6 traffic when the subnet has an external subnet. Only PREMIUM tier is valid for IPv6. type: string publicPtrDomainName: description: The domain name to be used when creating DNSv6 records for the external IPv6 ranges. type: string required: - networkTier type: object type: array ipv6AccessType: description: One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. type: string name: description: The name of the interface. type: string networkIp: description: DEPRECATED. Although this field is still available, there is limited support. We recommend that you use `spec.networkInterface.networkIpRef` instead. type: string networkIpRef: oneOf: - not: required: - external required: - name - kind - not: anyOf: - required: - name - required: - namespace - required: - kind required: - external properties: external: description: 'Allowed value: The `address` field of a `ComputeAddress` resource.' type: string kind: description: 'Kind of the referent. Allowed values: ComputeAddress' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object networkRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeNetwork` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object nicType: description: Immutable. The type of vNIC to be used on this interface. Possible values:GVNIC, VIRTIO_NET. type: string queueCount: description: Immutable. 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. type: integer stackType: description: The stack type for this network interface to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. type: string subnetworkProject: description: The project in which the subnetwork belongs. type: string subnetworkRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeSubnetwork` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object type: object type: array networkPerformanceConfig: description: Immutable. Configures network performance settings for the instance. If not specified, the instance will be created with its default network performance configuration. properties: totalEgressBandwidthTier: description: Immutable. The egress bandwidth tier to enable. Possible values:TIER_1, DEFAULT. type: string required: - totalEgressBandwidthTier type: object reservationAffinity: description: Immutable. Specifies the reservations that this instance can consume from. properties: specificReservation: description: Immutable. Specifies the label selector for the reservation to use. properties: key: description: Immutable. 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. type: string values: description: Immutable. Corresponds to the label values of a reservation resource. items: type: string type: array required: - key - values type: object type: description: Immutable. The type of reservation from which this instance can consume resources. type: string required: - type type: object resourceID: description: Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. type: string resourcePolicies: items: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `selfLink` field of a `ComputeResourcePolicy` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object type: array scheduling: description: The scheduling strategy being used by the instance. properties: automaticRestart: description: Specifies if the instance should be restarted if it was terminated by Compute Engine (not a user). type: boolean instanceTerminationAction: description: Specifies the action GCE should take when SPOT VM is preempted. type: string maintenanceInterval: description: 'Specifies the frequency of planned maintenance events. The accepted values are: PERIODIC.' type: string maxRunDuration: description: Immutable. The timeout for new network connections to hosts. properties: nanos: description: |- Immutable. Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive. type: integer seconds: description: |- Immutable. Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. type: integer required: - seconds type: object minNodeCpus: type: integer nodeAffinities: items: properties: value: type: object x-kubernetes-preserve-unknown-fields: true type: object type: array onHostMaintenance: description: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,. type: string preemptible: description: Immutable. Whether the instance is preemptible. type: boolean provisioningModel: description: Immutable. Whether the instance is spot. If this is set as SPOT. type: string type: object scratchDisk: description: Immutable. The scratch disks attached to the instance. items: properties: interface: description: The disk interface used for attaching this disk. One of SCSI or NVME. type: string size: description: Immutable. The size of the disk in gigabytes. One of 375 or 3000. type: integer required: - interface type: object type: array serviceAccount: description: The service account to attach to the instance. properties: scopes: description: A list of service scopes. items: type: string type: array serviceAccountRef: oneOf: - not: required: - external required: - name - not: anyOf: - required: - name - required: - namespace required: - external properties: external: description: 'Allowed value: The `email` field of an `IAMServiceAccount` resource.' type: string name: description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' type: string namespace: description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' type: string type: object required: - scopes type: object shieldedInstanceConfig: description: The shielded vm config being used by the instance. properties: enableIntegrityMonitoring: description: Whether integrity monitoring is enabled for the instance. type: boolean enableSecureBoot: description: Whether secure boot is enabled for the instance. type: boolean enableVtpm: description: Whether the instance uses vTPM. type: boolean type: object tags: description: The list of tags attached to the instance. items: type: string type: array zone: description: Immutable. The zone of the instance. If self_link is provided, this value is ignored. If neither self_link nor zone are provided, the provider zone is used. type: string type: object status: properties: conditions: description: Conditions represent the latest available observation of the resource's current state. items: properties: lastTransitionTime: description: Last time the condition transitioned from one status to another. type: string message: description: Human-readable message indicating details about last transition. type: string reason: description: Unique, one-word, CamelCase reason for the condition's last transition. type: string status: description: Status is the status of the condition. Can be True, False, Unknown. type: string type: description: Type is the type of the condition. type: string type: object type: array cpuPlatform: description: The CPU platform used by this instance. type: string currentStatus: description: "\n\t\t\t\t\tCurrent status of the instance.\n\t\t\t\t\tThis could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED.\n\t\t\t\t\tFor more information about the status of the instance, see [Instance life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle)." type: string instanceId: description: The server-assigned unique identifier of this instance. type: string labelFingerprint: description: The unique fingerprint of the labels. type: string metadataFingerprint: description: The unique fingerprint of the metadata. type: string observedGeneration: description: ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. type: integer selfLink: description: The URI of the created resource. type: string tagsFingerprint: description: The unique fingerprint of the tags. type: string type: object required: - spec type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []