Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- func ClusterTagKey(name string) string
- type AttachedDiskSpec
- type BuildParams
- type DiskType
- type Filter
- type GCPCluster
- func (in *GCPCluster) DeepCopy() *GCPCluster
- func (in *GCPCluster) DeepCopyInto(out *GCPCluster)
- func (in *GCPCluster) DeepCopyObject() runtime.Object
- func (c *GCPCluster) Default()
- func (*GCPCluster) Hub()
- func (c *GCPCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (c *GCPCluster) ValidateCreate() error
- func (c *GCPCluster) ValidateDelete() error
- func (c *GCPCluster) ValidateUpdate(oldRaw runtime.Object) error
- type GCPClusterList
- type GCPClusterSpec
- type GCPClusterStatus
- type GCPClusterTemplate
- func (in *GCPClusterTemplate) DeepCopy() *GCPClusterTemplate
- func (in *GCPClusterTemplate) DeepCopyInto(out *GCPClusterTemplate)
- func (in *GCPClusterTemplate) DeepCopyObject() runtime.Object
- func (r *GCPClusterTemplate) Default()
- func (*GCPClusterTemplate) Hub()
- func (r *GCPClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *GCPClusterTemplate) ValidateCreate() error
- func (r *GCPClusterTemplate) ValidateDelete() error
- func (r *GCPClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
- type GCPClusterTemplateList
- type GCPClusterTemplateResource
- type GCPClusterTemplateSpec
- type GCPMachine
- func (in *GCPMachine) DeepCopy() *GCPMachine
- func (in *GCPMachine) DeepCopyInto(out *GCPMachine)
- func (in *GCPMachine) DeepCopyObject() runtime.Object
- func (m *GCPMachine) Default()
- func (*GCPMachine) Hub()
- func (m *GCPMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (m *GCPMachine) ValidateCreate() error
- func (m *GCPMachine) ValidateDelete() error
- func (m *GCPMachine) ValidateUpdate(old runtime.Object) error
- type GCPMachineList
- type GCPMachineSpec
- type GCPMachineStatus
- type GCPMachineTemplate
- func (in *GCPMachineTemplate) DeepCopy() *GCPMachineTemplate
- func (in *GCPMachineTemplate) DeepCopyInto(out *GCPMachineTemplate)
- func (in *GCPMachineTemplate) DeepCopyObject() runtime.Object
- func (r *GCPMachineTemplate) Default()
- func (*GCPMachineTemplate) Hub()
- func (r *GCPMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *GCPMachineTemplate) ValidateCreate() error
- func (r *GCPMachineTemplate) ValidateDelete() error
- func (r *GCPMachineTemplate) ValidateUpdate(old runtime.Object) error
- type GCPMachineTemplateList
- type GCPMachineTemplateResource
- type GCPMachineTemplateSpec
- type IPForwarding
- type InstanceStatus
- type Labels
- func (in Labels) AddLabels(other Labels) Labels
- func (in Labels) DeepCopy() Labels
- func (in Labels) DeepCopyInto(out *Labels)
- func (in Labels) Difference(other Labels) Labels
- func (in Labels) Equals(other Labels) bool
- func (in Labels) GetRole() string
- func (in Labels) HasOwned(cluster string) bool
- func (in Labels) ToComputeFilter() string
- type MetadataItem
- type Network
- type NetworkSpec
- type ResourceLifecycle
- type ServiceAccount
- type SubnetSpec
- type Subnets
Constants ¶
const ( // ResourceLifecycleOwned is the value we use when tagging resources to indicate // that the resource is considered owned and managed by the cluster, // and in particular that the lifecycle is tied to the lifecycle of the cluster. ResourceLifecycleOwned = ResourceLifecycle("owned") // NameGCPProviderPrefix is the tag prefix we use to differentiate // cluster-api-provider-gcp owned components from other tooling that // uses NameKubernetesClusterPrefix. NameGCPProviderPrefix = "capg-" // NameGCPProviderOwned is the tag name we use to differentiate // cluster-api-provider-gcp owned components from other tooling that // uses NameKubernetesClusterPrefix. NameGCPProviderOwned = NameGCPProviderPrefix + "cluster-" // NameGCPClusterAPIRole is the tag name we use to mark roles for resources // dedicated to this cluster api provider implementation. NameGCPClusterAPIRole = NameGCPProviderPrefix + "role" // APIServerRoleTagValue describes the value for the apiserver role. APIServerRoleTagValue = "apiserver" )
const ( // ClusterFinalizer allows ReconcileGCPCluster to clean up GCP resources associated with GCPCluster before // removing it from the apiserver. ClusterFinalizer = "gcpcluster.infrastructure.cluster.x-k8s.io" )
const ( // MachineFinalizer allows ReconcileGCPMachine to clean up GCP resources associated with GCPMachine before // removing it from the apiserver. MachineFinalizer = "gcpmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( // InstanceStatusProvisioning is the string representing an instance in a provisioning state. InstanceStatusProvisioning = InstanceStatus("PROVISIONING") // InstanceStatusRepairing is the string representing an instance in a repairing state. InstanceStatusRepairing = InstanceStatus("REPAIRING") // InstanceStatusRunning is the string representing an instance in a pending state. InstanceStatusRunning = InstanceStatus("RUNNING") // InstanceStatusStaging is the string representing an instance in a staging state. InstanceStatusStaging = InstanceStatus("STAGING") // InstanceStatusStopped is the string representing an instance // that has been stopped and can be restarted. InstanceStatusStopped = InstanceStatus("STOPPED") // InstanceStatusStopping is the string representing an instance // that is in the process of being stopped and can be restarted. InstanceStatusStopping = InstanceStatus("STOPPING") // InstanceStatusSuspended is the string representing an instance // that is suspended. InstanceStatusSuspended = InstanceStatus("SUSPENDED") // InstanceStatusSuspending is the string representing an instance // that is in the process of being suspended. InstanceStatusSuspending = InstanceStatus("SUSPENDING") // InstanceStatusTerminated is the string representing an instance that has been terminated. InstanceStatusTerminated = InstanceStatus("TERMINATED") )
Functions ¶
func ClusterTagKey ¶
ClusterTagKey generates the key for resources associated with a cluster.
Types ¶
type AttachedDiskSpec ¶
type AttachedDiskSpec struct { // DeviceType is a device type of the attached disk. // Supported types of non-root attached volumes: // 1. "pd-standard" - Standard (HDD) persistent disk // 2. "pd-ssd" - SSD persistent disk // 3. "local-ssd" - Local SSD disk (https://cloud.google.com/compute/docs/disks/local-ssd). // Default is "pd-standard". // +optional DeviceType *DiskType `json:"deviceType,omitempty"` // Size is the size of the disk in GBs. // Defaults to 30GB. For "local-ssd" size is always 375GB. // +optional Size *int64 `json:"size,omitempty"` }
AttachedDiskSpec degined GCP machine disk.
func (*AttachedDiskSpec) DeepCopy ¶
func (in *AttachedDiskSpec) DeepCopy() *AttachedDiskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachedDiskSpec.
func (*AttachedDiskSpec) DeepCopyInto ¶
func (in *AttachedDiskSpec) DeepCopyInto(out *AttachedDiskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BuildParams ¶
type BuildParams struct { // Lifecycle determines the resource lifecycle. Lifecycle ResourceLifecycle // ClusterName is the cluster associated with the resource. ClusterName string // ResourceID is the unique identifier of the resource to be tagged. ResourceID string // Role is the role associated to the resource. // +optional Role *string // Any additional tags to be added to the resource. // +optional Additional Labels }
BuildParams is used to build tags around an gcp resource.
func (*BuildParams) DeepCopy ¶
func (in *BuildParams) DeepCopy() *BuildParams
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BuildParams.
func (*BuildParams) DeepCopyInto ¶
func (in *BuildParams) DeepCopyInto(out *BuildParams)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskType ¶
type DiskType string
DiskType is a type to use to define with disk type will be used.
const ( // PdStandardDiskType defines the name for the standard disk. PdStandardDiskType DiskType = "pd-standard" // PdSsdDiskType defines the name for the ssd disk. PdSsdDiskType DiskType = "pd-ssd" // LocalSsdDiskType defines the name for the local ssd disk. LocalSsdDiskType DiskType = "local-ssd" )
type Filter ¶
type Filter struct { // Name of the filter. Filter names are case-sensitive. Name string `json:"name"` // Values includes one or more filter values. Filter values are case-sensitive. Values []string `json:"values"` }
Filter is a filter used to identify an GCP resource.
func (*Filter) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.
func (*Filter) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPCluster ¶
type GCPCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GCPClusterSpec `json:"spec,omitempty"` Status GCPClusterStatus `json:"status,omitempty"` }
GCPCluster is the Schema for the gcpclusters API.
func (*GCPCluster) DeepCopy ¶
func (in *GCPCluster) DeepCopy() *GCPCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPCluster.
func (*GCPCluster) DeepCopyInto ¶
func (in *GCPCluster) DeepCopyInto(out *GCPCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPCluster) DeepCopyObject ¶
func (in *GCPCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPCluster) Default ¶
func (c *GCPCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*GCPCluster) SetupWebhookWithManager ¶
func (c *GCPCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager sets up and registers the webhook with the manager.
func (*GCPCluster) ValidateCreate ¶
func (c *GCPCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*GCPCluster) ValidateDelete ¶
func (c *GCPCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*GCPCluster) ValidateUpdate ¶
func (c *GCPCluster) ValidateUpdate(oldRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type GCPClusterList ¶
type GCPClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPCluster `json:"items"` }
GCPClusterList contains a list of GCPCluster.
func (*GCPClusterList) DeepCopy ¶
func (in *GCPClusterList) DeepCopy() *GCPClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterList.
func (*GCPClusterList) DeepCopyInto ¶
func (in *GCPClusterList) DeepCopyInto(out *GCPClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPClusterList) DeepCopyObject ¶
func (in *GCPClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPClusterList) Hub ¶
func (*GCPClusterList) Hub()
Hub marks GCPClusterList as a conversion hub.
type GCPClusterSpec ¶
type GCPClusterSpec struct { // Project is the name of the project to deploy the cluster to. Project string `json:"project"` // The GCP Region the cluster lives in. Region string `json:"region"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` // NetworkSpec encapsulates all things related to GCP network. // +optional Network NetworkSpec `json:"network"` // FailureDomains is an optional field which is used to assign selected availability zones to a cluster // FailureDomains if empty, defaults to all the zones in the selected region and if specified would override // the default zones. // +optional FailureDomains []string `json:"failureDomains,omitempty"` // AdditionalLabels is an optional set of tags to add to GCP resources managed by the GCP provider, in addition to the // ones added by default. // +optional AdditionalLabels Labels `json:"additionalLabels,omitempty"` }
GCPClusterSpec defines the desired state of GCPCluster.
func (*GCPClusterSpec) DeepCopy ¶
func (in *GCPClusterSpec) DeepCopy() *GCPClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterSpec.
func (*GCPClusterSpec) DeepCopyInto ¶
func (in *GCPClusterSpec) DeepCopyInto(out *GCPClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPClusterStatus ¶
type GCPClusterStatus struct { FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` Network Network `json:"network,omitempty"` // Bastion Instance `json:"bastion,omitempty"` Ready bool `json:"ready"` }
GCPClusterStatus defines the observed state of GCPCluster.
func (*GCPClusterStatus) DeepCopy ¶
func (in *GCPClusterStatus) DeepCopy() *GCPClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterStatus.
func (*GCPClusterStatus) DeepCopyInto ¶
func (in *GCPClusterStatus) DeepCopyInto(out *GCPClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPClusterTemplate ¶
type GCPClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GCPClusterTemplateSpec `json:"spec,omitempty"` }
GCPClusterTemplate is the Schema for the gcpclustertemplates API.
func (*GCPClusterTemplate) DeepCopy ¶
func (in *GCPClusterTemplate) DeepCopy() *GCPClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterTemplate.
func (*GCPClusterTemplate) DeepCopyInto ¶
func (in *GCPClusterTemplate) DeepCopyInto(out *GCPClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPClusterTemplate) DeepCopyObject ¶
func (in *GCPClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPClusterTemplate) Default ¶
func (r *GCPClusterTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*GCPClusterTemplate) Hub ¶ added in v1.1.0
func (*GCPClusterTemplate) Hub()
Hub marks GCPClusterTemplate as a conversion hub.
func (*GCPClusterTemplate) SetupWebhookWithManager ¶
func (r *GCPClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*GCPClusterTemplate) ValidateCreate ¶
func (r *GCPClusterTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*GCPClusterTemplate) ValidateDelete ¶
func (r *GCPClusterTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*GCPClusterTemplate) ValidateUpdate ¶
func (r *GCPClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type GCPClusterTemplateList ¶
type GCPClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPClusterTemplate `json:"items"` }
GCPClusterTemplateList contains a list of GCPClusterTemplate.
func (*GCPClusterTemplateList) DeepCopy ¶
func (in *GCPClusterTemplateList) DeepCopy() *GCPClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterTemplateList.
func (*GCPClusterTemplateList) DeepCopyInto ¶
func (in *GCPClusterTemplateList) DeepCopyInto(out *GCPClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPClusterTemplateList) DeepCopyObject ¶
func (in *GCPClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPClusterTemplateList) Hub ¶ added in v1.1.0
func (*GCPClusterTemplateList) Hub()
Hub marks GCPClusterTemplateList as a conversion hub.
type GCPClusterTemplateResource ¶
type GCPClusterTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` Spec GCPClusterSpec `json:"spec"` }
GCPClusterTemplateResource contains spec for GCPClusterSpec.
func (*GCPClusterTemplateResource) DeepCopy ¶
func (in *GCPClusterTemplateResource) DeepCopy() *GCPClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterTemplateResource.
func (*GCPClusterTemplateResource) DeepCopyInto ¶
func (in *GCPClusterTemplateResource) DeepCopyInto(out *GCPClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPClusterTemplateSpec ¶
type GCPClusterTemplateSpec struct {
Template GCPClusterTemplateResource `json:"template"`
}
GCPClusterTemplateSpec defines the desired state of GCPClusterTemplate.
func (*GCPClusterTemplateSpec) DeepCopy ¶
func (in *GCPClusterTemplateSpec) DeepCopy() *GCPClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPClusterTemplateSpec.
func (*GCPClusterTemplateSpec) DeepCopyInto ¶
func (in *GCPClusterTemplateSpec) DeepCopyInto(out *GCPClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPMachine ¶
type GCPMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GCPMachineSpec `json:"spec,omitempty"` Status GCPMachineStatus `json:"status,omitempty"` }
GCPMachine is the Schema for the gcpmachines API.
func (*GCPMachine) DeepCopy ¶
func (in *GCPMachine) DeepCopy() *GCPMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachine.
func (*GCPMachine) DeepCopyInto ¶
func (in *GCPMachine) DeepCopyInto(out *GCPMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPMachine) DeepCopyObject ¶
func (in *GCPMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPMachine) Default ¶
func (m *GCPMachine) Default()
Default implements webhookutil.defaulter so a webhook will be registered for the type.
func (*GCPMachine) SetupWebhookWithManager ¶
func (m *GCPMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*GCPMachine) ValidateCreate ¶
func (m *GCPMachine) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*GCPMachine) ValidateDelete ¶
func (m *GCPMachine) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*GCPMachine) ValidateUpdate ¶
func (m *GCPMachine) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type GCPMachineList ¶
type GCPMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPMachine `json:"items"` }
GCPMachineList contains a list of GCPMachine.
func (*GCPMachineList) DeepCopy ¶
func (in *GCPMachineList) DeepCopy() *GCPMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineList.
func (*GCPMachineList) DeepCopyInto ¶
func (in *GCPMachineList) DeepCopyInto(out *GCPMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPMachineList) DeepCopyObject ¶
func (in *GCPMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPMachineList) Hub ¶
func (*GCPMachineList) Hub()
Hub marks GCPMachineList as a conversion hub.
type GCPMachineSpec ¶
type GCPMachineSpec struct { // InstanceType is the type of instance to create. Example: n1.standard-2 InstanceType string `json:"instanceType"` // Subnet is a reference to the subnetwork to use for this instance. If not specified, // the first subnetwork retrieved from the Cluster Region and Network is picked. // +optional Subnet *string `json:"subnet,omitempty"` // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` // ImageFamily is the full reference to a valid image family to be used for this machine. // +optional ImageFamily *string `json:"imageFamily,omitempty"` // Image is the full reference to a valid image to be used for this machine. // Takes precedence over ImageFamily. // +optional Image *string `json:"image,omitempty"` // AdditionalLabels is an optional set of tags to add to an instance, in addition to the ones added by default by the // GCP provider. If both the GCPCluster and the GCPMachine specify the same tag name with different values, the // GCPMachine's value takes precedence. // +optional AdditionalLabels Labels `json:"additionalLabels,omitempty"` // AdditionalMetadata is an optional set of metadata to add to an instance, in addition to the ones added by default by the // GCP provider. // +listType=map // +listMapKey=key // +optional AdditionalMetadata []MetadataItem `json:"additionalMetadata,omitempty"` // PublicIP specifies whether the instance should get a public IP. // Set this to true if you don't have a NAT instances or Cloud Nat setup. // +optional PublicIP *bool `json:"publicIP,omitempty"` // AdditionalNetworkTags is a list of network tags that should be applied to the // instance. These tags are set in addition to any network tags defined // at the cluster level or in the actuator. // +optional AdditionalNetworkTags []string `json:"additionalNetworkTags,omitempty"` // RootDeviceSize is the size of the root volume in GB. // Defaults to 30. // +optional RootDeviceSize int64 `json:"rootDeviceSize,omitempty"` // RootDeviceType is the type of the root volume. // Supported types of root volumes: // 1. "pd-standard" - Standard (HDD) persistent disk // 2. "pd-ssd" - SSD persistent disk // Default is "pd-standard". // +optional RootDeviceType *DiskType `json:"rootDeviceType,omitempty"` // AdditionalDisks are optional non-boot attached disks. // +optional AdditionalDisks []AttachedDiskSpec `json:"additionalDisks,omitempty"` // ServiceAccount specifies the service account email and which scopes to assign to the machine. // Defaults to: email: "default", scope: []{compute.CloudPlatformScope} // +optional ServiceAccount *ServiceAccount `json:"serviceAccounts,omitempty"` // Preemptible defines if instance is preemptible // +optional Preemptible bool `json:"preemptible,omitempty"` // IPForwarding 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. Defaults to enabled. // +kubebuilder:validation:Enum=Enabled;Disabled // +kubebuilder:default=Enabled // +optional IPForwarding *IPForwarding `json:"ipForwarding,omitempty"` }
GCPMachineSpec defines the desired state of GCPMachine.
func (*GCPMachineSpec) DeepCopy ¶
func (in *GCPMachineSpec) DeepCopy() *GCPMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineSpec.
func (*GCPMachineSpec) DeepCopyInto ¶
func (in *GCPMachineSpec) DeepCopyInto(out *GCPMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPMachineStatus ¶
type GCPMachineStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the GCP instance associated addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // InstanceStatus is the status of the GCP instance for this machine. // +optional InstanceStatus *InstanceStatus `json:"instanceState,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` }
GCPMachineStatus defines the observed state of GCPMachine.
func (*GCPMachineStatus) DeepCopy ¶
func (in *GCPMachineStatus) DeepCopy() *GCPMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineStatus.
func (*GCPMachineStatus) DeepCopyInto ¶
func (in *GCPMachineStatus) DeepCopyInto(out *GCPMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPMachineTemplate ¶
type GCPMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GCPMachineTemplateSpec `json:"spec,omitempty"` }
GCPMachineTemplate is the Schema for the gcpmachinetemplates API.
func (*GCPMachineTemplate) DeepCopy ¶
func (in *GCPMachineTemplate) DeepCopy() *GCPMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineTemplate.
func (*GCPMachineTemplate) DeepCopyInto ¶
func (in *GCPMachineTemplate) DeepCopyInto(out *GCPMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPMachineTemplate) DeepCopyObject ¶
func (in *GCPMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPMachineTemplate) Default ¶
func (r *GCPMachineTemplate) Default()
Default implements webhookutil.defaulter so a webhook will be registered for the type.
func (*GCPMachineTemplate) Hub ¶
func (*GCPMachineTemplate) Hub()
Hub marks GCPMachineTemplate as a conversion hub.
func (*GCPMachineTemplate) SetupWebhookWithManager ¶
func (r *GCPMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*GCPMachineTemplate) ValidateCreate ¶
func (r *GCPMachineTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*GCPMachineTemplate) ValidateDelete ¶
func (r *GCPMachineTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*GCPMachineTemplate) ValidateUpdate ¶
func (r *GCPMachineTemplate) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type GCPMachineTemplateList ¶
type GCPMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []GCPMachineTemplate `json:"items"` }
GCPMachineTemplateList contains a list of GCPMachineTemplate.
func (*GCPMachineTemplateList) DeepCopy ¶
func (in *GCPMachineTemplateList) DeepCopy() *GCPMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineTemplateList.
func (*GCPMachineTemplateList) DeepCopyInto ¶
func (in *GCPMachineTemplateList) DeepCopyInto(out *GCPMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GCPMachineTemplateList) DeepCopyObject ¶
func (in *GCPMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*GCPMachineTemplateList) Hub ¶
func (*GCPMachineTemplateList) Hub()
Hub marks GCPMachineTemplateList as a conversion hub.
type GCPMachineTemplateResource ¶
type GCPMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired behavior of the machine. Spec GCPMachineSpec `json:"spec"` }
GCPMachineTemplateResource describes the data needed to create am GCPMachine from a template.
func (*GCPMachineTemplateResource) DeepCopy ¶
func (in *GCPMachineTemplateResource) DeepCopy() *GCPMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineTemplateResource.
func (*GCPMachineTemplateResource) DeepCopyInto ¶
func (in *GCPMachineTemplateResource) DeepCopyInto(out *GCPMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPMachineTemplateSpec ¶
type GCPMachineTemplateSpec struct {
Template GCPMachineTemplateResource `json:"template"`
}
GCPMachineTemplateSpec defines the desired state of GCPMachineTemplate.
func (*GCPMachineTemplateSpec) DeepCopy ¶
func (in *GCPMachineTemplateSpec) DeepCopy() *GCPMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPMachineTemplateSpec.
func (*GCPMachineTemplateSpec) DeepCopyInto ¶
func (in *GCPMachineTemplateSpec) DeepCopyInto(out *GCPMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPForwarding ¶ added in v1.1.0
type IPForwarding string
IPForwarding represents the IP forwarding configuration for the GCP machine.
const ( // IPForwardingEnabled enables the IP forwarding configuration for the GCP machine. IPForwardingEnabled IPForwarding = "Enabled" // IPForwardingDisabled disables the IP forwarding configuration for the GCP machine. IPForwardingDisabled IPForwarding = "Disabled" )
type InstanceStatus ¶
type InstanceStatus string
InstanceStatus describes the state of an GCP instance.
type Labels ¶
Labels defines a map of tags.
func Build ¶
func Build(params BuildParams) Labels
Build builds tags including the cluster tag and returns them in map form.
func (Labels) AddLabels ¶
AddLabels adds (and overwrites) the current labels with the ones passed in.
func (Labels) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Labels.
func (Labels) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Labels) Difference ¶
Difference returns the difference between this map of tags and the other map of tags. Items are considered equals if key and value are equals.
func (Labels) HasOwned ¶
HasOwned returns true if the tags contains a tag that marks the resource as owned by the cluster from the perspective of this management tooling.
func (Labels) ToComputeFilter ¶
ToComputeFilter returns the string representation of the labels as a filter to be used in google compute sdk calls.
type MetadataItem ¶
type MetadataItem struct { // Key is the identifier for the metadata entry. Key string `json:"key"` // Value is the value of the metadata entry. Value *string `json:"value,omitempty"` }
MetadataItem defines a single piece of metadata associated with an instance.
func (*MetadataItem) DeepCopy ¶
func (in *MetadataItem) DeepCopy() *MetadataItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataItem.
func (*MetadataItem) DeepCopyInto ¶
func (in *MetadataItem) DeepCopyInto(out *MetadataItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { // SelfLink is the link to the Network used for this cluster. SelfLink *string `json:"selfLink,omitempty"` // FirewallRules is a map from the name of the rule to its full reference. // +optional FirewallRules map[string]string `json:"firewallRules,omitempty"` // Router is the full reference to the router created within the network // it'll contain the cloud nat gateway // +optional Router *string `json:"router,omitempty"` // APIServerAddress is the IPV4 global address assigned to the load balancer // created for the API Server. // +optional APIServerAddress *string `json:"apiServerIpAddress,omitempty"` // APIServerHealthCheck is the full reference to the health check // created for the API Server. // +optional APIServerHealthCheck *string `json:"apiServerHealthCheck,omitempty"` // APIServerInstanceGroups is a map from zone to the full reference // to the instance groups created for the control plane nodes created in the same zone. // +optional APIServerInstanceGroups map[string]string `json:"apiServerInstanceGroups,omitempty"` // APIServerBackendService is the full reference to the backend service // created for the API Server. // +optional APIServerBackendService *string `json:"apiServerBackendService,omitempty"` // APIServerTargetProxy is the full reference to the target proxy // created for the API Server. // +optional APIServerTargetProxy *string `json:"apiServerTargetProxy,omitempty"` // APIServerForwardingRule is the full reference to the forwarding rule // created for the API Server. // +optional APIServerForwardingRule *string `json:"apiServerForwardingRule,omitempty"` }
Network encapsulates GCP networking resources.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // Name is the name of the network to be used. // +optional Name *string `json:"name,omitempty"` // AutoCreateSubnetworks: When set to true, the VPC network is created // in "auto" mode. When set to false, the VPC network is created in // "custom" mode. // // An auto mode VPC network starts with one subnet per region. Each // subnet has a predetermined range as described in Auto mode VPC // network IP ranges. // // Defaults to true. // +optional AutoCreateSubnetworks *bool `json:"autoCreateSubnetworks,omitempty"` // Subnets configuration. // +optional Subnets Subnets `json:"subnets,omitempty"` // Allow for configuration of load balancer backend (useful for changing apiserver port) // +optional LoadBalancerBackendPort *int32 `json:"loadBalancerBackendPort,omitempty"` }
NetworkSpec encapsulates all things related to a GCP network.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLifecycle ¶
type ResourceLifecycle string
ResourceLifecycle configures the lifecycle of a resource.
type ServiceAccount ¶
type ServiceAccount struct { // Email: Email address of the service account. Email string `json:"email,omitempty"` // Scopes: The list of scopes to be made available for this service // account. Scopes []string `json:"scopes,omitempty"` }
ServiceAccount describes compute.serviceAccount.
func (*ServiceAccount) DeepCopy ¶
func (in *ServiceAccount) DeepCopy() *ServiceAccount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccount.
func (*ServiceAccount) DeepCopyInto ¶
func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetSpec ¶
type SubnetSpec struct { // Name defines a unique identifier to reference this resource. Name string `json:"name,omitempty"` // CidrBlock is the range of internal addresses that are owned by this // subnetwork. Provide this property when you create the subnetwork. For // example, 10.0.0.0/8 or 192.168.0.0/16. Ranges must be unique and // non-overlapping within a network. Only IPv4 is supported. This field // can be set only at resource creation time. CidrBlock string `json:"cidrBlock,omitempty"` // Description is an optional description associated with the resource. // +optional Description *string `json:"description,omitempty"` // SecondaryCidrBlocks defines secondary CIDR ranges, // from which secondary IP ranges of a VM may be allocated // +optional SecondaryCidrBlocks map[string]string `json:"secondaryCidrBlocks,omitempty"` // Region is the name of the region where the Subnetwork resides. Region string `json:"region,omitempty"` // PrivateGoogleAccess defines whether VMs in this subnet can access // Google services without assigning external IP addresses // +optional PrivateGoogleAccess *bool `json:"privateGoogleAccess,omitempty"` // EnableFlowLogs: Whether to enable flow logging for this subnetwork. // If this field is not explicitly set, it will not appear in get // listings. If not set the default behavior is to disable flow logging. // +optional EnableFlowLogs *bool `json:"routeTableId"` }
SubnetSpec configures an GCP Subnet.
func (*SubnetSpec) DeepCopy ¶
func (in *SubnetSpec) DeepCopy() *SubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.
func (*SubnetSpec) DeepCopyInto ¶
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetSpec) String ¶
func (s *SubnetSpec) String() string
String returns a string representation of the subnet.
type Subnets ¶
type Subnets []*SubnetSpec
Subnets is a slice of Subnet.
func (Subnets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (Subnets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Subnets) FilterByRegion ¶
FilterByRegion returns a slice containing all subnets that live in the specified region.
func (Subnets) FindByName ¶
func (s Subnets) FindByName(name string) *SubnetSpec
FindByName returns a single subnet matching the given name or nil.
func (Subnets) ToMap ¶
func (s Subnets) ToMap() map[string]*SubnetSpec
ToMap returns a map from name to subnet.
Source Files ¶
- doc.go
- gcpcluster_conversion.go
- gcpcluster_types.go
- gcpcluster_webhook.go
- gcpclustertemplate_conversion.go
- gcpclustertemplate_types.go
- gcpclustertemplate_webhook.go
- gcpmachine_conversion.go
- gcpmachine_types.go
- gcpmachine_webhook.go
- gcpmachinetemplate_conversion.go
- gcpmachinetemplate_types.go
- gcpmachinetemplate_webhook.go
- groupversion_info.go
- labels.go
- types.go
- zz_generated.deepcopy.go