v1beta1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2025 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 (
	// NameVultrProviderPrefix is the tag prefix for
	// cluster-api-provider-Vultr owned components.
	NameVultrProviderPrefix = "sigs-k8s-io:capvultr"
	// APIServerRoleTagValue describes the value for the apiserver role.
	APIServerRoleTagValue = "apiserver"
	// NodeRoleTagValue describes the value for the node role.
	NodeRoleTagValue = "node"
)
View Source
const (
	// ClusterFinalizer allows ReconcileVultrCluster to clean up Vultr resources associated with VultrCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "vultrcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileVultrMachine to clean up Vultr resources associated with VultrMachine before
	// removing it from the apiserver.
	MachineFinalizer = "vultrmachine.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
)
View Source
var (
	SubscriptionStatusPending   = SubscriptionStatus("pending")
	SubscriptionStatusActive    = SubscriptionStatus("active")
	SubscriptionStatusSuspended = SubscriptionStatus("suspended")
	SubscriptionStatusClosed    = SubscriptionStatus("closed")
)
View Source
var (
	PowerStatusStarting = PowerStatus("starting")
	PowerStatusStopped  = PowerStatus("stopped")
	PowerStatusRunning  = PowerStatus("running")
)
View Source
var (
	ServerStateNone        = ServerState("none")
	ServerStateLocked      = ServerState("locked")
	ServerStateBooting     = ServerState("installingbooting")
	ServerStateIsoMounting = ServerState("isomounting")
	ServerStateOK          = ServerState("ok")
	ServerStateError       = ServerState("error")
)
View Source
var (
	// Default values for VultrLoadBalancer fields
	DefaultLBPort                          = 6443
	DefaultLBAlgorithm                     = "roundrobin"
	DefaultLBHealthCheckInterval           = 15
	DefaultLBHealthCheckTimeout            = 5
	DefaultLBHealthCheckUnhealthyThreshold = 5
	DefaultLBHealthCheckHealthyThreshold   = 5
)

Functions

func ClusterNameRoleTag

func ClusterNameRoleTag(clusterName, role string) string

ClusterNameRoleTag generates the tag with prefix `NameVultrProviderPrefix` and `RoleValue` as suffix It will generated tag like `sigs-k8s-io:capv:{clusterName}:{role}`.

func ClusterNameTag

func ClusterNameTag(clusterName string) string

ClusterNameTag generates the tag with prefix `NameVultrProviderPrefix` for resources associated with a cluster. It will generated tag like `sigs-k8s-io:capvultr:{clusterName}`.

func ClusterNameUIDRoleTag

func ClusterNameUIDRoleTag(clusterName, clusterUID, role string) string

ClusterNameUIDRoleTag generates the tag with prefix `NameVultrProviderPrefix` and `RoleValue` as suffix It will generated tag like `sigs-k8s-io:capvultr:{clusterName}:{UID}:{role}`.

func NameTagFromName

func NameTagFromName(name string) string

NameTagFromName returns Vultr safe name tag from name.

Types

type BuildTagParams

type BuildTagParams struct {
	// ClusterName is the cluster associated with the resource.
	ClusterName string
	// ClusterUID is the cluster uid from clusters.cluster.x-k8s.io uid
	ClusterUID string
	// Name is the name of the resource, it's applied as the tag "name" on Vultr.
	Name string
	// Role is the role associated to the resource.
	Role string
	// Any additional tags to be added to the resource.
	// +optional
	Additional Tags
}

BuildTagParams is used to build tags around an Vultr resource.

func (*BuildTagParams) DeepCopy

func (in *BuildTagParams) DeepCopy() *BuildTagParams

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

func (*BuildTagParams) DeepCopyInto

func (in *BuildTagParams) DeepCopyInto(out *BuildTagParams)

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

type ForwardingRule

type ForwardingRule struct {
	RuleID           string `json:"id,omitempty"`
	FrontendProtocol string `json:"frontend_protocol,omitempty"`
	FrontendPort     int    `json:"frontend_port,omitempty"`
	BackendProtocol  string `json:"backend_protocol,omitempty"`
	BackendPort      int    `json:"backend_port,omitempty"`
}

