Class GCPMachineProviderSpec

  • All Implemented Interfaces:
    io.fabric8.kubernetes.api.builder.Editable<GCPMachineProviderSpecBuilder>, io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.KubernetesResource, io.fabric8.kubernetes.api.model.Namespaced, Serializable

    @Generated("io.fabric8.kubernetes.schema.generator.model.ModelGenerator")
    public class GCPMachineProviderSpec
    extends Object
    implements io.fabric8.kubernetes.api.builder.Editable<GCPMachineProviderSpecBuilder>, io.fabric8.kubernetes.api.model.HasMetadata, io.fabric8.kubernetes.api.model.Namespaced
    GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
    See Also:
    Serialized Form
    • Method Detail

      • getApiVersion

        public String getApiVersion()
        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/sig-architecture/api-conventions.md#resources
        Specified by:
        getApiVersion in interface io.fabric8.kubernetes.api.model.HasMetadata
      • setApiVersion

        public void setApiVersion​(String apiVersion)
        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/sig-architecture/api-conventions.md#resources
        Specified by:
        setApiVersion in interface io.fabric8.kubernetes.api.model.HasMetadata
      • getCanIPForward

        public Boolean getCanIPForward()
        canIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes.
      • setCanIPForward

        public void setCanIPForward​(Boolean canIPForward)
        canIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes.
      • getConfidentialCompute

        public String getConfidentialCompute()
        confidentialCompute is an optional field defining whether the instance should have confidential compute enabled or not, and the confidential computing technology of choice. Allowed values are omitted, Disabled, Enabled, AMDEncryptedVirtualization, AMDEncryptedVirtualizationNestedPaging, and IntelTrustedDomainExtensions When set to Disabled, the machine will not be configured to be a confidential computing instance. When set to Enabled, the machine will be configured as a confidential computing instance with no preference on the confidential compute policy used. In this mode, the platform chooses a default that is subject to change over time. Currently, the default is to use AMD Secure Encrypted Virtualization. When set to AMDEncryptedVirtualization, the machine will be configured as a confidential computing instance with AMD Secure Encrypted Virtualization (AMD SEV) as the confidential computing technology. When set to AMDEncryptedVirtualizationNestedPaging, the machine will be configured as a confidential computing instance with AMD Secure Encrypted Virtualization Secure Nested Paging (AMD SEV-SNP) as the confidential computing technology. When set to IntelTrustedDomainExtensions, the machine will be configured as a confidential computing instance with Intel Trusted Domain Extensions (Intel TDX) as the confidential computing technology. If any value other than Disabled is set the selected machine type must support that specific confidential computing technology. The machine series supporting confidential computing technologies can be checked at https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#all-confidential-vm-instances Currently, AMDEncryptedVirtualization is supported in c2d, n2d, and c3d machines. AMDEncryptedVirtualizationNestedPaging is supported in n2d machines. IntelTrustedDomainExtensions is supported in c3 machines. If any value other than Disabled is set, the selected region must support that specific confidential computing technology. The list of regions supporting confidential computing technologies can be checked at https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#supported-zones If any value other than Disabled is set onHostMaintenance is required to be set to "Terminate". If omitted, the platform chooses a default, which is subject to change over time, currently that default is Disabled.
      • setConfidentialCompute

        public void setConfidentialCompute​(String confidentialCompute)
        confidentialCompute is an optional field defining whether the instance should have confidential compute enabled or not, and the confidential computing technology of choice. Allowed values are omitted, Disabled, Enabled, AMDEncryptedVirtualization, AMDEncryptedVirtualizationNestedPaging, and IntelTrustedDomainExtensions When set to Disabled, the machine will not be configured to be a confidential computing instance. When set to Enabled, the machine will be configured as a confidential computing instance with no preference on the confidential compute policy used. In this mode, the platform chooses a default that is subject to change over time. Currently, the default is to use AMD Secure Encrypted Virtualization. When set to AMDEncryptedVirtualization, the machine will be configured as a confidential computing instance with AMD Secure Encrypted Virtualization (AMD SEV) as the confidential computing technology. When set to AMDEncryptedVirtualizationNestedPaging, the machine will be configured as a confidential computing instance with AMD Secure Encrypted Virtualization Secure Nested Paging (AMD SEV-SNP) as the confidential computing technology. When set to IntelTrustedDomainExtensions, the machine will be configured as a confidential computing instance with Intel Trusted Domain Extensions (Intel TDX) as the confidential computing technology. If any value other than Disabled is set the selected machine type must support that specific confidential computing technology. The machine series supporting confidential computing technologies can be checked at https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#all-confidential-vm-instances Currently, AMDEncryptedVirtualization is supported in c2d, n2d, and c3d machines. AMDEncryptedVirtualizationNestedPaging is supported in n2d machines. IntelTrustedDomainExtensions is supported in c3 machines. If any value other than Disabled is set, the selected region must support that specific confidential computing technology. The list of regions supporting confidential computing technologies can be checked at https://cloud.google.com/confidential-computing/confidential-vm/docs/supported-configurations#supported-zones If any value other than Disabled is set onHostMaintenance is required to be set to "Terminate". If omitted, the platform chooses a default, which is subject to change over time, currently that default is Disabled.
      • getCredentialsSecret

        public io.fabric8.kubernetes.api.model.LocalObjectReference getCredentialsSecret()
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • setCredentialsSecret

        public void setCredentialsSecret​(io.fabric8.kubernetes.api.model.LocalObjectReference credentialsSecret)
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • getDeletionProtection

        public Boolean getDeletionProtection()
        deletionProtection whether the resource should be protected against deletion.
      • setDeletionProtection

        public void setDeletionProtection​(Boolean deletionProtection)
        deletionProtection whether the resource should be protected against deletion.
      • getDisks

        public List<GCPDisk> getDisks()
        disks is a list of disks to be attached to the VM.
      • setDisks

        public void setDisks​(List<GCPDisk> disks)
        disks is a list of disks to be attached to the VM.
      • getGcpMetadata

        public List<GCPMetadata> getGcpMetadata()
        Metadata key/value pairs to apply to the VM.
      • setGcpMetadata

        public void setGcpMetadata​(List<GCPMetadata> gcpMetadata)
        Metadata key/value pairs to apply to the VM.
      • getGpus

        public List<GCPGPUConfig> getGpus()
        gpus is a list of GPUs to be attached to the VM.
      • setGpus

        public void setGpus​(List<GCPGPUConfig> gpus)
        gpus is a list of GPUs to be attached to the VM.
      • getKind

        public String getKind()
        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/sig-architecture/api-conventions.md#types-kinds
        Specified by:
        getKind in interface io.fabric8.kubernetes.api.model.HasMetadata
      • setKind

        public void setKind​(String kind)
        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/sig-architecture/api-conventions.md#types-kinds
      • getLabels

        public Map<String,​String> getLabels()
        labels list of labels to apply to the VM.
      • setLabels

        public void setLabels​(Map<String,​String> labels)
        labels list of labels to apply to the VM.
      • getMachineType

        public String getMachineType()
        machineType is the machine type to use for the VM.
      • setMachineType

        public void setMachineType​(String machineType)
        machineType is the machine type to use for the VM.
      • getMetadata

        public io.fabric8.kubernetes.api.model.ObjectMeta getMetadata()
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
        Specified by:
        getMetadata in interface io.fabric8.kubernetes.api.model.HasMetadata
      • setMetadata

        public void setMetadata​(io.fabric8.kubernetes.api.model.ObjectMeta metadata)
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
        Specified by:
        setMetadata in interface io.fabric8.kubernetes.api.model.HasMetadata
      • getNetworkInterfaces

        public List<GCPNetworkInterface> getNetworkInterfaces()
        networkInterfaces is a list of network interfaces to be attached to the VM.
      • setNetworkInterfaces

        public void setNetworkInterfaces​(List<GCPNetworkInterface> networkInterfaces)
        networkInterfaces is a list of network interfaces to be attached to the VM.
      • getOnHostMaintenance

        public String getOnHostMaintenance()
        onHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. This is required to be set to "Terminate" if you want to provision machine with attached GPUs. Otherwise, allowed values are "Migrate" and "Terminate". If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Migrate".
      • setOnHostMaintenance

        public void setOnHostMaintenance​(String onHostMaintenance)
        onHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. This is required to be set to "Terminate" if you want to provision machine with attached GPUs. Otherwise, allowed values are "Migrate" and "Terminate". If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Migrate".
      • getPreemptible

        public Boolean getPreemptible()
        preemptible indicates if created instance is preemptible.
      • setPreemptible

        public void setPreemptible​(Boolean preemptible)
        preemptible indicates if created instance is preemptible.
      • getProjectID

        public String getProjectID()
        projectID is the project in which the GCP machine provider will create the VM.
      • setProjectID

        public void setProjectID​(String projectID)
        projectID is the project in which the GCP machine provider will create the VM.
      • getRegion

        public String getRegion()
        region is the region in which the GCP machine provider will create the VM.
      • setRegion

        public void setRegion​(String region)
        region is the region in which the GCP machine provider will create the VM.
      • getResourceManagerTags

        public List<ResourceManagerTag> getResourceManagerTags()
        resourceManagerTags is an optional list of tags to apply to the GCP resources created for the cluster. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for information on tagging GCP resources. GCP supports a maximum of 50 tags per resource.
      • setResourceManagerTags

        public void setResourceManagerTags​(List<ResourceManagerTag> resourceManagerTags)
        resourceManagerTags is an optional list of tags to apply to the GCP resources created for the cluster. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for information on tagging GCP resources. GCP supports a maximum of 50 tags per resource.
      • getRestartPolicy

        public String getRestartPolicy()
        restartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default "Always"). Cannot be "Always" with preemptible instances. Otherwise, allowed values are "Always" and "Never". If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Always". RestartPolicy represents AutomaticRestart in GCP compute api
      • setRestartPolicy

        public void setRestartPolicy​(String restartPolicy)
        restartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default "Always"). Cannot be "Always" with preemptible instances. Otherwise, allowed values are "Always" and "Never". If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Always". RestartPolicy represents AutomaticRestart in GCP compute api
      • getServiceAccounts

        public List<GCPServiceAccount> getServiceAccounts()
        serviceAccounts is a list of GCP service accounts to be used by the VM.
      • setServiceAccounts

        public void setServiceAccounts​(List<GCPServiceAccount> serviceAccounts)
        serviceAccounts is a list of GCP service accounts to be used by the VM.
      • getShieldedInstanceConfig

        public GCPShieldedInstanceConfig getShieldedInstanceConfig()
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • setShieldedInstanceConfig

        public void setShieldedInstanceConfig​(GCPShieldedInstanceConfig shieldedInstanceConfig)
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • getTags

        public List<String> getTags()
        tags list of network tags to apply to the VM.
      • setTags

        public void setTags​(List<String> tags)
        tags list of network tags to apply to the VM.
      • getTargetPools

        public List<String> getTargetPools()
        targetPools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool
      • setTargetPools

        public void setTargetPools​(List<String> targetPools)
        targetPools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool
      • getUserDataSecret

        public io.fabric8.kubernetes.api.model.LocalObjectReference getUserDataSecret()
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • setUserDataSecret

        public void setUserDataSecret​(io.fabric8.kubernetes.api.model.LocalObjectReference userDataSecret)
        GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).
      • getZone

        public String getZone()
        zone is the zone in which the GCP machine provider will create the VM.
      • setZone

        public void setZone​(String zone)
        zone is the zone in which the GCP machine provider will create the VM.
      • getAdditionalProperties

        public Map<String,​Object> getAdditionalProperties()
      • setAdditionalProperty

        public void setAdditionalProperty​(String name,
                                          Object value)
      • setAdditionalProperties

        public void setAdditionalProperties​(Map<String,​Object> additionalProperties)