Documentation
¶
Overview ¶
Package gcp contains API Schema definitions for GCP clusters. +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/openshift/hive/pkg/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 ¶ added in v1.0.19
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 ¶ added in v1.0.19
func (in *EncryptionKeyReference) DeepCopy() *EncryptionKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionKeyReference.
func (*EncryptionKeyReference) DeepCopyInto ¶ added in v1.0.19
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 ¶ added in v1.0.19
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 ¶ added in v1.0.19
func (in *KMSKeyReference) DeepCopy() *KMSKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KMSKeyReference.
func (*KMSKeyReference) DeepCopyInto ¶ added in v1.0.19
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"`
}
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 ¶
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 ¶ added in v1.0.19
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 ¶ added in v1.0.19
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDisk.
func (*OSDisk) DeepCopyInto ¶ added in v1.0.19
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.