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 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 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 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) 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) 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 ImageSourceType
- type ImageSpec
- type JobState
- type JobStatus
- type JobType
- type NodeRequest
- type PublicIP
- 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 RunStrategyType
- type SecurityGroup
- type SecurityGroupList
- type SecurityGroupPhaseType
- type SecurityGroupProtocol
- type SecurityGroupSpec
- type SecurityGroupStatus
- type SecurityRule
- 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" )
Common condition constants
const ( ReasonInitialized = "Initialized" ReasonAsExpected = "AsExpected" ReasonCreated = "Created" ReasonProgressing = "Progressing" ReasonFailed = "Failed" ReasonDeleting = "Deleting" ReasonWebhookTriggered = "WebhookTriggered" ReasonWebhookFailed = "WebhookFailed" )
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" TenantReasonMultipleDefaultsFound = "MultipleDefaultsFound" )
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 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 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" )
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._]*$
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"`
// Jobs 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
Jobs []JobStatus `json:"jobs,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 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) 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) 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" // ComputeInstanceConditionAvailable means the compute instance is available ComputeInstanceConditionAvailable ComputeInstanceConditionType = "Available" // 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"`
// 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"`
// SubnetRef is the name of the Subnet CR in the hub cluster
// This references the Kubernetes CR name (not the fulfillment ID)
// +kubebuilder:validation:Optional
SubnetRef string `json:"subnetRef,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.
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"`
// Jobs 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
Jobs []JobStatus `json:"jobs,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"`
}
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 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 job identifier from the provisioning provider
// For AAP Direct: job ID from AAP API response
// For EDA: auto-incremented "eda-webhook-N"
// +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 Direct sets this to true to prevent orphaned cloud resources
// EDA sets this to false as webhook handles cleanup
// +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 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 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
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
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
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"`
// Jobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
Jobs []JobStatus `json:"jobs,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"`
// ComputeInstance is the optional name of the ComputeInstance this IP is attached to.
// Setting this field triggers attachment of the IP to the referenced instance.
// +kubebuilder:validation:Optional
// +kubebuilder:validation:MinLength=1
ComputeInstance string `json:"computeInstance,omitempty"`
}
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" // PublicIPStateAttached means the IP is attached to a ComputeInstance PublicIPStateAttached PublicIPStateType = "Attached" // PublicIPStateReleasing means the IP is being released back to the pool PublicIPStateReleasing PublicIPStateType = "Releasing" // PublicIPStateFailed means provisioning or release 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"`
// Jobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
Jobs []JobStatus `json:"jobs,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;Attached;Releasing;Failed
State PublicIPStateType `json:"state,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 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
VirtualNetwork string `json:"virtualNetwork"`
// 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"`
// Jobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
Jobs []JobStatus `json:"jobs,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 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
VirtualNetwork string `json:"virtualNetwork"`
// IPv4CIDR is the IPv4 CIDR block for this subnet
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
IPv4CIDR string `json:"ipv4Cidr,omitempty"`
// IPv6CIDR is the IPv6 CIDR block for this subnet
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
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"`
// Jobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
Jobs []JobStatus `json:"jobs,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. TenantConditionNamespaceReady TenantConditionType = "NamespaceReady" // TenantConditionStorageClassReady indicates whether a valid StorageClass // has been found for the tenant (tenant-specific or shared Default). TenantConditionStorageClassReady TenantConditionType = "StorageClassReady" )
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" )
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"`
// StorageClass is the StorageClass allocated to the tenant on the target cluster
StorageClass string `json:"storageClass,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"`
}
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
Region string `json:"region"`
// IPv4CIDR is the IPv4 CIDR block for this virtual network
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
IPv4CIDR string `json:"ipv4Cidr,omitempty"`
// IPv6CIDR is the IPv6 CIDR block for this virtual network
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Type=string
IPv6CIDR string `json:"ipv6Cidr,omitempty"`
// NetworkClass is the name of the NetworkClass that defines implementation strategy
// +kubebuilder:validation:Required
// +kubebuilder:validation:Type=string
NetworkClass string `json:"networkClass"`
// 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
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"`
// Jobs holds an array of JobStatus tracking provisioning and deprovisioning operations
// +kubebuilder:validation:Optional
Jobs []JobStatus `json:"jobs,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
- groupversion_info.go
- job_types.go
- publicip_conditions.go
- publicip_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