Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the osac v1alpha1 API group +kubebuilder:object:generate=true +groupName=osac.openshift.io
Index ¶
- Constants
- Variables
- func GetExternalIPAttachmentStatusCondition(attachment *ExternalIPAttachment, ...) *metav1.Condition
- func GetExternalIPPoolStatusCondition(pool *ExternalIPPool, conditionType ExternalIPPoolConditionType) *metav1.Condition
- func GetExternalIPStatusCondition(ip *ExternalIP, conditionType ExternalIPConditionType) *metav1.Condition
- func GetNATGatewayStatusCondition(gateway *NATGateway, conditionType NATGatewayConditionType) *metav1.Condition
- func GetPublicIPAttachmentStatusCondition(attachment *PublicIPAttachment, conditionType PublicIPAttachmentConditionType) *metav1.Condition
- func GetPublicIPPoolStatusCondition(pool *PublicIPPool, conditionType PublicIPPoolConditionType) *metav1.Condition
- func GetPublicIPStatusCondition(ip *PublicIP, conditionType PublicIPConditionType) *metav1.Condition
- func GetStatusCondition(subnet *Subnet, conditionType SubnetConditionType) *metav1.Condition
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- func SetExternalIPAttachmentStatusCondition(attachment *ExternalIPAttachment, condition metav1.Condition)
- func SetExternalIPPoolStatusCondition(pool *ExternalIPPool, condition metav1.Condition)
- func SetExternalIPStatusCondition(ip *ExternalIP, condition metav1.Condition)
- func SetNATGatewayStatusCondition(gateway *NATGateway, condition metav1.Condition)
- func SetPublicIPAttachmentStatusCondition(attachment *PublicIPAttachment, condition metav1.Condition)
- func SetPublicIPPoolStatusCondition(pool *PublicIPPool, condition metav1.Condition)
- func SetPublicIPStatusCondition(ip *PublicIP, condition metav1.Condition)
- func SetStatusCondition(subnet *Subnet, condition metav1.Condition)
- type ClusterNetworkSpec
- type ClusterOrder
- func (in *ClusterOrder) DeepCopy() *ClusterOrder
- func (in *ClusterOrder) DeepCopyInto(out *ClusterOrder)
- func (in *ClusterOrder) DeepCopyObject() runtime.Object
- func (co *ClusterOrder) EnsureClusterReference()
- func (co *ClusterOrder) GetClusterReferenceHostedClusterName() string
- func (co *ClusterOrder) GetClusterReferenceNamespace() string
- func (co *ClusterOrder) GetClusterReferenceRoleBindingName() string
- func (co *ClusterOrder) GetClusterReferenceServiceAccountName() string
- func (co *ClusterOrder) GetName() string
- func (co ClusterOrder) IsStatusConditionFalse(conditionType string) bool
- func (co ClusterOrder) IsStatusConditionPresentAndEqual(conditionType string, status metav1.ConditionStatus) bool
- func (co ClusterOrder) IsStatusConditionTrue(conditionType string) bool
- func (co *ClusterOrder) RemoveStatusCondition(conditionType string) bool
- func (co *ClusterOrder) SetClusterReferenceHostedClusterName(name string)
- func (co *ClusterOrder) SetClusterReferenceNamespace(name string)
- func (co *ClusterOrder) SetClusterReferenceRoleBindingName(name string)
- func (co *ClusterOrder) SetClusterReferenceServiceAccountName(name string)
- func (co *ClusterOrder) SetStatusCondition(conditionType string, status metav1.ConditionStatus, message string, ...) bool
- type ClusterOrderClusterReferenceType
- type ClusterOrderConditionType
- type ClusterOrderList
- type ClusterOrderPhaseType
- type ClusterOrderSpec
- type ClusterOrderStatus
- type ClusterStorageStatus
- type ComputeInstance
- func (in *ComputeInstance) DeepCopy() *ComputeInstance
- func (in *ComputeInstance) DeepCopyInto(out *ComputeInstance)
- func (in *ComputeInstance) DeepCopyObject() runtime.Object
- func (ci *ComputeInstance) EnsureTenantReference()
- func (ci *ComputeInstance) EnsureVirtualMachineReference()
- func (ci *ComputeInstance) GetIPAddress() string
- func (ci *ComputeInstance) GetName() string
- func (ci *ComputeInstance) GetPublicIPAddress() string
- func (ci *ComputeInstance) GetStatusCondition(conditionType ComputeInstanceConditionType) *metav1.Condition
- func (ci *ComputeInstance) GetTenantReferenceName() string
- func (ci *ComputeInstance) GetTenantReferenceNamespace() string
- func (ci *ComputeInstance) GetVirtualMachineReferenceKubeVirtVirtualMachineName() string
- func (ci *ComputeInstance) GetVirtualMachineReferenceNamespace() string
- func (ci *ComputeInstance) IsStatusConditionFalse(conditionType ComputeInstanceConditionType) bool
- func (ci *ComputeInstance) IsStatusConditionTrue(conditionType ComputeInstanceConditionType) bool
- func (ci *ComputeInstance) IsStatusConditionUnknown(conditionType ComputeInstanceConditionType) bool
- func (ci *ComputeInstance) SetIPAddress(ip string)
- func (ci *ComputeInstance) SetPublicIPAddress(ip string)
- func (ci *ComputeInstance) SetStatusCondition(conditionType ComputeInstanceConditionType, status metav1.ConditionStatus, ...) bool
- func (ci *ComputeInstance) SetTenantReferenceName(name string)
- func (ci *ComputeInstance) SetTenantReferenceNamespace(name string)
- func (ci *ComputeInstance) SetVirtualMachineReferenceKubeVirtVirtualMachineName(name string)
- func (ci *ComputeInstance) SetVirtualMachineReferenceNamespace(name string)
- type ComputeInstanceConditionType
- type ComputeInstanceList
- type ComputeInstancePhaseType
- type ComputeInstanceSpec
- type ComputeInstanceStatus
- type DiskSpec
- type ExternalIP
- type ExternalIPAttachment
- type ExternalIPAttachmentConditionType
- type ExternalIPAttachmentList
- type ExternalIPAttachmentPhaseType
- type ExternalIPAttachmentSpec
- type ExternalIPAttachmentStatus
- type ExternalIPConditionType
- type ExternalIPList
- type ExternalIPPhaseType
- type ExternalIPPool
- type ExternalIPPoolConditionType
- type ExternalIPPoolList
- type ExternalIPPoolPhaseType
- type ExternalIPPoolSpec
- type ExternalIPPoolStatus
- type ExternalIPSpec
- type ExternalIPStateType
- type ExternalIPStatus
- type ImageSourceType
- type ImageSpec
- type JobState
- type JobStatus
- type JobType
- type NATGateway
- type NATGatewayConditionType
- type NATGatewayList
- type NATGatewayPhaseType
- type NATGatewaySpec
- type NATGatewayStatus
- type NetworkAttachment
- type NodeRequest
- type PublicIP
- type PublicIPAttachment
- type PublicIPAttachmentConditionType
- type PublicIPAttachmentList
- type PublicIPAttachmentPhaseType
- type PublicIPAttachmentSpec
- type PublicIPAttachmentStatus
- type PublicIPConditionType
- type PublicIPList
- type PublicIPPhaseType
- type PublicIPPool
- type PublicIPPoolConditionType
- type PublicIPPoolList
- type PublicIPPoolPhaseType
- type PublicIPPoolSpec
- type PublicIPPoolStatus
- type PublicIPSpec
- type PublicIPStateType
- type PublicIPStatus
- type ResolvedStorageClass
- type RunStrategyType
- type SecurityGroup
- type SecurityGroupList
- type SecurityGroupPhaseType
- type SecurityGroupProtocol
- type SecurityGroupSpec
- type SecurityGroupStatus
- type SecurityRule
- type StorageBackendStatus
- type Subnet
- type SubnetConditionType
- type SubnetList
- type SubnetPhaseType
- type SubnetSpec
- type SubnetStatus
- type Tenant
- func (in *Tenant) DeepCopy() *Tenant
- func (in *Tenant) DeepCopyInto(out *Tenant)
- func (in *Tenant) DeepCopyObject() runtime.Object
- func (t *Tenant) GetStatusCondition(conditionType TenantConditionType) *metav1.Condition
- func (t *Tenant) SetStatusCondition(conditionType TenantConditionType, status metav1.ConditionStatus, ...) bool
- type TenantConditionType
- type TenantList
- type TenantPhaseType
- type TenantReferenceType
- type TenantSpec
- type TenantStatus
- type VirtualMachineReferenceType
- type VirtualNetwork
- type VirtualNetworkList
- type VirtualNetworkPhaseType
- type VirtualNetworkSpec
- type VirtualNetworkStatus
Constants ¶
const ( ConditionAccepted = "Accepted" ConditionNamespaceCreated = "NamespaceCreated" ConditionControlPlaneCreated = "ControlPlaneCreated" ConditionControlPlaneAvailable = "ControlPlaneAvailable" ConditionClusterAvailable = "ClusterAvailable" ConditionProgressing = "Progressing" ConditionDeleting = "Deleting" ConditionCompleted = "Completed" ConditionAvailable = "Available" ConditionReady = "Ready" )
Common condition constants
const ( ReasonInitialized = "Initialized" ReasonAsExpected = "AsExpected" ReasonCreated = "Created" ReasonProgressing = "Progressing" ReasonFailed = "Failed" ReasonDeleting = "Deleting" ReasonWebhookTriggered = "WebhookTriggered" ReasonWebhookFailed = "WebhookFailed" ReasonTenantNotReady = "TenantNotReady" ReasonProvisioningStorage = "ProvisioningStorage" ReasonWaitingForVM = "WaitingForVM" ReasonInfrastructureReady = "InfrastructureReady" ReasonProvisioningFailed = "ProvisioningFailed" )
Common reason constants
const ( // SubnetProvisioningSucceeded indicates successful provisioning SubnetProvisioningSucceeded = "ProvisioningSucceeded" // SubnetProvisioningFailed indicates provisioning failed SubnetProvisioningFailed = "ProvisioningFailed" // SubnetDeletionSucceeded indicates successful deletion SubnetDeletionSucceeded = "DeletionSucceeded" // SubnetDeletionFailed indicates deletion failed SubnetDeletionFailed = "DeletionFailed" // SubnetNetworkProviderError indicates an error from the network provider SubnetNetworkProviderError = "NetworkProviderError" )
Reason constants for common Subnet scenarios
const ( TenantReasonFound = "Found" TenantReasonNotFound = "NotFound" TenantReasonMultipleFound = "MultipleFound" TenantReasonNoProvider = "NoProvider" )
Reason constants for Tenant conditions
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "osac.openshift.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func GetExternalIPAttachmentStatusCondition ¶ added in v0.0.6
func GetExternalIPAttachmentStatusCondition(attachment *ExternalIPAttachment, conditionType ExternalIPAttachmentConditionType) *metav1.Condition
GetExternalIPAttachmentStatusCondition returns the condition with the specified type from the ExternalIPAttachment status
func GetExternalIPPoolStatusCondition ¶ added in v0.0.6
func GetExternalIPPoolStatusCondition(pool *ExternalIPPool, conditionType ExternalIPPoolConditionType) *metav1.Condition
GetExternalIPPoolStatusCondition returns the condition with the specified type from the ExternalIPPool status
func GetExternalIPStatusCondition ¶ added in v0.0.6
func GetExternalIPStatusCondition(ip *ExternalIP, conditionType ExternalIPConditionType) *metav1.Condition
GetExternalIPStatusCondition returns the condition with the specified type from the ExternalIP status
func GetNATGatewayStatusCondition ¶ added in v0.0.7
func GetNATGatewayStatusCondition(gateway *NATGateway, conditionType NATGatewayConditionType) *metav1.Condition
GetNATGatewayStatusCondition returns the condition with the specified type from the NATGateway status
func GetPublicIPAttachmentStatusCondition ¶ added in v0.0.3
func GetPublicIPAttachmentStatusCondition(attachment *PublicIPAttachment, conditionType PublicIPAttachmentConditionType) *metav1.Condition
GetPublicIPAttachmentStatusCondition returns the condition with the specified type from the PublicIPAttachment status
func GetPublicIPPoolStatusCondition ¶
func GetPublicIPPoolStatusCondition(pool *PublicIPPool, conditionType PublicIPPoolConditionType) *metav1.Condition
GetPublicIPPoolStatusCondition returns the condition with the specified type from the PublicIPPool status
func GetPublicIPStatusCondition ¶
func GetPublicIPStatusCondition(ip *PublicIP, conditionType PublicIPConditionType) *metav1.Condition
GetPublicIPStatusCondition returns the condition with the specified type from the PublicIP status
func GetStatusCondition ¶
func GetStatusCondition(subnet *Subnet, conditionType SubnetConditionType) *metav1.Condition
GetStatusCondition returns the condition with the specified type from the Subnet status
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
func SetExternalIPAttachmentStatusCondition ¶ added in v0.0.6
func SetExternalIPAttachmentStatusCondition(attachment *ExternalIPAttachment, condition metav1.Condition)
SetExternalIPAttachmentStatusCondition sets the condition with the specified type in the ExternalIPAttachment status
func SetExternalIPPoolStatusCondition ¶ added in v0.0.6
func SetExternalIPPoolStatusCondition(pool *ExternalIPPool, condition metav1.Condition)
SetExternalIPPoolStatusCondition sets the condition with the specified type in the ExternalIPPool status
func SetExternalIPStatusCondition ¶ added in v0.0.6
func SetExternalIPStatusCondition(ip *ExternalIP, condition metav1.Condition)
SetExternalIPStatusCondition sets the condition with the specified type in the ExternalIP status
func SetNATGatewayStatusCondition ¶ added in v0.0.7
func SetNATGatewayStatusCondition(gateway *NATGateway, condition metav1.Condition)
SetNATGatewayStatusCondition sets the condition with the specified type in the NATGateway status
func SetPublicIPAttachmentStatusCondition ¶ added in v0.0.3
func SetPublicIPAttachmentStatusCondition(attachment *PublicIPAttachment, condition metav1.Condition)
SetPublicIPAttachmentStatusCondition sets the condition with the specified type in the PublicIPAttachment status
func SetPublicIPPoolStatusCondition ¶
func SetPublicIPPoolStatusCondition(pool *PublicIPPool, condition metav1.Condition)
SetPublicIPPoolStatusCondition sets the condition with the specified type in the PublicIPPool status
func SetPublicIPStatusCondition ¶
SetPublicIPStatusCondition sets the condition with the specified type in the PublicIP status
func SetStatusCondition ¶
SetStatusCondition sets the condition with the specified type in the Subnet status
Types ¶
type ClusterNetworkSpec ¶
type ClusterNetworkSpec struct {
// PodCIDR is the CIDR for the cluster's pod network.
// Defaults to 10.128.0.0/14 if not specified.
// +kubebuilder:validation:Optional
// Coarse format check only — full CIDR validation (e.g. net.ParseCIDR) is done server-side.
// +kubebuilder:validation:Pattern=`^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$`
PodCIDR string `json:"podCIDR,omitempty"`
// ServiceCIDR is the CIDR for the cluster's service network.
// Defaults to 172.30.0.0/16 if not specified.
// +kubebuilder:validation:Optional
// Coarse format check only — full CIDR validation (e.g. net.ParseCIDR) is done server-side.
// +kubebuilder:validation:Pattern=`^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$`
ServiceCIDR string `json:"serviceCIDR,omitempty"`
}
ClusterNetworkSpec defines networking configuration for a cluster.
func (*ClusterNetworkSpec) DeepCopy ¶
func (in *ClusterNetworkSpec) DeepCopy() *ClusterNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkSpec.
func (*ClusterNetworkSpec) DeepCopyInto ¶
func (in *ClusterNetworkSpec) DeepCopyInto(out *ClusterNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterOrder ¶
type ClusterOrder struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterOrderSpec `json:"spec,omitempty"`
Status ClusterOrderStatus `json:"status,omitempty"`
}
ClusterOrder is the Schema for the clusterorders API
func (*ClusterOrder) DeepCopy ¶
func (in *ClusterOrder) DeepCopy() *ClusterOrder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOrder.
func (*ClusterOrder) DeepCopyInto ¶
func (in *ClusterOrder) DeepCopyInto(out *ClusterOrder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterOrder) DeepCopyObject ¶
func (in *ClusterOrder) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterOrder) EnsureClusterReference ¶
func (co *ClusterOrder) EnsureClusterReference()
func (*ClusterOrder) GetClusterReferenceHostedClusterName ¶
func (co *ClusterOrder) GetClusterReferenceHostedClusterName() string
func (*ClusterOrder) GetClusterReferenceNamespace ¶
func (co *ClusterOrder) GetClusterReferenceNamespace() string
func (*ClusterOrder) GetClusterReferenceRoleBindingName ¶
func (co *ClusterOrder) GetClusterReferenceRoleBindingName() string
func (*ClusterOrder) GetClusterReferenceServiceAccountName ¶
func (co *ClusterOrder) GetClusterReferenceServiceAccountName() string
func (*ClusterOrder) GetName ¶
func (co *ClusterOrder) GetName() string
GetName returns the name of the ClusterOrder resource
func (ClusterOrder) IsStatusConditionFalse ¶
func (co ClusterOrder) IsStatusConditionFalse(conditionType string) bool
func (ClusterOrder) IsStatusConditionPresentAndEqual ¶
func (co ClusterOrder) IsStatusConditionPresentAndEqual(conditionType string, status metav1.ConditionStatus) bool
func (ClusterOrder) IsStatusConditionTrue ¶
func (co ClusterOrder) IsStatusConditionTrue(conditionType string) bool
func (*ClusterOrder) RemoveStatusCondition ¶
func (co *ClusterOrder) RemoveStatusCondition(conditionType string) bool
func (*ClusterOrder) SetClusterReferenceHostedClusterName ¶
func (co *ClusterOrder) SetClusterReferenceHostedClusterName(name string)
func (*ClusterOrder) SetClusterReferenceNamespace ¶
func (co *ClusterOrder) SetClusterReferenceNamespace(name string)
func (*ClusterOrder) SetClusterReferenceRoleBindingName ¶
func (co *ClusterOrder) SetClusterReferenceRoleBindingName(name string)
func (*ClusterOrder) SetClusterReferenceServiceAccountName ¶
func (co *ClusterOrder) SetClusterReferenceServiceAccountName(name string)
func (*ClusterOrder) SetStatusCondition ¶
func (co *ClusterOrder) SetStatusCondition(conditionType string, status metav1.ConditionStatus, message string, reason string) bool
type ClusterOrderClusterReferenceType ¶
type ClusterOrderClusterReferenceType struct {
// Namespace that contains the HostedCluster resource
Namespace string `json:"namespace"`
HostedClusterName string `json:"hostedClusterName"`
ServiceAccountName string `json:"serviceAccountName"`
RoleBindingName string `json:"roleBindingName"`
}
ClusterOrderClusterReferenceType contains a reference to the namespace created by this ClusterOrder
func (*ClusterOrderClusterReferenceType) DeepCopy ¶
func (in *ClusterOrderClusterReferenceType) DeepCopy() *ClusterOrderClusterReferenceType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOrderClusterReferenceType.
func (*ClusterOrderClusterReferenceType) DeepCopyInto ¶
func (in *ClusterOrderClusterReferenceType) DeepCopyInto(out *ClusterOrderClusterReferenceType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterOrderConditionType ¶
type ClusterOrderConditionType string
ClusterOrderConditionType is a valid value for .status.conditions.type
const ( // ClusterOrderConditionAccepted means the order has been accepted but work has not yet started ClusterOrderConditionAccepted ClusterOrderConditionType = "Accepted" // ClusterOrderConditionProgressing means that an update is in progress ClusterOrderConditionProgressing ClusterOrderConditionType = "Progressing" // ClusterOrderConditionControlPlaneAvailable means the cluster control plane is ready ClusterOrderConditionControlPlaneAvailable ClusterOrderConditionType = "ControlPlaneAvailable" // ClusterOrderConditionAvailable means the cluster is available ClusterOrderConditionAvailable ClusterOrderConditionType = "Available" // ClusterOrderConditionClusterStorageReady indicates whether StorageClasses // and CSI drivers are installed on the CaaS cluster for this tenant. // Owned by the OSAC Storage Controller. Does not gate Phase=Ready. ClusterOrderConditionClusterStorageReady ClusterOrderConditionType = "ClusterStorageReady" )
type ClusterOrderList ¶
type ClusterOrderList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterOrder `json:"items"`
}
ClusterOrderList contains a list of ClusterOrder
func (*ClusterOrderList) DeepCopy ¶
func (in *ClusterOrderList) DeepCopy() *ClusterOrderList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOrderList.
func (*ClusterOrderList) DeepCopyInto ¶
func (in *ClusterOrderList) DeepCopyInto(out *ClusterOrderList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterOrderList) DeepCopyObject ¶
func (in *ClusterOrderList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterOrderPhaseType ¶
type ClusterOrderPhaseType string
ClusterOrderPhaseType is a valid value for .status.phase
const ( // ClusterOrderPhaseProgressing means an update is in progress ClusterOrderPhaseProgressing ClusterOrderPhaseType = "Progressing" // ClusterOrderPhaseFailed means the cluster deployment or update has failed ClusterOrderPhaseFailed ClusterOrderPhaseType = "Failed" // ClusterOrderPhaseReady means the cluster and all associated resources are ready ClusterOrderPhaseReady ClusterOrderPhaseType = "Ready" // ClusterOrderPhaseDeleting means there has been a request to delete the ClusterOrder ClusterOrderPhaseDeleting ClusterOrderPhaseType = "Deleting" )
type ClusterOrderSpec ¶
type ClusterOrderSpec struct {
// TemplateID is the unique identigier of the cluster template to use when creating this cluster
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern=^[a-zA-Z_][a-zA-Z0-9._]*$
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="templateID is immutable"
TemplateID string `json:"templateID,omitempty"`
// TemplateParameters is a JSON-encoded map of the parameter values for the
// selected cluster template.
// +kubebuilder:validation:Optional
TemplateParameters string `json:"templateParameters,omitempty"`
// NodeRequests defines the types of nodes and number of each type of node that will be used
// to build the cluster. This value is optional and if not provided will be filled in with template-provided
// defaults. The selected template may limit what node types you can request.
// +kubebuilder:validation:Optional
NodeRequests []NodeRequest `json:"nodeRequests,omitempty"`
// PullSecret contains credentials for authenticating to container image repositories.
// If not provided, the provider's default pull secret is used.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MaxLength=262144
PullSecret string `json:"pullSecret,omitempty"`
// SSHPublicKey is an SSH public key installed on cluster worker nodes.
// If not provided, the provider's default SSH key is used.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MaxLength=16384
SSHPublicKey string `json:"sshPublicKey,omitempty"`
// ReleaseImage is the OCP release image URL that controls the OpenShift version.
// If not provided, the template's default release image is used.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MaxLength=512
// +kubebuilder:validation:Pattern=`^.+/.+:.+$`
ReleaseImage string `json:"releaseImage,omitempty"`
// Network contains cluster networking configuration.
// +kubebuilder:validation:Optional
Network *ClusterNetworkSpec `json:"network,omitempty"`
}
ClusterOrderSpec defines the desired state of ClusterOrder
func (*ClusterOrderSpec) DeepCopy ¶
func (in *ClusterOrderSpec) DeepCopy() *ClusterOrderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOrderSpec.
func (*ClusterOrderSpec) DeepCopyInto ¶
func (in *ClusterOrderSpec) DeepCopyInto(out *ClusterOrderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterOrderStatus ¶
type ClusterOrderStatus struct {
// Phase provides a single-value overview of the state of the ClusterOrder
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase ClusterOrderPhaseType `json:"phase,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the ClusterOrder
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Reference to the namespace that contains the HostedCluster resource
// +kubebuilder:validation:Optional
ClusterReference *ClusterOrderClusterReferenceType `json:"clusterReference,omitempty"`
// NodeRequests reflects how many nodes are currently associated with the ClusterOrder
NodeRequests []NodeRequest `json:"nodeRequests,omitempty"`
// ProvisioningJobs tracks the history of provision and deprovision operations
// Ordered chronologically, with latest operations at the end
// Limited to the last N jobs (configurable via OSAC_MAX_JOB_HISTORY, default 10)
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// ClusterStorageJobs holds the history of cluster storage provisioning/deprovisioning jobs
// +kubebuilder:validation:Optional
ClusterStorageJobs []JobStatus `json:"clusterStorageJobs,omitempty"`
// DesiredConfigVersion is a hash of the current spec, used to detect spec changes
// that require re-provisioning.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
}
ClusterOrderStatus defines the observed state of ClusterOrder
func (*ClusterOrderStatus) DeepCopy ¶
func (in *ClusterOrderStatus) DeepCopy() *ClusterOrderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOrderStatus.
func (*ClusterOrderStatus) DeepCopyInto ¶
func (in *ClusterOrderStatus) DeepCopyInto(out *ClusterOrderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStorageStatus ¶ added in v0.0.6
type ClusterStorageStatus struct {
// ClusterName identifies the target cluster.
ClusterName string `json:"clusterName"`
// Ready indicates whether StorageClasses are installed on this cluster.
Ready bool `json:"ready"`
// Reason provides a machine-readable reason for the current state.
Reason string `json:"reason,omitempty"`
}
ClusterStorageStatus tracks StorageClass installation status for a single cluster.
func (*ClusterStorageStatus) DeepCopy ¶ added in v0.0.6
func (in *ClusterStorageStatus) DeepCopy() *ClusterStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStorageStatus.
func (*ClusterStorageStatus) DeepCopyInto ¶ added in v0.0.6
func (in *ClusterStorageStatus) DeepCopyInto(out *ClusterStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeInstance ¶
type ComputeInstance struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of ComputeInstance
// +required
Spec ComputeInstanceSpec `json:"spec"`
// status defines the observed state of ComputeInstance
// +optional
Status ComputeInstanceStatus `json:"status,omitempty,omitzero"`
}
ComputeInstance is the Schema for the computeinstances API
func (*ComputeInstance) DeepCopy ¶
func (in *ComputeInstance) DeepCopy() *ComputeInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeInstance.
func (*ComputeInstance) DeepCopyInto ¶
func (in *ComputeInstance) DeepCopyInto(out *ComputeInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComputeInstance) DeepCopyObject ¶
func (in *ComputeInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ComputeInstance) EnsureTenantReference ¶
func (ci *ComputeInstance) EnsureTenantReference()
func (*ComputeInstance) EnsureVirtualMachineReference ¶
func (ci *ComputeInstance) EnsureVirtualMachineReference()
func (*ComputeInstance) GetIPAddress ¶
func (ci *ComputeInstance) GetIPAddress() string
func (*ComputeInstance) GetName ¶
func (ci *ComputeInstance) GetName() string
GetName returns the name of the ComputeInstance resource
func (*ComputeInstance) GetPublicIPAddress ¶ added in v0.0.3
func (ci *ComputeInstance) GetPublicIPAddress() string
func (*ComputeInstance) GetStatusCondition ¶
func (ci *ComputeInstance) GetStatusCondition(conditionType ComputeInstanceConditionType) *metav1.Condition
GetStatusCondition returns the condition with the given type
func (*ComputeInstance) GetTenantReferenceName ¶
func (ci *ComputeInstance) GetTenantReferenceName() string
func (*ComputeInstance) GetTenantReferenceNamespace ¶
func (ci *ComputeInstance) GetTenantReferenceNamespace() string
func (*ComputeInstance) GetVirtualMachineReferenceKubeVirtVirtualMachineName ¶
func (ci *ComputeInstance) GetVirtualMachineReferenceKubeVirtVirtualMachineName() string
func (*ComputeInstance) GetVirtualMachineReferenceNamespace ¶
func (ci *ComputeInstance) GetVirtualMachineReferenceNamespace() string
func (*ComputeInstance) IsStatusConditionFalse ¶
func (ci *ComputeInstance) IsStatusConditionFalse(conditionType ComputeInstanceConditionType) bool
IsStatusConditionFalse returns true if the condition with the given type is false
func (*ComputeInstance) IsStatusConditionTrue ¶
func (ci *ComputeInstance) IsStatusConditionTrue(conditionType ComputeInstanceConditionType) bool
IsStatusConditionTrue returns true if the condition with the given type is true
func (*ComputeInstance) IsStatusConditionUnknown ¶
func (ci *ComputeInstance) IsStatusConditionUnknown(conditionType ComputeInstanceConditionType) bool
IsStatusConditionUnknown returns true if the condition with the given type is unknown
func (*ComputeInstance) SetIPAddress ¶
func (ci *ComputeInstance) SetIPAddress(ip string)
func (*ComputeInstance) SetPublicIPAddress ¶ added in v0.0.3
func (ci *ComputeInstance) SetPublicIPAddress(ip string)
func (*ComputeInstance) SetStatusCondition ¶
func (ci *ComputeInstance) SetStatusCondition(conditionType ComputeInstanceConditionType, status metav1.ConditionStatus, message string, reason string) bool
func (*ComputeInstance) SetTenantReferenceName ¶
func (ci *ComputeInstance) SetTenantReferenceName(name string)
func (*ComputeInstance) SetTenantReferenceNamespace ¶
func (ci *ComputeInstance) SetTenantReferenceNamespace(name string)
func (*ComputeInstance) SetVirtualMachineReferenceKubeVirtVirtualMachineName ¶
func (ci *ComputeInstance) SetVirtualMachineReferenceKubeVirtVirtualMachineName(name string)
func (*ComputeInstance) SetVirtualMachineReferenceNamespace ¶
func (ci *ComputeInstance) SetVirtualMachineReferenceNamespace(name string)
type ComputeInstanceConditionType ¶
type ComputeInstanceConditionType string
ComputeInstanceConditionType is a valid value for .status.conditions.type
const ( // ComputeInstanceConditionConfigurationApplied means the current spec configuration has been applied. // True when desiredConfigVersion == reconciledConfigVersion, False while configuration is being applied. ComputeInstanceConditionConfigurationApplied ComputeInstanceConditionType = "ConfigurationApplied" // ComputeInstanceConditionReady means the compute instance is ready (KubeVirt VM readiness reflected on the CR). ComputeInstanceConditionReady ComputeInstanceConditionType = "Ready" // ComputeInstanceConditionRestartInProgress indicates a restart is in progress ComputeInstanceConditionRestartInProgress ComputeInstanceConditionType = "RestartInProgress" // ComputeInstanceConditionRestartFailed indicates a restart request has failed ComputeInstanceConditionRestartFailed ComputeInstanceConditionType = "RestartFailed" // ComputeInstanceConditionProvisioned means the infrastructure resources (compute, storage) have been allocated. // True when the KubeVirt VirtualMachine exists and storage provisioning is complete. ComputeInstanceConditionProvisioned ComputeInstanceConditionType = "Provisioned" // ComputeInstanceConditionRestartRequired means the compute instance requires a restart for // configuration changes to take effect. Synced from KubeVirt VM.Status.Conditions[RestartRequired]. ComputeInstanceConditionRestartRequired ComputeInstanceConditionType = "RestartRequired" )
type ComputeInstanceList ¶
type ComputeInstanceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComputeInstance `json:"items"`
}
ComputeInstanceList contains a list of ComputeInstance
func (*ComputeInstanceList) DeepCopy ¶
func (in *ComputeInstanceList) DeepCopy() *ComputeInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeInstanceList.
func (*ComputeInstanceList) DeepCopyInto ¶
func (in *ComputeInstanceList) DeepCopyInto(out *ComputeInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComputeInstanceList) DeepCopyObject ¶
func (in *ComputeInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComputeInstancePhaseType ¶
type ComputeInstancePhaseType string
ComputeInstancePhaseType is a valid value for .status.phase
const ( // ComputeInstancePhaseStarting means the compute instance is starting ComputeInstancePhaseStarting ComputeInstancePhaseType = "Starting" // ComputeInstancePhaseRunning means the compute instance is running ComputeInstancePhaseRunning ComputeInstancePhaseType = "Running" // ComputeInstancePhaseFailed means the compute instance deployment or update has failed ComputeInstancePhaseFailed ComputeInstancePhaseType = "Failed" // ComputeInstancePhaseDeleting means there has been a request to delete the ComputeInstance ComputeInstancePhaseDeleting ComputeInstancePhaseType = "Deleting" // ComputeInstancePhaseStopping means the compute instance is in the process of being stopped ComputeInstancePhaseStopping ComputeInstancePhaseType = "Stopping" // ComputeInstancePhaseStopped means the compute instance is stopped ComputeInstancePhaseStopped ComputeInstancePhaseType = "Stopped" // ComputeInstancePhasePaused means the compute instance is paused ComputeInstancePhasePaused ComputeInstancePhaseType = "Paused" )
type ComputeInstanceSpec ¶
type ComputeInstanceSpec struct {
// TemplateID is the unique identifier of the compute instance template to use when creating this compute instance
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern=^[a-zA-Z_][a-zA-Z0-9._]*$
TemplateID string `json:"templateID"`
// TemplateParameters allows passing additional template-specific parameters as JSON-encoded key-value pairs.
// This complements the explicit fields (cores, memoryGiB, etc.) and is used for:
// - Template-specific parameters not covered by explicit fields (e.g., exposed_ports)
// - Custom parameters defined by specific templates
// +kubebuilder:validation:Optional
TemplateParameters string `json:"templateParameters,omitempty"`
// Image defines the VM image configuration
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="image is immutable"
Image ImageSpec `json:"image"`
// GuestOSFamily specifies the guest operating system family for the VM.
// To support future OS families, this field is a freeform string.
// Currently, any value other than "windows" will be treated as "linux".
// This field is immutable after creation.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="guestOSFamily is immutable"
GuestOSFamily string `json:"guestOSFamily,omitempty"`
// Cores is the number of CPU cores
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=128
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="cores is immutable"
Cores int32 `json:"cores"`
// MemoryGiB is the memory in gibibytes
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="memoryGiB is immutable"
MemoryGiB int32 `json:"memoryGiB"`
// BootDisk is the primary boot disk
// +kubebuilder:validation:Required
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="bootDisk is immutable"
BootDisk DiskSpec `json:"bootDisk"`
// AdditionalDisks are supplementary disks
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="additionalDisks is immutable"
AdditionalDisks []DiskSpec `json:"additionalDisks,omitempty"`
// RunStrategy controls VM running state (MUTABLE)
// +kubebuilder:validation:Required
RunStrategy RunStrategyType `json:"runStrategy"`
// UserDataSecretRef references cloud-init user data
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="userDataSecretRef is immutable"
UserDataSecretRef *corev1.LocalObjectReference `json:"userDataSecretRef,omitempty"`
// SSHKey is the SSH public key
// +kubebuilder:validation:Optional
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="sshKey is immutable"
SSHKey string `json:"sshKey,omitempty"`
// NetworkAttachments defines multiple NICs when more than one subnet (and optional security groups per NIC) is required.
// The first entry is the primary subnet for VM placement (subnet-namespace annotation).
// Subnet references (per NetworkAttachment) are immutable but security groups can be changed.
//
// Why immutability is required:
// Currently, ComputeInstances are created with a single NIC. The VM instance must be created in the namespace
// of the subnet it uses (the subnet-namespace annotation determines VM placement). This architectural constraint
// means that changing the subnet would require recreating the VM in a different namespace, which is not supported.
// Similarly, the array size cannot change because adding/removing NICs would require changing the primary subnet
// or the VM's namespace, both of which are immutable after VM creation.
//
// Immutability enforcement:
// - The +listType=map with +listMapKey=subnetRef markers correlate entries by subnetRef for updates
// - The size check below prevents adding or removing entries
// - The per-item subnetRef validation (self == oldSelf) prevents changing keys of existing entries
// Combined, these ensure only securityGroupRefs can be modified.
//
// MaxItems is required for CEL cost budget calculation: NetworkAttachment.SubnetRef has a CEL validation
// rule (self == oldSelf for immutability). Without maxItems, Kubernetes cannot bound the cost of iterating
// over array items to validate this rule, causing CRD installation to fail with "estimated rule cost exceeds budget".
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MaxItems=8
// +kubebuilder:validation:XValidation:rule="size(oldSelf) == 0 || (size(self) == size(oldSelf) && self.all(na, oldSelf.exists(old, old.subnetRef == na.subnetRef)))",message="cannot change or add/remove network attachments after initial assignment"
// +listType=map
// +listMapKey=subnetRef
NetworkAttachments []NetworkAttachment `json:"networkAttachments,omitempty"`
// RestartRequestedAt is a timestamp signal to request a VM restart (MUTABLE).
//
// Set this field to the current time (usually NOW) to request a restart.
// The controller will execute the restart if this timestamp is greater than
// status.lastRestartedAt.
//
// This is a declarative signal mechanism - the timestamp is a monotonically
// increasing value to detect new restart requests, not a scheduled time.
// Typically set to the current time for immediate restarts.
//
// External schedulers can set this field on a schedule to implement
// scheduled maintenance windows if needed.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Format=date-time
RestartRequestedAt *metav1.Time `json:"restartRequestedAt,omitempty"`
}
ComputeInstanceSpec defines the desired state of ComputeInstance
func (*ComputeInstanceSpec) DeepCopy ¶
func (in *ComputeInstanceSpec) DeepCopy() *ComputeInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeInstanceSpec.
func (*ComputeInstanceSpec) DeepCopyInto ¶
func (in *ComputeInstanceSpec) DeepCopyInto(out *ComputeInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ComputeInstanceSpec) PrimarySubnetRef ¶ added in v0.0.2
func (s ComputeInstanceSpec) PrimarySubnetRef() string
PrimarySubnetRef returns the Subnet CR name used for VM placement and the subnet-namespace annotation: the first networkAttachments[].subnetRef when that list is non-empty, otherwise empty string.
type ComputeInstanceStatus ¶
type ComputeInstanceStatus struct {
// Phase provides a single-value overview of the state of the ComputeInstance
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Starting;Running;Failed;Deleting;Stopping;Stopped;Paused
Phase ComputeInstancePhaseType `json:"phase,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the ComputeInstance
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Reference to the KubeVirt VirtualMachine CR created by this ComputeInstance
// +kubebuilder:validation:Optional
VirtualMachineReference *VirtualMachineReferenceType `json:"virtualMachineReference,omitempty"`
// Reference to the tenant that contains the ComputeInstance resources
// +kubebuilder:validation:Optional
TenantReference *TenantReferenceType `json:"tenantReference,omitempty"`
// DesiredConfigVersion is the version (hash) of the desired configuration of the ComputeInstance
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// LastRestartedAt records when the last restart was initiated by the controller.
//
// This is set to spec.restartRequestedAt when the controller processes a restart request.
// It will be empty if no restart has been performed yet.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=date-time
LastRestartedAt *metav1.Time `json:"lastRestartedAt,omitempty"`
// ProvisioningJobs tracks the history of provision and deprovision operations
// Ordered chronologically, with latest operations at the end
// Limited to the last N jobs (configurable via OSAC_MAX_JOB_HISTORY, default 10)
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// IPAddress is the primary IP address of the running instance, taken from the KubeVirt VirtualMachineInstance.
// Populated when the instance is ready (phase Running).
// +kubebuilder:validation:Optional
IPAddress string `json:"ipAddress,omitempty"`
// PublicIPAddress is the public IP address attached to this instance via a PublicIP CR.
// Populated when a PublicIP CR in state "Attached" references this ComputeInstance.
// +kubebuilder:validation:Optional
PublicIPAddress string `json:"publicIPAddress,omitempty"`
}
ComputeInstanceStatus defines the observed state of ComputeInstance.
func (*ComputeInstanceStatus) DeepCopy ¶
func (in *ComputeInstanceStatus) DeepCopy() *ComputeInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeInstanceStatus.
func (*ComputeInstanceStatus) DeepCopyInto ¶
func (in *ComputeInstanceStatus) DeepCopyInto(out *ComputeInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DiskSpec ¶
type DiskSpec struct {
// SizeGiB is the size of the disk in gibibytes
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
SizeGiB int32 `json:"sizeGiB"`
}
DiskSpec defines disk configuration
func (*DiskSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskSpec.
func (*DiskSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIP ¶ added in v0.0.6
type ExternalIP struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of ExternalIP
// +required
Spec ExternalIPSpec `json:"spec"`
// status defines the observed state of ExternalIP
// +optional
Status ExternalIPStatus `json:"status,omitempty,omitzero"`
}
ExternalIP is the Schema for the externalips API
func (*ExternalIP) DeepCopy ¶ added in v0.0.6
func (in *ExternalIP) DeepCopy() *ExternalIP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIP.
func (*ExternalIP) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIP) DeepCopyInto(out *ExternalIP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIP) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIP) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalIP) GetName ¶ added in v0.0.6
func (p *ExternalIP) GetName() string
GetName returns the name of the ExternalIP resource
type ExternalIPAttachment ¶ added in v0.0.6
type ExternalIPAttachment struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of ExternalIPAttachment
// +required
Spec ExternalIPAttachmentSpec `json:"spec"`
// status defines the observed state of ExternalIPAttachment
// +optional
Status ExternalIPAttachmentStatus `json:"status,omitempty,omitzero"`
}
ExternalIPAttachment is the Schema for the externalipattachments API
func (*ExternalIPAttachment) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPAttachment) DeepCopy() *ExternalIPAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPAttachment.
func (*ExternalIPAttachment) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPAttachment) DeepCopyInto(out *ExternalIPAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIPAttachment) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIPAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalIPAttachment) GetName ¶ added in v0.0.6
func (p *ExternalIPAttachment) GetName() string
GetName returns the name of the ExternalIPAttachment resource
type ExternalIPAttachmentConditionType ¶ added in v0.0.6
type ExternalIPAttachmentConditionType string
ExternalIPAttachmentConditionType is a valid value for .status.conditions.type
const ( // ExternalIPAttachmentConditionConfigurationApplied indicates whether the controller // has processed the current spec version ExternalIPAttachmentConditionConfigurationApplied ExternalIPAttachmentConditionType = "ConfigurationApplied" )
type ExternalIPAttachmentList ¶ added in v0.0.6
type ExternalIPAttachmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExternalIPAttachment `json:"items"`
}
ExternalIPAttachmentList contains a list of ExternalIPAttachment
func (*ExternalIPAttachmentList) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPAttachmentList) DeepCopy() *ExternalIPAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPAttachmentList.
func (*ExternalIPAttachmentList) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPAttachmentList) DeepCopyInto(out *ExternalIPAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIPAttachmentList) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIPAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalIPAttachmentPhaseType ¶ added in v0.0.6
type ExternalIPAttachmentPhaseType string
ExternalIPAttachmentPhaseType is a valid value for .status.phase
const ( // ExternalIPAttachmentPhaseProgressing means the attach or detach operation is in progress ExternalIPAttachmentPhaseProgressing ExternalIPAttachmentPhaseType = "Progressing" // ExternalIPAttachmentPhaseFailed means the attach or detach operation has failed ExternalIPAttachmentPhaseFailed ExternalIPAttachmentPhaseType = "Failed" // ExternalIPAttachmentPhaseReady means the external IP is attached and routing traffic ExternalIPAttachmentPhaseReady ExternalIPAttachmentPhaseType = "Ready" // ExternalIPAttachmentPhaseDeleting means a detach operation is in progress ExternalIPAttachmentPhaseDeleting ExternalIPAttachmentPhaseType = "Deleting" )
type ExternalIPAttachmentSpec ¶ added in v0.0.6
type ExternalIPAttachmentSpec struct {
// ExternalIP is the name of the ExternalIP resource to attach.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ExternalIP string `json:"externalIP"`
// ComputeInstance is the name of the ComputeInstance to attach to.
// Exactly one target field must be set.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MinLength=1
ComputeInstance *string `json:"computeInstance,omitempty"`
}
ExternalIPAttachmentSpec defines the desired state of ExternalIPAttachment. The entire spec is immutable after creation: to change the target, delete the attachment and create a new one. +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec is immutable after creation"
func (*ExternalIPAttachmentSpec) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPAttachmentSpec) DeepCopy() *ExternalIPAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPAttachmentSpec.
func (*ExternalIPAttachmentSpec) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPAttachmentSpec) DeepCopyInto(out *ExternalIPAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIPAttachmentStatus ¶ added in v0.0.6
type ExternalIPAttachmentStatus struct {
// Phase provides a single-value overview of the state of the ExternalIPAttachment
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase ExternalIPAttachmentPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the ExternalIPAttachment
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
ExternalIPAttachmentStatus defines the observed state of ExternalIPAttachment
func (*ExternalIPAttachmentStatus) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPAttachmentStatus) DeepCopy() *ExternalIPAttachmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPAttachmentStatus.
func (*ExternalIPAttachmentStatus) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPAttachmentStatus) DeepCopyInto(out *ExternalIPAttachmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIPConditionType ¶ added in v0.0.6
type ExternalIPConditionType string
ExternalIPConditionType is a valid value for .status.conditions.type
const ( // ExternalIPConditionConfigurationApplied indicates whether the controller // has processed the current spec version ExternalIPConditionConfigurationApplied ExternalIPConditionType = "ConfigurationApplied" )
type ExternalIPList ¶ added in v0.0.6
type ExternalIPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExternalIP `json:"items"`
}
ExternalIPList contains a list of ExternalIP
func (*ExternalIPList) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPList) DeepCopy() *ExternalIPList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPList.
func (*ExternalIPList) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPList) DeepCopyInto(out *ExternalIPList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIPList) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIPList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalIPPhaseType ¶ added in v0.0.6
type ExternalIPPhaseType string
ExternalIPPhaseType is a valid value for .status.phase
const ( // ExternalIPPhaseProgressing means an update is in progress ExternalIPPhaseProgressing ExternalIPPhaseType = "Progressing" // ExternalIPPhaseFailed means the IP provisioning has failed ExternalIPPhaseFailed ExternalIPPhaseType = "Failed" // ExternalIPPhaseReady means the IP and all associated resources are ready ExternalIPPhaseReady ExternalIPPhaseType = "Ready" // ExternalIPPhaseDeleting means there has been a request to delete the ExternalIP ExternalIPPhaseDeleting ExternalIPPhaseType = "Deleting" )
type ExternalIPPool ¶ added in v0.0.6
type ExternalIPPool struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of ExternalIPPool
// +required
Spec ExternalIPPoolSpec `json:"spec"`
// status defines the observed state of ExternalIPPool
// +optional
Status ExternalIPPoolStatus `json:"status,omitempty,omitzero"`
}
ExternalIPPool is the Schema for the externalippools API
func (*ExternalIPPool) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPPool) DeepCopy() *ExternalIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPPool.
func (*ExternalIPPool) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPPool) DeepCopyInto(out *ExternalIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIPPool) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIPPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalIPPool) GetName ¶ added in v0.0.6
func (p *ExternalIPPool) GetName() string
GetName returns the name of the ExternalIPPool resource
type ExternalIPPoolConditionType ¶ added in v0.0.6
type ExternalIPPoolConditionType string
ExternalIPPoolConditionType is a valid value for .status.conditions.type
const ( // ExternalIPPoolConditionConfigurationApplied indicates whether the controller // has processed the current spec version ExternalIPPoolConditionConfigurationApplied ExternalIPPoolConditionType = "ConfigurationApplied" )
type ExternalIPPoolList ¶ added in v0.0.6
type ExternalIPPoolList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ExternalIPPool `json:"items"`
}
ExternalIPPoolList contains a list of ExternalIPPool
func (*ExternalIPPoolList) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPPoolList) DeepCopy() *ExternalIPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPPoolList.
func (*ExternalIPPoolList) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPPoolList) DeepCopyInto(out *ExternalIPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalIPPoolList) DeepCopyObject ¶ added in v0.0.6
func (in *ExternalIPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalIPPoolPhaseType ¶ added in v0.0.6
type ExternalIPPoolPhaseType string
ExternalIPPoolPhaseType is a valid value for .status.phase
const ( // ExternalIPPoolPhaseProgressing means an update is in progress ExternalIPPoolPhaseProgressing ExternalIPPoolPhaseType = "Progressing" // ExternalIPPoolPhaseFailed means the pool provisioning has failed ExternalIPPoolPhaseFailed ExternalIPPoolPhaseType = "Failed" // ExternalIPPoolPhaseReady means the pool and all associated resources are ready ExternalIPPoolPhaseReady ExternalIPPoolPhaseType = "Ready" // ExternalIPPoolPhaseDeleting means there has been a request to delete the ExternalIPPool ExternalIPPoolPhaseDeleting ExternalIPPoolPhaseType = "Deleting" )
type ExternalIPPoolSpec ¶ added in v0.0.6
type ExternalIPPoolSpec struct {
// CIDRs is the list of CIDR blocks for this pool. All CIDRs must match the declared IPFamily.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="cidrs is immutable"
CIDRs []string `json:"cidrs"`
// IPFamily indicates the IP address family for this pool (IPv4 or IPv6)
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=IPv4;IPv6
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipFamily is immutable"
IPFamily string `json:"ipFamily"`
// ImplementationStrategy determines the backend used to advertise IPs (e.g., metallb-l2).
// Defaults to metallb-l2 for v7.0.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=metallb-l2;netris
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="implementationStrategy is immutable"
ImplementationStrategy string `json:"implementationStrategy,omitempty"`
}
ExternalIPPoolSpec defines the desired state of ExternalIPPool
func (*ExternalIPPoolSpec) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPPoolSpec) DeepCopy() *ExternalIPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPPoolSpec.
func (*ExternalIPPoolSpec) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPPoolSpec) DeepCopyInto(out *ExternalIPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIPPoolStatus ¶ added in v0.0.6
type ExternalIPPoolStatus struct {
// Phase provides a single-value overview of the state of the ExternalIPPool
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase ExternalIPPoolPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the ExternalIPPool
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Total is the total number of usable IP addresses across all CIDRs in this pool.
// Uses int64 to accommodate large IPv6 CIDR ranges.
// +kubebuilder:validation:Optional
Total int64 `json:"total,omitempty"`
// Allocated is the number of IPs currently allocated from the pool.
// +kubebuilder:validation:Optional
Allocated int64 `json:"allocated,omitempty"`
// Available is the number of IPs available for allocation.
// +kubebuilder:validation:Optional
Available int64 `json:"available,omitempty"`
}
ExternalIPPoolStatus defines the observed state of ExternalIPPool
func (*ExternalIPPoolStatus) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPPoolStatus) DeepCopy() *ExternalIPPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPPoolStatus.
func (*ExternalIPPoolStatus) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPPoolStatus) DeepCopyInto(out *ExternalIPPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIPSpec ¶ added in v0.0.6
type ExternalIPSpec struct {
// Pool is the name of the ExternalIPPool this IP is allocated from.
// This field is immutable after creation.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="pool is immutable"
Pool string `json:"pool"`
}
ExternalIPSpec defines the desired state of ExternalIP
func (*ExternalIPSpec) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPSpec) DeepCopy() *ExternalIPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPSpec.
func (*ExternalIPSpec) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPSpec) DeepCopyInto(out *ExternalIPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalIPStateType ¶ added in v0.0.6
type ExternalIPStateType string
ExternalIPStateType is a valid value for .status.state
const ( // ExternalIPStatePending means the IP allocation is pending ExternalIPStatePending ExternalIPStateType = "Pending" // ExternalIPStateAllocated means the IP has been allocated from the pool ExternalIPStateAllocated ExternalIPStateType = "Allocated" // ExternalIPStateFailed means provisioning failed ExternalIPStateFailed ExternalIPStateType = "Failed" )
type ExternalIPStatus ¶ added in v0.0.6
type ExternalIPStatus struct {
// Phase provides a single-value overview of the state of the ExternalIP
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase ExternalIPPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the ExternalIP
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Address is the allocated external IP address
// +kubebuilder:validation:Optional
Address string `json:"address,omitempty"`
// State tracks the attachment lifecycle of the ExternalIP
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Pending;Allocated;Failed
State ExternalIPStateType `json:"state,omitempty"`
// Attached indicates whether a ExternalIPAttachment has successfully attached this IP to a target.
// +kubebuilder:validation:Optional
Attached bool `json:"attached,omitempty"`
}
ExternalIPStatus defines the observed state of ExternalIP
func (*ExternalIPStatus) DeepCopy ¶ added in v0.0.6
func (in *ExternalIPStatus) DeepCopy() *ExternalIPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalIPStatus.
func (*ExternalIPStatus) DeepCopyInto ¶ added in v0.0.6
func (in *ExternalIPStatus) DeepCopyInto(out *ExternalIPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSourceType ¶
type ImageSourceType string
ImageSourceType defines valid image source types +kubebuilder:validation:Enum=registry
const ( // ImageSourceTypeRegistry indicates the image is from an OCI registry ImageSourceTypeRegistry ImageSourceType = "registry" )
type ImageSpec ¶
type ImageSpec struct {
// SourceType specifies the type of image source (currently only "registry" supported)
// +kubebuilder:validation:Required
SourceType ImageSourceType `json:"sourceType"`
// SourceRef is the OCI image reference for the VM
// Example: "quay.io/fedora/fedora-coreos:stable"
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
SourceRef string `json:"sourceRef"`
}
ImageSpec defines the VM image configuration
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JobState ¶
type JobState string
JobState represents the current state of a job +kubebuilder:validation:Enum=Pending;Waiting;Running;Succeeded;Failed;Canceled;Unknown
const ( // JobStatePending indicates the job is pending execution JobStatePending JobState = "Pending" // JobStateWaiting indicates the job is waiting for dependencies JobStateWaiting JobState = "Waiting" // JobStateRunning indicates the job is currently running JobStateRunning JobState = "Running" // JobStateSucceeded indicates the job completed successfully JobStateSucceeded JobState = "Succeeded" // JobStateFailed indicates the job failed JobStateFailed JobState = "Failed" // JobStateCanceled indicates the job was canceled JobStateCanceled JobState = "Canceled" // JobStateUnknown indicates the job state is unknown JobStateUnknown JobState = "Unknown" )
func (JobState) IsSuccessful ¶
IsSuccessful returns true if the job completed successfully
func (JobState) IsTerminal ¶
IsTerminal returns true if the job state is terminal (will not change)
type JobStatus ¶
type JobStatus struct {
// JobID is the AAP job identifier from the provisioning provider API response.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
JobID string `json:"jobID"`
// Type indicates the operation type
// +kubebuilder:validation:Required
Type JobType `json:"type"`
// Timestamp when this job was created/triggered
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=date-time
Timestamp metav1.Time `json:"timestamp"`
// State is the current state of the job
// +kubebuilder:validation:Required
State JobState `json:"state"`
// Message provides human-readable status or error information
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
Message string `json:"message,omitempty"`
// BlockDeletionOnFailure indicates whether CR deletion should be blocked if this job fails.
// AAP sets this to true to prevent orphaned cloud resources when deprovisioning fails.
// +kubebuilder:validation:Optional
BlockDeletionOnFailure bool `json:"blockDeletionOnFailure,omitempty"`
// ConfigVersion is the DesiredConfigVersion at the time this job was triggered.
// Used to determine retry behavior on failure: if ConfigVersion differs from
// the current DesiredConfigVersion, a new job is triggered immediately.
// If they match, the controller retries with exponential backoff.
// +kubebuilder:validation:Optional
ConfigVersion string `json:"configVersion,omitempty"`
}
JobStatus represents the status of a provisioning or deprovisioning job
func (*JobStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobStatus.
func (*JobStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JobType ¶
type JobType string
JobType represents the type of job operation +kubebuilder:validation:Enum=provision;deprovision
type NATGateway ¶ added in v0.0.7
type NATGateway struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of NATGateway
// +required
Spec NATGatewaySpec `json:"spec"`
// status defines the observed state of NATGateway
// +optional
Status NATGatewayStatus `json:"status,omitempty,omitzero"`
}
NATGateway is the Schema for the natgateways API
func (*NATGateway) DeepCopy ¶ added in v0.0.7
func (in *NATGateway) DeepCopy() *NATGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATGateway.
func (*NATGateway) DeepCopyInto ¶ added in v0.0.7
func (in *NATGateway) DeepCopyInto(out *NATGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NATGateway) DeepCopyObject ¶ added in v0.0.7
func (in *NATGateway) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NATGateway) GetName ¶ added in v0.0.7
func (n *NATGateway) GetName() string
GetName returns the name of the NATGateway resource
type NATGatewayConditionType ¶ added in v0.0.7
type NATGatewayConditionType string
NATGatewayConditionType is a valid value for .status.conditions.type
const ( // NATGatewayConditionConfigurationApplied indicates whether the controller // has processed the current spec version NATGatewayConditionConfigurationApplied NATGatewayConditionType = "ConfigurationApplied" )
type NATGatewayList ¶ added in v0.0.7
type NATGatewayList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NATGateway `json:"items"`
}
NATGatewayList contains a list of NATGateway
func (*NATGatewayList) DeepCopy ¶ added in v0.0.7
func (in *NATGatewayList) DeepCopy() *NATGatewayList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATGatewayList.
func (*NATGatewayList) DeepCopyInto ¶ added in v0.0.7
func (in *NATGatewayList) DeepCopyInto(out *NATGatewayList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NATGatewayList) DeepCopyObject ¶ added in v0.0.7
func (in *NATGatewayList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NATGatewayPhaseType ¶ added in v0.0.7
type NATGatewayPhaseType string
NATGatewayPhaseType is a valid value for .status.phase
const ( // NATGatewayPhaseProgressing means the SNAT rule is being configured NATGatewayPhaseProgressing NATGatewayPhaseType = "Progressing" // NATGatewayPhaseFailed means the SNAT rule configuration has failed NATGatewayPhaseFailed NATGatewayPhaseType = "Failed" // NATGatewayPhaseReady means the SNAT rule is active and egress traffic is being NATted NATGatewayPhaseReady NATGatewayPhaseType = "Ready" // NATGatewayPhaseDeleting means the SNAT rule is being removed NATGatewayPhaseDeleting NATGatewayPhaseType = "Deleting" )
type NATGatewaySpec ¶ added in v0.0.7
type NATGatewaySpec struct {
// VirtualNetwork is the name of the parent VirtualNetwork whose egress
// traffic is source-NATted through this gateway.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
VirtualNetwork string `json:"virtualNetwork"`
// ExternalIP is the name of the ExternalIP resource to use as the SNAT
// source address for outbound traffic.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
ExternalIP string `json:"externalIP"`
}
NATGatewaySpec defines the desired state of NATGateway. The entire spec is immutable after creation: to change the configuration, delete the NATGateway and create a new one. +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec is immutable after creation"
func (*NATGatewaySpec) DeepCopy ¶ added in v0.0.7
func (in *NATGatewaySpec) DeepCopy() *NATGatewaySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATGatewaySpec.
func (*NATGatewaySpec) DeepCopyInto ¶ added in v0.0.7
func (in *NATGatewaySpec) DeepCopyInto(out *NATGatewaySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NATGatewayStatus ¶ added in v0.0.7
type NATGatewayStatus struct {
// Phase provides a single-value overview of the state of the NATGateway
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Ready;Failed;Deleting
Phase NATGatewayPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the NATGateway
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
NATGatewayStatus defines the observed state of NATGateway
func (*NATGatewayStatus) DeepCopy ¶ added in v0.0.7
func (in *NATGatewayStatus) DeepCopy() *NATGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NATGatewayStatus.
func (*NATGatewayStatus) DeepCopyInto ¶ added in v0.0.7
func (in *NATGatewayStatus) DeepCopyInto(out *NATGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkAttachment ¶ added in v0.0.2
type NetworkAttachment struct {
// SubnetRef is the name of the Subnet CR in the same namespace as the ComputeInstance.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="subnetRef is immutable"
SubnetRef string `json:"subnetRef"`
// SecurityGroupRefs lists SecurityGroup CR names in the same namespace as the ComputeInstance.
// Mutable - can be changed to add/remove security groups without recreating the VM.
// +kubebuilder:validation:Optional
SecurityGroupRefs []string `json:"securityGroupRefs,omitempty"`
}
NetworkAttachment defines one NIC: a Subnet CR on the hub plus optional SecurityGroup CR names.
func (*NetworkAttachment) DeepCopy ¶ added in v0.0.2
func (in *NetworkAttachment) DeepCopy() *NetworkAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkAttachment.
func (*NetworkAttachment) DeepCopyInto ¶ added in v0.0.2
func (in *NetworkAttachment) DeepCopyInto(out *NetworkAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRequest ¶
type NodeRequest struct {
// ResourceClass describes the type of node you are requesting
// +kubebuilder:validation:Required
ResourceClass string `json:"resourceClass"`
// NumberOfNodes describes the number of nodes you want of the given resource class
// +kubebuilder:validation:Required
NumberOfNodes int `json:"numberOfNodes"`
}
func (*NodeRequest) DeepCopy ¶
func (in *NodeRequest) DeepCopy() *NodeRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeRequest.
func (*NodeRequest) DeepCopyInto ¶
func (in *NodeRequest) DeepCopyInto(out *NodeRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIP ¶
type PublicIP struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of PublicIP
// +required
Spec PublicIPSpec `json:"spec"`
// status defines the observed state of PublicIP
// +optional
Status PublicIPStatus `json:"status,omitempty,omitzero"`
}
PublicIP is the Schema for the publicips API
func (*PublicIP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIP.
func (*PublicIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIP) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PublicIPAttachment ¶ added in v0.0.3
type PublicIPAttachment struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of PublicIPAttachment
// +required
Spec PublicIPAttachmentSpec `json:"spec"`
// status defines the observed state of PublicIPAttachment
// +optional
Status PublicIPAttachmentStatus `json:"status,omitempty,omitzero"`
}
PublicIPAttachment is the Schema for the publicipattachments API
func (*PublicIPAttachment) DeepCopy ¶ added in v0.0.3
func (in *PublicIPAttachment) DeepCopy() *PublicIPAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAttachment.
func (*PublicIPAttachment) DeepCopyInto ¶ added in v0.0.3
func (in *PublicIPAttachment) DeepCopyInto(out *PublicIPAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIPAttachment) DeepCopyObject ¶ added in v0.0.3
func (in *PublicIPAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PublicIPAttachment) GetName ¶ added in v0.0.3
func (p *PublicIPAttachment) GetName() string
GetName returns the name of the PublicIPAttachment resource
type PublicIPAttachmentConditionType ¶ added in v0.0.3
type PublicIPAttachmentConditionType string
PublicIPAttachmentConditionType is a valid value for .status.conditions.type
const ( // PublicIPAttachmentConditionConfigurationApplied indicates whether the controller // has processed the current spec version PublicIPAttachmentConditionConfigurationApplied PublicIPAttachmentConditionType = "ConfigurationApplied" )
type PublicIPAttachmentList ¶ added in v0.0.3
type PublicIPAttachmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PublicIPAttachment `json:"items"`
}
PublicIPAttachmentList contains a list of PublicIPAttachment
func (*PublicIPAttachmentList) DeepCopy ¶ added in v0.0.3
func (in *PublicIPAttachmentList) DeepCopy() *PublicIPAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAttachmentList.
func (*PublicIPAttachmentList) DeepCopyInto ¶ added in v0.0.3
func (in *PublicIPAttachmentList) DeepCopyInto(out *PublicIPAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIPAttachmentList) DeepCopyObject ¶ added in v0.0.3
func (in *PublicIPAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PublicIPAttachmentPhaseType ¶ added in v0.0.3
type PublicIPAttachmentPhaseType string
PublicIPAttachmentPhaseType is a valid value for .status.phase
const ( // PublicIPAttachmentPhaseProgressing means the attach or detach operation is in progress PublicIPAttachmentPhaseProgressing PublicIPAttachmentPhaseType = "Progressing" // PublicIPAttachmentPhaseFailed means the attach or detach operation has failed PublicIPAttachmentPhaseFailed PublicIPAttachmentPhaseType = "Failed" // PublicIPAttachmentPhaseReady means the public IP is attached and routing traffic PublicIPAttachmentPhaseReady PublicIPAttachmentPhaseType = "Ready" // PublicIPAttachmentPhaseDeleting means a detach operation is in progress PublicIPAttachmentPhaseDeleting PublicIPAttachmentPhaseType = "Deleting" )
type PublicIPAttachmentSpec ¶ added in v0.0.3
type PublicIPAttachmentSpec struct {
// PublicIP is the name of the PublicIP resource to attach.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
PublicIP string `json:"publicIP"`
// ComputeInstance is the name of the ComputeInstance to attach to.
// Exactly one target field must be set.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MinLength=1
ComputeInstance *string `json:"computeInstance,omitempty"`
}
PublicIPAttachmentSpec defines the desired state of PublicIPAttachment. The entire spec is immutable after creation: to change the target, delete the attachment and create a new one. +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec is immutable after creation"
func (*PublicIPAttachmentSpec) DeepCopy ¶ added in v0.0.3
func (in *PublicIPAttachmentSpec) DeepCopy() *PublicIPAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAttachmentSpec.
func (*PublicIPAttachmentSpec) DeepCopyInto ¶ added in v0.0.3
func (in *PublicIPAttachmentSpec) DeepCopyInto(out *PublicIPAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIPAttachmentStatus ¶ added in v0.0.3
type PublicIPAttachmentStatus struct {
// Phase provides a single-value overview of the state of the PublicIPAttachment
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase PublicIPAttachmentPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the PublicIPAttachment
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
PublicIPAttachmentStatus defines the observed state of PublicIPAttachment
func (*PublicIPAttachmentStatus) DeepCopy ¶ added in v0.0.3
func (in *PublicIPAttachmentStatus) DeepCopy() *PublicIPAttachmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPAttachmentStatus.
func (*PublicIPAttachmentStatus) DeepCopyInto ¶ added in v0.0.3
func (in *PublicIPAttachmentStatus) DeepCopyInto(out *PublicIPAttachmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIPConditionType ¶
type PublicIPConditionType string
PublicIPConditionType is a valid value for .status.conditions.type
const ( // PublicIPConditionConfigurationApplied indicates whether the controller // has processed the current spec version PublicIPConditionConfigurationApplied PublicIPConditionType = "ConfigurationApplied" )
type PublicIPList ¶
type PublicIPList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PublicIP `json:"items"`
}
PublicIPList contains a list of PublicIP
func (*PublicIPList) DeepCopy ¶
func (in *PublicIPList) DeepCopy() *PublicIPList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPList.
func (*PublicIPList) DeepCopyInto ¶
func (in *PublicIPList) DeepCopyInto(out *PublicIPList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIPList) DeepCopyObject ¶
func (in *PublicIPList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PublicIPPhaseType ¶
type PublicIPPhaseType string
PublicIPPhaseType is a valid value for .status.phase
const ( // PublicIPPhaseProgressing means an update is in progress PublicIPPhaseProgressing PublicIPPhaseType = "Progressing" // PublicIPPhaseFailed means the IP provisioning has failed PublicIPPhaseFailed PublicIPPhaseType = "Failed" // PublicIPPhaseReady means the IP and all associated resources are ready PublicIPPhaseReady PublicIPPhaseType = "Ready" // PublicIPPhaseDeleting means there has been a request to delete the PublicIP PublicIPPhaseDeleting PublicIPPhaseType = "Deleting" )
type PublicIPPool ¶
type PublicIPPool struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of PublicIPPool
// +required
Spec PublicIPPoolSpec `json:"spec"`
// status defines the observed state of PublicIPPool
// +optional
Status PublicIPPoolStatus `json:"status,omitempty,omitzero"`
}
PublicIPPool is the Schema for the publicippools API
func (*PublicIPPool) DeepCopy ¶
func (in *PublicIPPool) DeepCopy() *PublicIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPPool.
func (*PublicIPPool) DeepCopyInto ¶
func (in *PublicIPPool) DeepCopyInto(out *PublicIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIPPool) DeepCopyObject ¶
func (in *PublicIPPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PublicIPPool) GetName ¶
func (p *PublicIPPool) GetName() string
GetName returns the name of the PublicIPPool resource
type PublicIPPoolConditionType ¶
type PublicIPPoolConditionType string
PublicIPPoolConditionType is a valid value for .status.conditions.type
const ( // PublicIPPoolConditionConfigurationApplied indicates whether the controller // has processed the current spec version PublicIPPoolConditionConfigurationApplied PublicIPPoolConditionType = "ConfigurationApplied" )
type PublicIPPoolList ¶
type PublicIPPoolList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []PublicIPPool `json:"items"`
}
PublicIPPoolList contains a list of PublicIPPool
func (*PublicIPPoolList) DeepCopy ¶
func (in *PublicIPPoolList) DeepCopy() *PublicIPPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPPoolList.
func (*PublicIPPoolList) DeepCopyInto ¶
func (in *PublicIPPoolList) DeepCopyInto(out *PublicIPPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PublicIPPoolList) DeepCopyObject ¶
func (in *PublicIPPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PublicIPPoolPhaseType ¶
type PublicIPPoolPhaseType string
PublicIPPoolPhaseType is a valid value for .status.phase
const ( // PublicIPPoolPhaseProgressing means an update is in progress PublicIPPoolPhaseProgressing PublicIPPoolPhaseType = "Progressing" // PublicIPPoolPhaseFailed means the pool provisioning has failed PublicIPPoolPhaseFailed PublicIPPoolPhaseType = "Failed" // PublicIPPoolPhaseReady means the pool and all associated resources are ready PublicIPPoolPhaseReady PublicIPPoolPhaseType = "Ready" // PublicIPPoolPhaseDeleting means there has been a request to delete the PublicIPPool PublicIPPoolPhaseDeleting PublicIPPoolPhaseType = "Deleting" )
type PublicIPPoolSpec ¶
type PublicIPPoolSpec struct {
// CIDRs is the list of CIDR blocks for this pool. All CIDRs must match the declared IPFamily.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="cidrs is immutable"
CIDRs []string `json:"cidrs"`
// IPFamily indicates the IP address family for this pool (IPv4 or IPv6)
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=IPv4;IPv6
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipFamily is immutable"
IPFamily string `json:"ipFamily"`
// ImplementationStrategy determines the backend used to advertise IPs (e.g., metallb-l2).
// Defaults to metallb-l2 for v7.0.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=metallb-l2;netris
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="implementationStrategy is immutable"
ImplementationStrategy string `json:"implementationStrategy,omitempty"`
}
PublicIPPoolSpec defines the desired state of PublicIPPool
func (*PublicIPPoolSpec) DeepCopy ¶
func (in *PublicIPPoolSpec) DeepCopy() *PublicIPPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPPoolSpec.
func (*PublicIPPoolSpec) DeepCopyInto ¶
func (in *PublicIPPoolSpec) DeepCopyInto(out *PublicIPPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIPPoolStatus ¶
type PublicIPPoolStatus struct {
// Phase provides a single-value overview of the state of the PublicIPPool
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase PublicIPPoolPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the PublicIPPool
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Total is the total number of usable IP addresses across all CIDRs in this pool.
// Uses int64 to accommodate large IPv6 CIDR ranges.
// +kubebuilder:validation:Optional
Total int64 `json:"total,omitempty"`
// Allocated is the number of IPs currently allocated from the pool.
// +kubebuilder:validation:Optional
Allocated int64 `json:"allocated,omitempty"`
// Available is the number of IPs available for allocation.
// +kubebuilder:validation:Optional
Available int64 `json:"available,omitempty"`
}
PublicIPPoolStatus defines the observed state of PublicIPPool
func (*PublicIPPoolStatus) DeepCopy ¶
func (in *PublicIPPoolStatus) DeepCopy() *PublicIPPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPPoolStatus.
func (*PublicIPPoolStatus) DeepCopyInto ¶
func (in *PublicIPPoolStatus) DeepCopyInto(out *PublicIPPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIPSpec ¶
type PublicIPSpec struct {
// Pool is the name of the PublicIPPool this IP is allocated from.
// This field is immutable after creation.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="pool is immutable"
Pool string `json:"pool"`
}
PublicIPSpec defines the desired state of PublicIP
func (*PublicIPSpec) DeepCopy ¶
func (in *PublicIPSpec) DeepCopy() *PublicIPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPSpec.
func (*PublicIPSpec) DeepCopyInto ¶
func (in *PublicIPSpec) DeepCopyInto(out *PublicIPSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIPStateType ¶
type PublicIPStateType string
PublicIPStateType is a valid value for .status.state
const ( // PublicIPStatePending means the IP allocation is pending PublicIPStatePending PublicIPStateType = "Pending" // PublicIPStateAllocated means the IP has been allocated from the pool PublicIPStateAllocated PublicIPStateType = "Allocated" // PublicIPStateFailed means provisioning failed PublicIPStateFailed PublicIPStateType = "Failed" )
type PublicIPStatus ¶
type PublicIPStatus struct {
// Phase provides a single-value overview of the state of the PublicIP
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase PublicIPPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the PublicIP
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// Address is the allocated public IP address
// +kubebuilder:validation:Optional
Address string `json:"address,omitempty"`
// State tracks the attachment lifecycle of the PublicIP
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Pending;Allocated;Failed
State PublicIPStateType `json:"state,omitempty"`
// Attached indicates whether a PublicIPAttachment has successfully attached this IP to a target.
// +kubebuilder:validation:Optional
Attached bool `json:"attached,omitempty"`
}
PublicIPStatus defines the observed state of PublicIP
func (*PublicIPStatus) DeepCopy ¶
func (in *PublicIPStatus) DeepCopy() *PublicIPStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIPStatus.
func (*PublicIPStatus) DeepCopyInto ¶
func (in *PublicIPStatus) DeepCopyInto(out *PublicIPStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResolvedStorageClass ¶ added in v0.0.2
type ResolvedStorageClass struct {
// Name is the name of the resolved Kubernetes StorageClass.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Tier is the storage tier this StorageClass provides,
// taken from the osac.openshift.io/storage-tier label.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
// +kubebuilder:validation:Pattern=`^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$`
Tier string `json:"tier"`
}
ResolvedStorageClass captures a single resolved StorageClass for a specific storage tier. The OSAC Storage Controller populates one entry per tier.
func (*ResolvedStorageClass) DeepCopy ¶ added in v0.0.2
func (in *ResolvedStorageClass) DeepCopy() *ResolvedStorageClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResolvedStorageClass.
func (*ResolvedStorageClass) DeepCopyInto ¶ added in v0.0.2
func (in *ResolvedStorageClass) DeepCopyInto(out *ResolvedStorageClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunStrategyType ¶
type RunStrategyType string
RunStrategyType defines valid VM run strategies +kubebuilder:validation:Enum=Always;Halted
const ( // RunStrategyAlways means the VM should always be running RunStrategyAlways RunStrategyType = "Always" // RunStrategyHalted means the VM should be stopped RunStrategyHalted RunStrategyType = "Halted" )
type SecurityGroup ¶
type SecurityGroup struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of SecurityGroup
// +required
Spec SecurityGroupSpec `json:"spec"`
// status defines the observed state of SecurityGroup
// +optional
Status SecurityGroupStatus `json:"status,omitempty,omitzero"`
}
SecurityGroup is the Schema for the securitygroups API
func (*SecurityGroup) DeepCopy ¶
func (in *SecurityGroup) DeepCopy() *SecurityGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroup.
func (*SecurityGroup) DeepCopyInto ¶
func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityGroup) DeepCopyObject ¶
func (in *SecurityGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*SecurityGroup) GetName ¶
func (s *SecurityGroup) GetName() string
GetName returns the name of the SecurityGroup resource
type SecurityGroupList ¶
type SecurityGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SecurityGroup `json:"items"`
}
SecurityGroupList contains a list of SecurityGroup
func (*SecurityGroupList) DeepCopy ¶
func (in *SecurityGroupList) DeepCopy() *SecurityGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupList.
func (*SecurityGroupList) DeepCopyInto ¶
func (in *SecurityGroupList) DeepCopyInto(out *SecurityGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityGroupList) DeepCopyObject ¶
func (in *SecurityGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecurityGroupPhaseType ¶
type SecurityGroupPhaseType string
SecurityGroupPhaseType is a valid value for .status.phase +kubebuilder:validation:Enum=Progressing;Ready;Failed;Deleting
const ( // SecurityGroupPhaseProgressing means an update is in progress SecurityGroupPhaseProgressing SecurityGroupPhaseType = "Progressing" // SecurityGroupPhaseReady means the security group and all associated resources are ready SecurityGroupPhaseReady SecurityGroupPhaseType = "Ready" // SecurityGroupPhaseFailed means the security group provisioning has failed SecurityGroupPhaseFailed SecurityGroupPhaseType = "Failed" // SecurityGroupPhaseDeleting means there has been a request to delete the SecurityGroup SecurityGroupPhaseDeleting SecurityGroupPhaseType = "Deleting" )
type SecurityGroupProtocol ¶
type SecurityGroupProtocol string
SecurityGroupProtocol represents network protocol types +kubebuilder:validation:Enum=tcp;udp;icmp;all
const ( // SecurityGroupProtocolTCP represents TCP protocol SecurityGroupProtocolTCP SecurityGroupProtocol = "tcp" // SecurityGroupProtocolUDP represents UDP protocol SecurityGroupProtocolUDP SecurityGroupProtocol = "udp" // SecurityGroupProtocolICMP represents ICMP protocol SecurityGroupProtocolICMP SecurityGroupProtocol = "icmp" // SecurityGroupProtocolAll represents all protocols SecurityGroupProtocolAll SecurityGroupProtocol = "all" )
type SecurityGroupSpec ¶
type SecurityGroupSpec struct {
// VirtualNetwork is the ID of the parent VirtualNetwork
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="virtualNetwork is immutable"
VirtualNetwork string `json:"virtualNetwork"`
// ImplementationStrategy determines the backend used to enforce security rules.
// Set by the fulfillment-service; defaults to network_policy when empty.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="implementationStrategy is immutable"
ImplementationStrategy string `json:"implementationStrategy,omitempty"`
// IngressRules defines the ingress security rules
// +kubebuilder:validation:Optional
IngressRules []SecurityRule `json:"ingressRules,omitempty"`
// EgressRules defines the egress security rules
// +kubebuilder:validation:Optional
EgressRules []SecurityRule `json:"egressRules,omitempty"`
}
SecurityGroupSpec defines the desired state of SecurityGroup
func (*SecurityGroupSpec) DeepCopy ¶
func (in *SecurityGroupSpec) DeepCopy() *SecurityGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupSpec.
func (*SecurityGroupSpec) DeepCopyInto ¶
func (in *SecurityGroupSpec) DeepCopyInto(out *SecurityGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupStatus ¶
type SecurityGroupStatus struct {
// Phase provides a single-value overview of the state of the SecurityGroup
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Ready;Failed;Deleting
Phase SecurityGroupPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// BackendSecurityGroupID stores provider-specific security group identifier
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
BackendSecurityGroupID string `json:"backendSecurityGroupId,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the SecurityGroup
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
SecurityGroupStatus defines the observed state of SecurityGroup
func (*SecurityGroupStatus) DeepCopy ¶
func (in *SecurityGroupStatus) DeepCopy() *SecurityGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupStatus.
func (*SecurityGroupStatus) DeepCopyInto ¶
func (in *SecurityGroupStatus) DeepCopyInto(out *SecurityGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityRule ¶
type SecurityRule struct {
// Protocol specifies the network protocol
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=tcp;udp;icmp;all
Protocol SecurityGroupProtocol `json:"protocol"`
// PortFrom specifies the start of the port range
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
PortFrom *int32 `json:"portFrom,omitempty"`
// PortTo specifies the end of the port range
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=65535
PortTo *int32 `json:"portTo,omitempty"`
// SourceCIDR specifies the source CIDR block for this rule
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
SourceCIDR string `json:"sourceCidr,omitempty"`
// DestinationCIDR specifies the destination CIDR block for this rule
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
DestinationCIDR string `json:"destinationCidr,omitempty"`
}
SecurityRule defines a single security rule for ingress or egress traffic
func (*SecurityRule) DeepCopy ¶
func (in *SecurityRule) DeepCopy() *SecurityRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityRule.
func (*SecurityRule) DeepCopyInto ¶
func (in *SecurityRule) DeepCopyInto(out *SecurityRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageBackendStatus ¶ added in v0.0.6
type StorageBackendStatus struct {
// Name is the storage backend identifier (e.g., "vast-1").
Name string `json:"name"`
// Provider is the storage provider type (e.g., "vast").
Provider string `json:"provider"`
// Ready indicates whether this backend is provisioned for the tenant.
Ready bool `json:"ready"`
// Message provides human-readable status or error information.
Message string `json:"message,omitempty"`
}
StorageBackendStatus tracks provisioning status for a single storage backend.
func (*StorageBackendStatus) DeepCopy ¶ added in v0.0.6
func (in *StorageBackendStatus) DeepCopy() *StorageBackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageBackendStatus.
func (*StorageBackendStatus) DeepCopyInto ¶ added in v0.0.6
func (in *StorageBackendStatus) DeepCopyInto(out *StorageBackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subnet ¶
type Subnet struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of Subnet
// +required
Spec SubnetSpec `json:"spec"`
// status defines the observed state of Subnet
// +optional
Status SubnetStatus `json:"status,omitempty,omitzero"`
}
Subnet is the Schema for the subnets API
func (*Subnet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnet.
func (*Subnet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Subnet) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubnetConditionType ¶
type SubnetConditionType string
SubnetConditionType is a valid value for .status.conditions.type
const ( // SubnetConditionAccepted means the order has been accepted but work has not yet started SubnetConditionAccepted SubnetConditionType = "Accepted" // SubnetConditionProgressing means that an update is in progress SubnetConditionProgressing SubnetConditionType = "Progressing" // SubnetConditionReady means the subnet is ready SubnetConditionReady SubnetConditionType = "Ready" // SubnetConditionNetworkProvisioned means the network has been provisioned SubnetConditionNetworkProvisioned SubnetConditionType = "NetworkProvisioned" // SubnetConditionNetworkReady means the network is ready SubnetConditionNetworkReady SubnetConditionType = "NetworkReady" )
type SubnetList ¶
type SubnetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Subnet `json:"items"`
}
SubnetList contains a list of Subnet
func (*SubnetList) DeepCopy ¶
func (in *SubnetList) DeepCopy() *SubnetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetList.
func (*SubnetList) DeepCopyInto ¶
func (in *SubnetList) DeepCopyInto(out *SubnetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetList) DeepCopyObject ¶
func (in *SubnetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubnetPhaseType ¶
type SubnetPhaseType string
SubnetPhaseType is a valid value for .status.phase
const ( // SubnetPhaseProgressing means an update is in progress SubnetPhaseProgressing SubnetPhaseType = "Progressing" // SubnetPhaseFailed means the subnet provisioning has failed SubnetPhaseFailed SubnetPhaseType = "Failed" // SubnetPhaseReady means the subnet and all associated resources are ready SubnetPhaseReady SubnetPhaseType = "Ready" // SubnetPhaseDeleting means there has been a request to delete the Subnet SubnetPhaseDeleting SubnetPhaseType = "Deleting" )
type SubnetSpec ¶
type SubnetSpec struct {
// VirtualNetwork is the ID of the parent VirtualNetwork
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="virtualNetwork is immutable"
VirtualNetwork string `json:"virtualNetwork"`
// IPv4CIDR is the IPv4 CIDR block for this subnet
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipv4Cidr is immutable"
IPv4CIDR string `json:"ipv4Cidr,omitempty"`
// IPv6CIDR is the IPv6 CIDR block for this subnet
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipv6Cidr is immutable"
IPv6CIDR string `json:"ipv6Cidr,omitempty"`
}
SubnetSpec defines the desired state of 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.
type SubnetStatus ¶
type SubnetStatus struct {
// Phase provides a single-value overview of the state of the Subnet
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Failed;Ready;Deleting
Phase SubnetPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the Subnet
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// BackendNetworkID stores provider-specific network identifier
// +kubebuilder:validation:Optional
BackendNetworkID string `json:"backendNetworkId,omitempty"`
}
SubnetStatus defines the observed state of Subnet
func (*SubnetStatus) DeepCopy ¶
func (in *SubnetStatus) DeepCopy() *SubnetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetStatus.
func (*SubnetStatus) DeepCopyInto ¶
func (in *SubnetStatus) DeepCopyInto(out *SubnetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tenant ¶
type Tenant struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TenantSpec `json:"spec,omitempty"`
Status TenantStatus `json:"status,omitempty"`
}
Tenant is the Schema for the tenants API.
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Tenant) GetStatusCondition ¶
func (t *Tenant) GetStatusCondition(conditionType TenantConditionType) *metav1.Condition
func (*Tenant) SetStatusCondition ¶
func (t *Tenant) SetStatusCondition(conditionType TenantConditionType, status metav1.ConditionStatus, reason, message string) bool
type TenantConditionType ¶
type TenantConditionType string
TenantConditionType is a valid value for .status.conditions.type
const ( // TenantConditionNamespaceReady indicates whether the tenant namespace // exists on the target cluster. Owned by the Tenant controller. TenantConditionNamespaceReady TenantConditionType = "NamespaceReady" // TenantConditionStorageBackendReady indicates whether the tenant's storage // backend is provisioned (hub Secret exists with credentials). // Owned by the OSAC Storage Controller. TenantConditionStorageBackendReady TenantConditionType = "StorageBackendReady" // TenantConditionClusterStorageReady indicates whether StorageClasses and CSI // drivers are installed on the target cluster for this tenant. // Owned by the OSAC Storage Controller. TenantConditionClusterStorageReady TenantConditionType = "ClusterStorageReady" )
type TenantList ¶
type TenantList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Tenant `json:"items"`
}
TenantList contains a list of Tenant.
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantPhaseType ¶
type TenantPhaseType string
const ( TenantPhaseProgressing TenantPhaseType = "Progressing" TenantPhaseReady TenantPhaseType = "Ready" TenantPhaseFailed TenantPhaseType = "Failed" TenantPhaseDeleting TenantPhaseType = "Deleting" )
type TenantReferenceType ¶
type TenantReferenceType struct {
// Name of the tenant
Name string `json:"name"`
// Namespace of the tenant
Namespace string `json:"namespace"`
}
TenantReferenceType contains a reference to the tenant that contains the ComputeInstance resources
func (*TenantReferenceType) DeepCopy ¶
func (in *TenantReferenceType) DeepCopy() *TenantReferenceType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantReferenceType.
func (*TenantReferenceType) DeepCopyInto ¶
func (in *TenantReferenceType) DeepCopyInto(out *TenantReferenceType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantSpec ¶
type TenantSpec struct {
}
TenantSpec defines the desired state of Tenant.
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct {
// Phase is the phase of the tenant
Phase TenantPhaseType `json:"phase,omitempty"`
// Namespace is the namespace allocated to the tenant on the target cluster
Namespace string `json:"namespace,omitempty"`
// StorageClasses lists all resolved StorageClass mappings for the tenant,
// one per storage tier.
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=tier
StorageClasses []ResolvedStorageClass `json:"storageClasses,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the Tenant
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
// ProvisioningJobs holds the history of provisioning jobs triggered for this tenant
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// StorageBackendJobs holds the history of storage backend provisioning/deprovisioning jobs
StorageBackendJobs []JobStatus `json:"storageBackendJobs,omitempty"`
// ClusterStorageJobs holds the history of cluster storage provisioning/deprovisioning jobs
ClusterStorageJobs []JobStatus `json:"clusterStorageJobs,omitempty"`
// StorageBackends tracks per-backend provisioning status.
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=name
StorageBackends []StorageBackendStatus `json:"storageBackends,omitempty"`
// ClusterStorage tracks per-cluster StorageClass installation status.
// +kubebuilder:validation:Optional
// +listType=map
// +listMapKey=clusterName
ClusterStorage []ClusterStorageStatus `json:"clusterStorage,omitempty"`
}
TenantStatus defines the observed state of Tenant.
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualMachineReferenceType ¶
type VirtualMachineReferenceType struct {
// Namespace that contains the VirtualMachine resources
Namespace string `json:"namespace"`
KubeVirtVirtualMachineName string `json:"kubeVirtVirtualMachineName"`
}
VirtualMachineReferenceType contains a reference to the KubeVirt VirtualMachine CR created by this ComputeInstance
func (*VirtualMachineReferenceType) DeepCopy ¶
func (in *VirtualMachineReferenceType) DeepCopy() *VirtualMachineReferenceType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualMachineReferenceType.
func (*VirtualMachineReferenceType) DeepCopyInto ¶
func (in *VirtualMachineReferenceType) DeepCopyInto(out *VirtualMachineReferenceType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualNetwork ¶
type VirtualNetwork struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`
// spec defines the desired state of VirtualNetwork
// +required
Spec VirtualNetworkSpec `json:"spec"`
// status defines the observed state of VirtualNetwork
// +optional
Status VirtualNetworkStatus `json:"status,omitempty,omitzero"`
}
VirtualNetwork is the Schema for the virtualnetworks API
func (*VirtualNetwork) DeepCopy ¶
func (in *VirtualNetwork) DeepCopy() *VirtualNetwork
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetwork.
func (*VirtualNetwork) DeepCopyInto ¶
func (in *VirtualNetwork) DeepCopyInto(out *VirtualNetwork)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualNetwork) DeepCopyObject ¶
func (in *VirtualNetwork) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VirtualNetwork) GetName ¶
func (v *VirtualNetwork) GetName() string
GetName returns the name of the VirtualNetwork resource
type VirtualNetworkList ¶
type VirtualNetworkList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VirtualNetwork `json:"items"`
}
VirtualNetworkList contains a list of VirtualNetwork
func (*VirtualNetworkList) DeepCopy ¶
func (in *VirtualNetworkList) DeepCopy() *VirtualNetworkList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetworkList.
func (*VirtualNetworkList) DeepCopyInto ¶
func (in *VirtualNetworkList) DeepCopyInto(out *VirtualNetworkList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VirtualNetworkList) DeepCopyObject ¶
func (in *VirtualNetworkList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VirtualNetworkPhaseType ¶
type VirtualNetworkPhaseType string
VirtualNetworkPhaseType is a valid value for .status.phase +kubebuilder:validation:Enum=Progressing;Ready;Failed;Deleting
const ( // VirtualNetworkPhaseProgressing means an update is in progress VirtualNetworkPhaseProgressing VirtualNetworkPhaseType = "Progressing" // VirtualNetworkPhaseReady means the virtual network and all associated resources are ready VirtualNetworkPhaseReady VirtualNetworkPhaseType = "Ready" // VirtualNetworkPhaseFailed means the virtual network provisioning has failed VirtualNetworkPhaseFailed VirtualNetworkPhaseType = "Failed" // VirtualNetworkPhaseDeleting means there has been a request to delete the VirtualNetwork VirtualNetworkPhaseDeleting VirtualNetworkPhaseType = "Deleting" )
type VirtualNetworkSpec ¶
type VirtualNetworkSpec struct {
// Region is the cloud region where this VirtualNetwork will be provisioned
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="region is immutable"
Region string `json:"region"`
// IPv4CIDR is the IPv4 CIDR block for this virtual network
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipv4Cidr is immutable"
IPv4CIDR string `json:"ipv4Cidr,omitempty"`
// IPv6CIDR is the IPv6 CIDR block for this virtual network
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ipv6Cidr is immutable"
IPv6CIDR string `json:"ipv6Cidr,omitempty"`
// NetworkClass is the name of the NetworkClass that defines implementation strategy.
// When omitted, the platform default NetworkClass is used.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="networkClass is immutable"
NetworkClass string `json:"networkClass,omitempty"`
// ImplementationStrategy determines the underlying network backend and Ansible role to use.
// This value is derived from the NetworkClass at creation time and stored here for direct
// access by controllers and provisioning systems.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="implementationStrategy is immutable"
ImplementationStrategy string `json:"implementationStrategy,omitempty"`
}
VirtualNetworkSpec defines the desired state of VirtualNetwork
func (*VirtualNetworkSpec) DeepCopy ¶
func (in *VirtualNetworkSpec) DeepCopy() *VirtualNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetworkSpec.
func (*VirtualNetworkSpec) DeepCopyInto ¶
func (in *VirtualNetworkSpec) DeepCopyInto(out *VirtualNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualNetworkStatus ¶
type VirtualNetworkStatus struct {
// Phase provides a single-value overview of the state of the VirtualNetwork
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Enum=Progressing;Ready;Failed;Deleting
Phase VirtualNetworkPhaseType `json:"phase,omitempty"`
// DesiredConfigVersion is a hash of the spec, used to detect spec changes and control retry behavior.
// +kubebuilder:validation:Optional
DesiredConfigVersion string `json:"desiredConfigVersion,omitempty"`
// ProvisioningJobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
ProvisioningJobs []JobStatus `json:"provisioningJobs,omitempty"`
// BackendNetworkID stores provider-specific network identifier
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
BackendNetworkID string `json:"backendNetworkId,omitempty"`
// Conditions holds an array of metav1.Condition that describe the state of the VirtualNetwork
// +kubebuilder:validation:Optional
Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}
VirtualNetworkStatus defines the observed state of VirtualNetwork
func (*VirtualNetworkStatus) DeepCopy ¶
func (in *VirtualNetworkStatus) DeepCopy() *VirtualNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualNetworkStatus.
func (*VirtualNetworkStatus) DeepCopyInto ¶
func (in *VirtualNetworkStatus) DeepCopyInto(out *VirtualNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- clusterorder_clusterreference.go
- clusterorder_conditions.go
- clusterorder_types.go
- computeinstance_conditions.go
- computeinstance_types.go
- computeinstance_virtualmachinereference.go
- conditions.go
- externalip_conditions.go
- externalip_types.go
- externalipattachment_conditions.go
- externalipattachment_types.go
- externalippool_conditions.go
- externalippool_types.go
- groupversion_info.go
- job_types.go
- natgateway_conditions.go
- natgateway_types.go
- publicip_conditions.go
- publicip_types.go
- publicipattachment_conditions.go
- publicipattachment_types.go
- publicippool_conditions.go
- publicippool_types.go
- securitygroup_types.go
- subnet_conditions.go
- subnet_types.go
- tenant_conditions.go
- tenant_types.go
- virtualnetwork_types.go
- zz_generated.deepcopy.go