ForwardingRule represent a single forwarding rule

func (*ForwardingRule) DeepCopy

func (in *ForwardingRule) DeepCopy() *ForwardingRule

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

func (*ForwardingRule) DeepCopyInto

func (in *ForwardingRule) DeepCopyInto(out *ForwardingRule)

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

type GenericInfo

type GenericInfo struct {
	BalancingAlgorithm string          `json:"balancing_algorithm,omitempty"`
	SSLRedirect        *bool           `json:"ssl_redirect,omitempty"`
	StickySessions     *StickySessions `json:"sticky_sessions,omitempty"`
	ProxyProtocol      *bool           `json:"proxy_protocol,omitempty"`
	VPC                string          `json:"vpc,omitempty"`
}

GenericInfo represents generic configuration of your load balancer

func (*GenericInfo) DeepCopy

func (in *GenericInfo) DeepCopy() *GenericInfo

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

func (*GenericInfo) DeepCopyInto

func (in *GenericInfo) DeepCopyInto(out *GenericInfo)

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

type HealthCheck

type HealthCheck struct {
	Protocol           string `json:"protocol,omitempty"`
	Port               int    `json:"port,omitempty"`
	Path               string `json:"path,omitempty"`
	CheckInterval      int    `json:"check_interval,omitempty"`
	ResponseTimeout    int    `json:"response_timeout,omitempty"`
	UnhealthyThreshold int    `json:"unhealthy_threshold,omitempty"`
	HealthyThreshold   int    `json:"healthy_threshold,omitempty"`
}

HealthCheck represents your health check configuration for your load balancer.

func (*HealthCheck) DeepCopy

func (in *HealthCheck) DeepCopy() *HealthCheck

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

func (*HealthCheck) DeepCopyInto

func (in *HealthCheck) DeepCopyInto(out *HealthCheck)

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

type LBFirewallRule

type LBFirewallRule struct {
	RuleID string `json:"id,omitempty"`
	Port   int    `json:"port,omitempty"`
	IPType string `json:"ip_type,omitempty"`
	Source string `json:"source,omitempty"`
}

LBFirewallRule represents a single firewall rule

func (*LBFirewallRule) DeepCopy

func (in *LBFirewallRule) DeepCopy() *LBFirewallRule

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

func (*LBFirewallRule) DeepCopyInto

func (in *LBFirewallRule) DeepCopyInto(out *LBFirewallRule)

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

type NetworkSpec

type NetworkSpec struct {
	// Configures an API Server loadbalancers
	// +optional
	APIServerLoadbalancers VultrLoadBalancer `json:"apiServerLoadbalancers,omitempty"`
}

NetworkSpec encapsulates Vultr networking configuration.

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 PowerStatus

type PowerStatus string

PowerStatus represents that the VPS is powerd on or not

type ServerState

type ServerState string

ServerState represents a detail of server state.

type StickySessions

type StickySessions struct {
	CookieName string `json:"cookie_name,omitempty"`
}

StickySessions represents cookie for your load balancer

func (*StickySessions) DeepCopy

func (in *StickySessions) DeepCopy() *StickySessions

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

func (*StickySessions) DeepCopyInto

func (in *StickySessions) DeepCopyInto(out *StickySessions)

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

type SubscriptionStatus

type SubscriptionStatus string

ServerStatus represents the status of subscription.

type Tags

type Tags []string

Tags defines a slice of tags.

func BuildTags

func BuildTags(params BuildTagParams) Tags

BuildTags builds tags including the cluster tag and returns them in map form.

func (Tags) DeepCopy

func (in Tags) DeepCopy() Tags

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

func (Tags) DeepCopyInto

func (in Tags) DeepCopyInto(out *Tags)

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

type VultrCluster

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

	Spec   VultrClusterSpec   `json:"spec,omitempty"`
	Status VultrClusterStatus `json:"status,omitempty"`
}

VultrCluster is the Schema for the vultrclusters API

func (*VultrCluster) DeepCopy

func (in *VultrCluster) DeepCopy() *VultrCluster

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

