v1beta1

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

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

View Source
const (
	// ClusterFinalizer allows ReconcileBMCCluster to clean up resources associated with BMCCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "bmccluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileBMCMachine to clean up resources associated with BMCMachine before
	// removing it from the apiserver.
	MachineFinalizer = "bmcmachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
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
)

Functions

This section is empty.

Types

type BMCCluster

type BMCCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BMCClusterSpec   `json:"spec,omitempty"`
	Status BMCClusterStatus `json:"status,omitempty"`
}

BMCCluster is the Schema for the bmcclusters API

func (*BMCCluster) DeepCopy

func (in *BMCCluster) DeepCopy() *BMCCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCCluster.

func (*BMCCluster) DeepCopyInto

func (in *BMCCluster) DeepCopyInto(out *BMCCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCCluster) DeepCopyObject

func (in *BMCCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCClusterList

type BMCClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BMCCluster `json:"items"`
}

BMCClusterList contains a list of BMCCluster

func (*BMCClusterList) DeepCopy

func (in *BMCClusterList) DeepCopy() *BMCClusterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCClusterList.

func (*BMCClusterList) DeepCopyInto

func (in *BMCClusterList) DeepCopyInto(out *BMCClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCClusterList) DeepCopyObject

func (in *BMCClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCClusterSpec

type BMCClusterSpec struct {
	// The BMC location the cluster lives in. Must be one of PHX, ASH, SGP, NLD,
	// CHI, SEA or AUS.
	Location LocationID `json:"location"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the
	// control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

BMCClusterSpec defines the desired state of BMCCluster

func (*BMCClusterSpec) DeepCopy

func (in *BMCClusterSpec) DeepCopy() *BMCClusterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCClusterSpec.

func (*BMCClusterSpec) DeepCopyInto

func (in *BMCClusterSpec) DeepCopyInto(out *BMCClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCClusterStatus

type BMCClusterStatus struct {
	// Ready denotes that the cluster (infrastructure) is ready.
	// +optional
	Ready bool `json:"ready"`

	// ErrorMessage indicates that there is a error reconciling the
	// state, and will be set to a descriptive error message.
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// ID is the BMC IP Block ID created for this cluster
	// +optional
	ID string `json:"id,omitempty"`

	// CIDR is the CIDR block in BMC created for this cluster
	// +optional
	CIDR string `json:"cidr,omitempty"`

	// BMCStatus is the status of the IP block as reported by BMC
	// +optional
	BMCStatus string `json:"status,omitempty"`
}

BMCClusterStatus defines the observed state of BMCCluster

func (*BMCClusterStatus) DeepCopy

func (in *BMCClusterStatus) DeepCopy() *BMCClusterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCClusterStatus.

func (*BMCClusterStatus) DeepCopyInto

func (in *BMCClusterStatus) DeepCopyInto(out *BMCClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCMachine

type BMCMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BMCMachineSpec   `json:"spec,omitempty"`
	Status BMCMachineStatus `json:"status,omitempty"`
}

BMCMachine is the Schema for the bmcmachines API

func (*BMCMachine) DeepCopy

func (in *BMCMachine) DeepCopy() *BMCMachine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachine.

func (*BMCMachine) DeepCopyInto

func (in *BMCMachine) DeepCopyInto(out *BMCMachine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCMachine) DeepCopyObject

func (in *BMCMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCMachineList

type BMCMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BMCMachine `json:"items"`
}

BMCMachineList contains a list of BMCMachine

func (*BMCMachineList) DeepCopy

func (in *BMCMachineList) DeepCopy() *BMCMachineList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineList.

func (*BMCMachineList) DeepCopyInto

func (in *BMCMachineList) DeepCopyInto(out *BMCMachineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCMachineList) DeepCopyObject

func (in *BMCMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCMachineSpec

type BMCMachineSpec struct {
	// To be set after the BMC server is created.
	// Required by the cluster API machine controller.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// Description of server.
	// +kubebuilder:validation:MaxLength=250
	Description string `json:"description,omitempty"`

	// OS ID used for server creation.
	// +kubebuilder:validation:Required
	OS ServerOS `json:"os,omitempty"`

	// Server type used for creation.
	// +kubebuilder:validation:Required
	Type ServerType `json:"type,omitempty"`

	// Location ID where the server is created.
	// +kubebuilder:validation:Required
	Location LocationID `json:"location,omitempty"`

	// Whether or not to install SSH Keys marked as default in additionl to any SSH keys speficied on this resource.
	// Defaults to true.
	InstallDefaultSSHKeys *bool `json:"installDefaultSshKeys"`

	// A list of SSH key IDs (BMC resource ID) that will be installed on the server in addition default SSH keys if enabled.
	// +kubebuilder:validation:Optional
	SSHKeyIDs []string `json:"sshKeyIds,omitempty"`

	// The type of networks where this server should be attached.
	// +kubebuilder:validation:Optional
	NetworkType NetworkType `json:"networkType,omitempty"`
}

BMCMachineSpec defines the desired state of BMCMachine

func (*BMCMachineSpec) DeepCopy

func (in *BMCMachineSpec) DeepCopy() *BMCMachineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineSpec.

func (*BMCMachineSpec) DeepCopyInto

func (in *BMCMachineSpec) DeepCopyInto(out *BMCMachineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCMachineStatus

type BMCMachineStatus struct {
	BMCServerID        string            `json:"id,omitempty"`
	BMCStatus          string            `json:"status,omitempty"`
	CPU                string            `json:"cpu,omitempty"`
	CPUCount           int32             `json:"cpuCount,omitempty"`
	CPUCores           int32             `json:"coresPerCpu,omitempty"`
	CPUFrequency       resource.Quantity `json:"cpuFrequency,omitempty"`
	Ram                string            `json:"ram,omitempty"`
	Storage            string            `json:"storage,omitempty"`
	PrivateIPAddresses []string          `json:"privateIpAddresses,omitempty"`
	PublicIPAddresses  []string          `json:"publicIpAddresses,omitempty"`

	// Cluster API fields
	Ready          bool                       `json:"ready,omitempty"`
	Addresses      []corev1.NodeAddress       `json:"addresses,omitempty"`
	FailureReason  *errors.MachineStatusError `json:"failureReason,omitempty"`
	FailureMessage *string                    `json:"failureMessage,omitempty"`
}

ServerStatus defines the observed state of Server

func (*BMCMachineStatus) DeepCopy

func (in *BMCMachineStatus) DeepCopy() *BMCMachineStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineStatus.

func (*BMCMachineStatus) DeepCopyInto

func (in *BMCMachineStatus) DeepCopyInto(out *BMCMachineStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCMachineTemplate

type BMCMachineTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec BMCMachineTemplateSpec `json:"spec,omitempty"`
}

BMCMachineTemplate is the Schema for the bmcmachinetemplates API

func (*BMCMachineTemplate) DeepCopy

func (in *BMCMachineTemplate) DeepCopy() *BMCMachineTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineTemplate.

func (*BMCMachineTemplate) DeepCopyInto

func (in *BMCMachineTemplate) DeepCopyInto(out *BMCMachineTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCMachineTemplate) DeepCopyObject

func (in *BMCMachineTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCMachineTemplateList

type BMCMachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []BMCMachineTemplate `json:"items"`
}

BMCMachineTemplateList contains a list of BMCMachineTemplate

func (*BMCMachineTemplateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineTemplateList.

func (*BMCMachineTemplateList) DeepCopyInto

func (in *BMCMachineTemplateList) DeepCopyInto(out *BMCMachineTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BMCMachineTemplateList) DeepCopyObject

func (in *BMCMachineTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BMCMachineTemplateResource

type BMCMachineTemplateResource 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 BMCMachineSpec `json:"spec"`
}

BMCMachineTemplateResource describes the data needed to create am BMCMachine from a template.

func (*BMCMachineTemplateResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineTemplateResource.

func (*BMCMachineTemplateResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BMCMachineTemplateSpec

type BMCMachineTemplateSpec struct {
	Template BMCMachineTemplateResource `json:"template"`
}

BMCMachineTemplateSpec defines the desired state of BMCMachineTemplate

func (*BMCMachineTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BMCMachineTemplateSpec.

func (*BMCMachineTemplateSpec) DeepCopyInto

func (in *BMCMachineTemplateSpec) DeepCopyInto(out *BMCMachineTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocationID

type LocationID string

LocationID identifies a BMC region. Only one of the following locations may be specified. If none of the following locations are specified, the default one is Phoenix. +kubebuilder:validation:Enum=PHX;ASH;SGP;NLD

const (
	Phoenix   LocationID = `PHX`
	Ashburn   LocationID = `ASH`
	Singapore LocationID = `SGP`
	Amsterdam LocationID = `NLD`
)

type NetworkType

type NetworkType string

NetworkType represents the type of networking configuraiton a server should use. Only one of the following network types may be specified. If none of the following network types are specified, the default one is PublicAndPrivate. +kubebuilder:validation:Enum=PUBLIC_AND_PRIVATE;PRIVATE_ONLY

const (
	PublicAndPrivate NetworkType = `PUBLIC_AND_PRIVATE`
	PrivateOnly      NetworkType = `PRIVATE_ONLY`
)

type ServerOS

type ServerOS string

ServerOS describes the operating system image for this server. Only one of the following server OSs may be specified. If none of the following OSs are specified, the default one is UbuntuBionic. +kubebuilder:validation:Enum=ubuntu/bionic;ubuntu/focal

const (
	UbuntuBionic ServerOS = `ubuntu/bionic`
	UbuntuFocal  ServerOS = `ubuntu/focal`
)

type ServerPricingModel

type ServerPricingModel string

ServerPricingModel describes the pricing model used for a specific server resource. One on of the following pricing models may be specified. If none of the following types are specified, the default one is PMHourly. +kubebuilder:validation:Enum=HOURLY;ONE_MONTH_RESERVATION;TWELVE_MONTHS_RESERVATION;TWENTY_FOUR_MONTHS_RESERVATION;THIRTY_SIX_MONTHS_RESERVATION

const (
	PMHourly                      ServerPricingModel = `HOURLY`
	PMOneMonthReservation         ServerPricingModel = `ONE_MONTH_RESERVATION`
	PMTwelveMonthsReservation     ServerPricingModel = `TWELVE_MONTHS_RESERVATION`
	PMTwentyFourMonthsReservation ServerPricingModel = `TWENTY_FOUR_MONTHS_RESERVATION`
	PMThirtySixMonthsReservation  ServerPricingModel = `THIRTY_SIX_MONTHS_RESERVATION`
)

type ServerType

type ServerType string

ServerType describes the hardware to allocate for this server. Only one of the following server types may be specified. If none of the following types are specified, the default one is S1C1Small. +kubebuilder:validation:Enum=s0.d1.small;s0.d1.medium;s1.c1.small;s1.c1.medium;s1.c2.medium;s1.c2.large;s1.e1.small;s1.e1.medium;s1.e1.large;s2.c1.small;s2.c1.medium;s2.c1.large;s2.c2.small;s2.c2.medium;s2.c2.large;d2.c1.medium;d2.c2.medium;d2.c3.medium;d2.c4.medium;d2.c5.medium;d2.c1.large;d2.c2.large;d2.c3.large;d2.c4.large;d2.c4.storage.pliops1;d2.c5.large;d2.m1.medium;d2.m1.large;d2.m2.medium;d2.m2.large;d2.m2.xlarge;d1.c1.small;d1.c2.small;d1.c3.small;d1.c4.small;d1.c1.medium;d1.c2.medium;d1.c3.medium;d1.c4.medium;d1.c1.large;d1.c2.large;d1.c3.large;d1.c4.large;d1.m1.medium;d1.m2.medium;d1.m3.medium;d1.m4.medium

const (
	S0D1Small          ServerType = `s0.d1.small`
	S0D1Medium         ServerType = `s0.d1.medium`
	S1C1Small          ServerType = `s1.c1.small`
	S1C1Medium         ServerType = `s1.c1.medium`
	S1C2Medium         ServerType = `s1.c2.medium`
	S1C2Large          ServerType = `s1.c2.large`
	S1E1Small          ServerType = `s1.e1.small`
	S1E1Medium         ServerType = `s1.e1.medium`
	S1E1Large          ServerType = `s1.e1.large`
	S2C1Small          ServerType = `s2.c1.small`
	S2C1Medium         ServerType = `s2.c1.medium`
	S2C1Large          ServerType = `s2.c1.large`
	S2C2Small          ServerType = `s2.c2.small`
	S2C2Medium         ServerType = `s2.c2.medium`
	S2C2Large          ServerType = `s2.c2.large`
	D2C1Medium         ServerType = `d2.c1.medium`
	D2C2Medium         ServerType = `d2.c2.medium`
	D2C3Medium         ServerType = `d2.c3.medium`
	D2C4Medium         ServerType = `d2.c4.medium`
	D2C5Medium         ServerType = `d2.c5.medium`
	D2C1Large          ServerType = `d2.c1.large`
	D2C2Large          ServerType = `d2.c2.large`
	D2C3Large          ServerType = `d2.c3.large`
	D2C4Large          ServerType = `d2.c4.large`
	D2C4StoragePliops1 ServerType = `d2.c4.storage.pliops1`
	D2C5Large          ServerType = `d2.c5.large`
	D2M1Medium         ServerType = `d2.m1.medium`
	D2M1Large          ServerType = `d2.m1.large`
	D2M2Medium         ServerType = `d2.m2.medium`
	D2M2Large          ServerType = `d2.m2.large`
	D2M2Xlarge         ServerType = `d2.m2.xlarge`
	D1C1Small          ServerType = `d1.c1.small`
	D1C2Small          ServerType = `d1.c2.small`
	D1C3Small          ServerType = `d1.c3.small`
	D1C4Small          ServerType = `d1.c4.small`
	D1C1Medium         ServerType = `d1.c1.medium`
	D1C2Medium         ServerType = `d1.c2.medium`
	D1C3Medium         ServerType = `d1.c3.medium`
	D1C4Medium         ServerType = `d1.c4.medium`
	D1C1Large          ServerType = `d1.c1.large`
	D1C2Large          ServerType = `d1.c2.large`
	D1C3Large          ServerType = `d1.c3.large`
	D1C4Large          ServerType = `d1.c4.large`
	D1M1Medium         ServerType = `d1.m1.medium`
	D1M2Medium         ServerType = `d1.m2.medium`
	D1M3Medium         ServerType = `d1.m3.medium`
	D1M4Medium         ServerType = `d1.m4.medium`
)

type Tag

type Tag struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TagList

type TagList []Tag

func (TagList) DeepCopy

func (in TagList) DeepCopy() TagList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TagList.

func (TagList) DeepCopyInto

func (in TagList) DeepCopyInto(out *TagList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL