Documentation ¶
Overview ¶
Package gcp contains API Schema definitions for GCP clusters. +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/openshift/hive/apis/hive
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloudControllerUID ¶
CloudControllerUID generates a UID used by the GCP cloud controller provider to generate certain load balancing resources
Types ¶
type EncryptionKeyReference ¶
type EncryptionKeyReference struct { // KMSKey is a reference to a KMS Key to use for the encryption. // // +optional KMSKey *KMSKeyReference `json:"kmsKey,omitempty"` // KMSKeyServiceAccount is the service account being used for the // encryption request for the given KMS key. If absent, the Compute // Engine default service account is used. // See https://cloud.google.com/compute/docs/access/service-accounts#compute_engine_service_account // for details on the default service account. // // +optional KMSKeyServiceAccount string `json:"kmsKeyServiceAccount,omitempty"` }
EncryptionKeyReference describes the encryptionKey to use for a disk's encryption.
func (*EncryptionKeyReference) DeepCopy ¶
func (in *EncryptionKeyReference) DeepCopy() *EncryptionKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyReference.
func (*EncryptionKeyReference) DeepCopyInto ¶
func (in *EncryptionKeyReference) DeepCopyInto(out *EncryptionKeyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KMSKeyReference ¶
type KMSKeyReference struct { // Name is the name of the customer managed encryption key to be used for the disk encryption. Name string `json:"name"` // KeyRing is the name of the KMS Key Ring which the KMS Key belongs to. KeyRing string `json:"keyRing"` // ProjectID is the ID of the Project in which the KMS Key Ring exists. // Defaults to the VM ProjectID if not set. // // +optional ProjectID string `json:"projectID,omitempty"` // Location is the GCP location in which the Key Ring exists. Location string `json:"location"` }
KMSKeyReference gathers required fields for looking up a GCP KMS Key
func (*KMSKeyReference) DeepCopy ¶
func (in *KMSKeyReference) DeepCopy() *KMSKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSKeyReference.
func (*KMSKeyReference) DeepCopyInto ¶
func (in *KMSKeyReference) DeepCopyInto(out *KMSKeyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachinePool ¶
type MachinePool struct { // Zones is list of availability zones that can be used. Zones []string `json:"zones,omitempty"` // InstanceType defines the GCP instance type. // eg. n1-standard-4 InstanceType string `json:"type"` // OSDisk defines the storage for instances. // // +optional OSDisk OSDisk `json:"osDisk"` // NetworkProjectID specifies which project the network and subnets exist in when // they are not in the main ProjectID. // +optional NetworkProjectID string `json:"networkProjectID,omitempty"` // SecureBoot Defines whether the instance should have secure boot enabled. // Verifies the digital signature of all boot components, and halts the boot process if signature verification fails. // If omitted, the platform chooses a default, which is subject to change over time. Currently that default is "Disabled". // +kubebuilder:validation:Enum=Enabled;Disabled // +optional SecureBoot string `json:"secureBoot,omitempty"` // 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". // +kubebuilder:validation:Enum=Migrate;Terminate; // +optional OnHostMaintenance string `json:"onHostMaintenance,omitempty"` }
MachinePool stores the configuration for a machine pool installed on GCP.
func (*MachinePool) DeepCopy ¶
func (in *MachinePool) DeepCopy() *MachinePool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachinePool.
func (*MachinePool) DeepCopyInto ¶
func (in *MachinePool) DeepCopyInto(out *MachinePool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Metadata ¶
type Metadata struct { // NetworkProjectID is used for shared VPC setups // +optional NetworkProjectID *string `json:"networkProjectID,omitempty"` }
Metadata contains GCP metadata (e.g. for uninstalling the cluster).
func (*Metadata) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Metadata.
func (*Metadata) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSDisk ¶
type OSDisk struct { // DiskType defines the type of disk. // The valid values are pd-standard and pd-ssd. // Defaulted internally to pd-ssd. // +kubebuilder:validation:Enum=pd-ssd;pd-standard // +optional DiskType string `json:"diskType,omitempty"` // DiskSizeGB defines the size of disk in GB. // Defaulted internally to 128. // // +kubebuilder:validation:Minimum=16 // +kubebuilder:validation:Maximum=65536 // +optional DiskSizeGB int64 `json:"diskSizeGB,omitempty"` // EncryptionKey defines the KMS key to be used to encrypt the disk. // // +optional EncryptionKey *EncryptionKeyReference `json:"encryptionKey,omitempty"` }
OSDisk defines the disk for machines on GCP.
func (*OSDisk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDisk.
func (*OSDisk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Platform ¶
type Platform struct { // CredentialsSecretRef refers to a secret that contains the GCP account access // credentials. CredentialsSecretRef corev1.LocalObjectReference `json:"credentialsSecretRef"` // Region specifies the GCP region where the cluster will be created. Region string `json:"region"` }
Platform stores all the global configuration that all machinesets use.
func (*Platform) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Platform.
func (*Platform) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.