func (*VultrCluster) DeepCopyInto

func (in *VultrCluster) DeepCopyInto(out *VultrCluster)

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

func (*VultrCluster) DeepCopyObject

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

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

func (*VultrCluster) GetConditions

func (r *VultrCluster) GetConditions() clusterv1.Conditions

func (*VultrCluster) SetConditions

func (r *VultrCluster) SetConditions(conditions clusterv1.Conditions)

type VultrClusterList

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

VultrClusterList contains a list of VultrCluster

func (*VultrClusterList) DeepCopy

func (in *VultrClusterList) DeepCopy() *VultrClusterList

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

func (*VultrClusterList) DeepCopyInto

func (in *VultrClusterList) DeepCopyInto(out *VultrClusterList)

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

func (*VultrClusterList) DeepCopyObject

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

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

type VultrClusterSpec

type VultrClusterSpec struct {
	// The Vultr Region (DCID) the cluster lives on
	Region string `json:"region"`

	// NetworkSpec encapsulates all things related to Vultr network.
	// +optional
	Network NetworkSpec `json:"network"`

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

	// VPCID is the Vultr VPC ID used for the cluster's load balancer.
	// +optional
	VPCID string `json:"vpc_id,omitempty"`
}

VultrClusterSpec defines the desired state of VultrCluster

func (*VultrClusterSpec) DeepCopy

func (in *VultrClusterSpec) DeepCopy() *VultrClusterSpec

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

func (*VultrClusterSpec) DeepCopyInto

func (in *VultrClusterSpec) DeepCopyInto(out *VultrClusterSpec)

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

type VultrClusterStatus

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

	// 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.ClusterStatusError `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"`

	// Conditions defines current service state of the VultrCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
	// Network encapsulates all things related to the Vultr network.
	// +optional
	Network VultrNetworkResource `json:"network,omitempty"`
}

VultrClusterStatus defines the observed state of VultrCluster

func (*VultrClusterStatus) DeepCopy

func (in *VultrClusterStatus) DeepCopy() *VultrClusterStatus

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

func (*VultrClusterStatus) DeepCopyInto

func (in *VultrClusterStatus) DeepCopyInto(out *VultrClusterStatus)

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

type VultrClusterTemplate

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

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

VultrClusterTemplate is the Schema for the vultrclustertemplates API

func (*VultrClusterTemplate) DeepCopy

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

func (*VultrClusterTemplate) DeepCopyInto

func (in *VultrClusterTemplate) DeepCopyInto(out *VultrClusterTemplate)

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

func (*VultrClusterTemplate) DeepCopyObject

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

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

type VultrClusterTemplateList

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

VultrClusterTemplateList contains a list of VultrClusterTemplate

func (*VultrClusterTemplateList) DeepCopy

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

func (*VultrClusterTemplateList) DeepCopyInto

func (in *VultrClusterTemplateList) DeepCopyInto(out *VultrClusterTemplateList)

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

func (*VultrClusterTemplateList) DeepCopyObject

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

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

type VultrClusterTemplateResource

type VultrClusterTemplateResource struct {
	Spec VultrClusterSpec `json:"spec"`
}

VultrClusterTemplateResource contains spec for VultrClusterSpec.

func (*VultrClusterTemplateResource) DeepCopy

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

func (*VultrClusterTemplateResource) DeepCopyInto

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

type VultrClusterTemplateSpec

type VultrClusterTemplateSpec struct {
	Template VultrClusterTemplateResource `json:"template"`
}

VultrClusterTemplateSpec defines the desired state of VultrClusterTemplate

func (*VultrClusterTemplateSpec) DeepCopy

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

func (*VultrClusterTemplateSpec) DeepCopyInto

func (in *VultrClusterTemplateSpec) DeepCopyInto(out *VultrClusterTemplateSpec)

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

type VultrLoadBalancer

type VultrLoadBalancer struct {
	ID              string           `json:"id,omitempty"`
	DateCreated     string           `json:"date_created,omitempty"`
	Region          string           `json:"region,omitempty"`
	Label           string           `json:"label,omitempty"`
	Status          string           `json:"status,omitempty"`
	IPV4            string           `json:"ipv4,omitempty"`
	IPV6            string           `json:"ipv6,omitempty"`
	Instances       []string         `json:"instances,omitempty"`
	Nodes           int              `json:"nodes,omitempty"`
	HealthCheck     *HealthCheck     `json:"health_check,omitempty"`
	GenericInfo     *GenericInfo     `json:"generic_info,omitempty"`
	SSLInfo         *bool            `json:"has_ssl,omitempty"`
	ForwardingRules []ForwardingRule `json:"forwarding_rules,omitempty"`
	FirewallRules   []LBFirewallRule `json:"firewall_rules,omitempty"`
}

VultrLoadBalancer represents the structure of a Vultr load balancer

func (*VultrLoadBalancer) ApplyDefaults

func (in *VultrLoadBalancer) ApplyDefaults()

ApplyDefaults sets default values for VultrLoadBalancer fields if they are not set.

func (*VultrLoadBalancer) DeepCopy

func (in *VultrLoadBalancer) DeepCopy() *VultrLoadBalancer

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

func (*VultrLoadBalancer) DeepCopyInto

func (in *VultrLoadBalancer) DeepCopyInto(out *VultrLoadBalancer)

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

type VultrMachine

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

	Spec   VultrMachineSpec   `json:"spec,omitempty"`
	Status VultrMachineStatus `json:"status,omitempty"`
}

VultrMachine is the Schema for the vultrmachines API

func (*VultrMachine) DeepCopy

func (in *VultrMachine) DeepCopy() *VultrMachine

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

func (*VultrMachine) DeepCopyInto

func (in *VultrMachine) DeepCopyInto(out *VultrMachine)

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

func (*VultrMachine) DeepCopyObject

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

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

func (*VultrMachine) GetConditions

func (r *VultrMachine) GetConditions() clusterv1.Conditions

func (*VultrMachine) SetConditions

func (r *VultrMachine) SetConditions(conditions clusterv1.Conditions)

type VultrMachineList

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

VultrMachineList contains a list of VultrMachine

func (*VultrMachineList) DeepCopy

func (in *VultrMachineList) DeepCopy() *VultrMachineList

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

func (*VultrMachineList) DeepCopyInto

func (in *VultrMachineList) DeepCopyInto(out *VultrMachineList)

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

func (*VultrMachineList) DeepCopyObject

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

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

type VultrMachineSpec

type VultrMachineSpec struct {
	// Foo is an example field of VultrMachine. Edit vultrmachine_types.go to remove/update
	// ProviderID is the unique identifier as specified by the cloud provider.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	//The Vultr snapshot_id to use when deploying this instance.
	Snapshot string `json:"snapshot_id,omitempty"`

	// PlanID is the id of Vultr VPS plan (VPSPLANID).
	PlanID string `json:"planID,omitempty"`

	// The Vultr Region (DCID) the cluster lives on
	// +kubebuilder:validation:Required
	Region string `json:"region"`

	// sshKey is the name of the ssh key to attach to the instance.
	// +optional
	SSHKey []string `json:"sshKey,omitempty"`

	// VPCID is the id of the VPC to be attached.
	// +optional
	VPCID string `json:"vpc_id,omitempty"`

	//VPCOnly indicates that the VPS will not receive a public IP or public NIC when true.
	VPCOnly bool `json:"vpc_only,omitempty"`

	//The Vultr firewall group ID to attach to the instance
	// +optional
	FirewallGroupID string `json:"firewall_group_id,omitempty"`

	// VPC2ID is the id of the VPC2.0 to be attached.
	// Deprecated: VPC2 is no longer supported and functionality will cease in a
	// future release
	// +optional
	VPC2ID string `json:"vpc2_id,omitempty"`
}

VultrMachineSpec defines the desired state of VultrMachine

func (*VultrMachineSpec) DeepCopy

func (in *VultrMachineSpec) DeepCopy() *VultrMachineSpec

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

func (*VultrMachineSpec) DeepCopyInto

func (in *VultrMachineSpec) DeepCopyInto(out *VultrMachineSpec)

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

type VultrMachineStatus

type VultrMachineStatus struct {

	// Ready represents the infrastructure is ready to be used or not.
	// +optional
	Ready bool `json:"ready"`

	// Addresses contains the Vultr instance associated addresses.
	Addresses []corev1.NodeAddress `json:"addresses,omitempty"`

	// ServerStatus represents the status of subscription.
	// +optional
	SubscriptionStatus *SubscriptionStatus `json:"subscriptionStatus,omitempty"`

	// PowerStatus represents that the VPS is powerd on or not
	// +optional
	PowerStatus *PowerStatus `json:"powerStatus,omitempty"`

	// ServerState represents a detail of server state.
	// +optional
	ServerState *ServerState `json:"serverState,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"`

	// Conditions defines current service state of the VultrCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

VultrMachineStatus defines the observed state of VultrMachine

func (*VultrMachineStatus) DeepCopy

func (in *VultrMachineStatus) DeepCopy() *VultrMachineStatus

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

func (*VultrMachineStatus) DeepCopyInto

func (in *VultrMachineStatus) DeepCopyInto(out *VultrMachineStatus)

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

type VultrMachineTemplate

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

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

func (*VultrMachineTemplate) DeepCopy

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

func (*VultrMachineTemplate) DeepCopyInto

func (in *VultrMachineTemplate) DeepCopyInto(out *VultrMachineTemplate)

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

func (*VultrMachineTemplate) DeepCopyObject

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

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

type VultrMachineTemplateList

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

+kubebuilder:object:root=true VultrMachineTemplateList contains a list of VultrMachineTemplate

func (*VultrMachineTemplateList) DeepCopy

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

func (*VultrMachineTemplateList) DeepCopyInto

func (in *VultrMachineTemplateList) DeepCopyInto(out *VultrMachineTemplateList)

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

func (*VultrMachineTemplateList) DeepCopyObject

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

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

type VultrMachineTemplateResource

type VultrMachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec VultrMachineSpec `json:"spec"`
}

VultrMachineTemplateResource describes the data needed to create a VultrMachine from a template.

func (*VultrMachineTemplateResource) DeepCopy

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

func (*VultrMachineTemplateResource) DeepCopyInto

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

type VultrMachineTemplateSpec

type VultrMachineTemplateSpec struct {
	Template VultrMachineTemplateResource `json:"template"`
}

VultrMachineTemplateSpec defines the desired state of VultrMachineTemplate

func (*VultrMachineTemplateSpec) DeepCopy

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

func (*VultrMachineTemplateSpec) DeepCopyInto

func (in *VultrMachineTemplateSpec) DeepCopyInto(out *VultrMachineTemplateSpec)

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

type VultrNetworkResource

type VultrNetworkResource struct {
	// APIServerLoadbalancersRef is the id of apiserver loadbalancers.
	// +optional
	APIServerLoadbalancersRef VultrResourceReference `json:"apiServerLoadbalancersRef,omitempty"`
}

VultrNetworkResource encapsulates Vultr networking resources.

func (*VultrNetworkResource) DeepCopy

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

func (*VultrNetworkResource) DeepCopyInto

func (in *VultrNetworkResource) DeepCopyInto(out *VultrNetworkResource)

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

type VultrResourceReference

type VultrResourceReference struct {
	// ID of Vultr resource
	// +optional
	ResourceID string `json:"resourceId,omitempty"`
	// Status of a Vultr resource
	// +optional
	ResourceSubscriptionStatus SubscriptionStatus `json:"resourceStatus,omitempty"`
	// Power Status of a Vultr resource
	// +optional
	ResourcePowerStatus PowerStatus `json:"powerStatus,omitempty"`
	// Server state of a Vultr resource
	// +optional
	ResourceServerState ServerState `json:"serverState,omitempty"`
}

VultrResourceReference is a reference to a Vultr resource.

func (*VultrResourceReference) DeepCopy

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

func (*VultrResourceReference) DeepCopyInto

func (in *VultrResourceReference) DeepCopyInto(out *VultrResourceReference)

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