Documentation ¶
Overview ¶
Package v1beta2 contains the v1beta2 API implementation.
Package v1beta2 contains API Schema definitions for the infrastructure v1beta2 API group. +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type AdditionalListenerSpec
- type CosInstance
- type DHCPServer
- type DHCPServerState
- type DeletePolicy
- type IBMCloudCatalogOffering
- type IBMCloudResourceReference
- type IBMPowerVSCluster
- func (in *IBMPowerVSCluster) DeepCopy() *IBMPowerVSCluster
- func (in *IBMPowerVSCluster) DeepCopyInto(out *IBMPowerVSCluster)
- func (in *IBMPowerVSCluster) DeepCopyObject() runtime.Object
- func (r *IBMPowerVSCluster) Default()
- func (r *IBMPowerVSCluster) GetConditions() capiv1beta1.Conditions
- func (*IBMPowerVSCluster) Hub()
- func (r *IBMPowerVSCluster) SetConditions(conditions capiv1beta1.Conditions)
- func (r *IBMPowerVSCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMPowerVSCluster) ValidateCreate() (admission.Warnings, error)
- func (r *IBMPowerVSCluster) ValidateDelete() (admission.Warnings, error)
- func (r *IBMPowerVSCluster) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMPowerVSClusterList
- type IBMPowerVSClusterSpec
- type IBMPowerVSClusterStatus
- type IBMPowerVSClusterTemplate
- func (in *IBMPowerVSClusterTemplate) DeepCopy() *IBMPowerVSClusterTemplate
- func (in *IBMPowerVSClusterTemplate) DeepCopyInto(out *IBMPowerVSClusterTemplate)
- func (in *IBMPowerVSClusterTemplate) DeepCopyObject() runtime.Object
- func (r *IBMPowerVSClusterTemplate) Default()
- func (*IBMPowerVSClusterTemplate) Hub()
- func (r *IBMPowerVSClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMPowerVSClusterTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *IBMPowerVSClusterTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *IBMPowerVSClusterTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
- type IBMPowerVSClusterTemplateList
- type IBMPowerVSClusterTemplateResource
- type IBMPowerVSClusterTemplateSpec
- type IBMPowerVSImage
- func (in *IBMPowerVSImage) DeepCopy() *IBMPowerVSImage
- func (in *IBMPowerVSImage) DeepCopyInto(out *IBMPowerVSImage)
- func (in *IBMPowerVSImage) DeepCopyObject() runtime.Object
- func (r *IBMPowerVSImage) Default()
- func (r *IBMPowerVSImage) GetConditions() capiv1beta1.Conditions
- func (*IBMPowerVSImage) Hub()
- func (r *IBMPowerVSImage) SetConditions(conditions capiv1beta1.Conditions)
- func (r *IBMPowerVSImage) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMPowerVSImage) ValidateCreate() (admission.Warnings, error)
- func (r *IBMPowerVSImage) ValidateDelete() (admission.Warnings, error)
- func (r *IBMPowerVSImage) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMPowerVSImageList
- type IBMPowerVSImageSpec
- type IBMPowerVSImageStatus
- type IBMPowerVSMachine
- func (in *IBMPowerVSMachine) DeepCopy() *IBMPowerVSMachine
- func (in *IBMPowerVSMachine) DeepCopyInto(out *IBMPowerVSMachine)
- func (in *IBMPowerVSMachine) DeepCopyObject() runtime.Object
- func (r *IBMPowerVSMachine) Default()
- func (r *IBMPowerVSMachine) GetConditions() capiv1beta1.Conditions
- func (*IBMPowerVSMachine) Hub()
- func (r *IBMPowerVSMachine) SetConditions(conditions capiv1beta1.Conditions)
- func (r *IBMPowerVSMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMPowerVSMachine) ValidateCreate() (admission.Warnings, error)
- func (r *IBMPowerVSMachine) ValidateDelete() (admission.Warnings, error)
- func (r *IBMPowerVSMachine) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMPowerVSMachineList
- type IBMPowerVSMachineSpec
- type IBMPowerVSMachineStatus
- type IBMPowerVSMachineTemplate
- func (in *IBMPowerVSMachineTemplate) DeepCopy() *IBMPowerVSMachineTemplate
- func (in *IBMPowerVSMachineTemplate) DeepCopyInto(out *IBMPowerVSMachineTemplate)
- func (in *IBMPowerVSMachineTemplate) DeepCopyObject() runtime.Object
- func (r *IBMPowerVSMachineTemplate) Default()
- func (*IBMPowerVSMachineTemplate) Hub()
- func (r *IBMPowerVSMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMPowerVSMachineTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *IBMPowerVSMachineTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *IBMPowerVSMachineTemplate) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMPowerVSMachineTemplateList
- type IBMPowerVSMachineTemplateResource
- type IBMPowerVSMachineTemplateSpec
- type IBMPowerVSMachineTemplateStatus
- type IBMPowerVSResourceReference
- type IBMVPCCluster
- func (in *IBMVPCCluster) DeepCopy() *IBMVPCCluster
- func (in *IBMVPCCluster) DeepCopyInto(out *IBMVPCCluster)
- func (in *IBMVPCCluster) DeepCopyObject() runtime.Object
- func (r *IBMVPCCluster) Default()
- func (r *IBMVPCCluster) GetConditions() capiv1beta1.Conditions
- func (*IBMVPCCluster) Hub()
- func (r *IBMVPCCluster) SetConditions(conditions capiv1beta1.Conditions)
- func (r *IBMVPCCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMVPCCluster) ValidateCreate() (admission.Warnings, error)
- func (r *IBMVPCCluster) ValidateDelete() (admission.Warnings, error)
- func (r *IBMVPCCluster) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMVPCClusterList
- type IBMVPCClusterSpec
- type IBMVPCClusterStatus
- type IBMVPCClusterTemplate
- type IBMVPCClusterTemplateList
- type IBMVPCClusterTemplateResource
- type IBMVPCClusterTemplateSpec
- type IBMVPCMachine
- func (in *IBMVPCMachine) DeepCopy() *IBMVPCMachine
- func (in *IBMVPCMachine) DeepCopyInto(out *IBMVPCMachine)
- func (in *IBMVPCMachine) DeepCopyObject() runtime.Object
- func (r *IBMVPCMachine) Default()
- func (r *IBMVPCMachine) GetConditions() capiv1beta1.Conditions
- func (*IBMVPCMachine) Hub()
- func (r *IBMVPCMachine) SetConditions(conditions capiv1beta1.Conditions)
- func (r *IBMVPCMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMVPCMachine) ValidateCreate() (admission.Warnings, error)
- func (r *IBMVPCMachine) ValidateDelete() (admission.Warnings, error)
- func (r *IBMVPCMachine) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMVPCMachineList
- type IBMVPCMachineSpec
- type IBMVPCMachineStatus
- type IBMVPCMachineTemplate
- func (in *IBMVPCMachineTemplate) DeepCopy() *IBMVPCMachineTemplate
- func (in *IBMVPCMachineTemplate) DeepCopyInto(out *IBMVPCMachineTemplate)
- func (in *IBMVPCMachineTemplate) DeepCopyObject() runtime.Object
- func (r *IBMVPCMachineTemplate) Default()
- func (*IBMVPCMachineTemplate) Hub()
- func (r *IBMVPCMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *IBMVPCMachineTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *IBMVPCMachineTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *IBMVPCMachineTemplate) ValidateUpdate(_ runtime.Object) (admission.Warnings, error)
- type IBMVPCMachineTemplateList
- type IBMVPCMachineTemplateResource
- type IBMVPCMachineTemplateSpec
- type IBMVPCMachineTemplateStatus
- type IBMVPCResourceReference
- type Ignition
- type ImageSpec
- type NetworkInterface
- type PowerVSImageState
- type PowerVSInstanceState
- type PowerVSProcessorType
- type ResourceReference
- type ResourceStatus
- type ResourceType
- type ServiceInstanceState
- type Subnet
- type TransitGateway
- type TransitGatewayConnectionState
- type TransitGatewayState
- type TransitGatewayStatus
- type VPC
- type VPCEndpoint
- type VPCLoadBalancerBackendPoolAlgorithm
- type VPCLoadBalancerBackendPoolHealthMonitorType
- type VPCLoadBalancerBackendPoolMember
- type VPCLoadBalancerBackendPoolProtocol
- type VPCLoadBalancerBackendPoolSpec
- type VPCLoadBalancerHealthMonitorSpec
- type VPCLoadBalancerListenerProtocol
- type VPCLoadBalancerSpec
- type VPCLoadBalancerState
- type VPCLoadBalancerStatus
- type VPCMachinePlacementTarget
- type VPCNetworkSpec
- type VPCNetworkStatus
- type VPCResource
- type VPCResourceReference
- type VPCSecurityGroup
- type VPCSecurityGroupPortRange
- type VPCSecurityGroupRule
- type VPCSecurityGroupRuleAction
- type VPCSecurityGroupRuleDirection
- type VPCSecurityGroupRuleProtocol
- type VPCSecurityGroupRulePrototype
- type VPCSecurityGroupRuleRemote
- type VPCSecurityGroupRuleRemoteType
- type VPCSecurityGroupStatus
- type VPCState
- type VPCSubnetState
- type VPCVolume
Constants ¶
const ( // InstanceProvisionFailedReason used for failures during instance provisioning. InstanceProvisionFailedReason = "InstanceProvisionFailed" // WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding. WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure" // WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding. WaitingForBootstrapDataReason = "WaitingForBootstrapData" )
const ( // InstanceStoppedReason instance is in a stopped state. InstanceStoppedReason = "InstanceStopped" // InstanceErroredReason instance is in a errored state. InstanceErroredReason = "InstanceErrored" // InstanceNotReadyReason used when the instance is in a not ready state. InstanceNotReadyReason = "InstanceNotReady" // InstanceStateUnknownReason used when the instance is in a unknown state. InstanceStateUnknownReason = "InstanceStateUnknown" )
const ( // ImageNotReadyReason used when the image is in a queued state. ImageNotReadyReason = "ImageNotReady" // ImageImportFailedReason used when the image import is failed. ImageImportFailedReason = "ImageImportFailed" // ImageReconciliationFailedReason used when an error occurs during VPC Custom Image reconciliation. ImageReconciliationFailedReason = "ImageReconciliationFailed" )
const ( // ImageReadyCondition reports on current status of the image. Ready indicates the image is in a active state. ImageReadyCondition capiv1beta1.ConditionType = "ImageReady" // ImageImportedCondition reports on current status of the image import job. Ready indicates the import job is finished. ImageImportedCondition capiv1beta1.ConditionType = "ImageImported" )
const ( // ServiceInstanceReadyCondition reports on the successful reconciliation of a Power VS workspace. ServiceInstanceReadyCondition capiv1beta1.ConditionType = "ServiceInstanceReady" // ServiceInstanceReconciliationFailedReason used when an error occurs during workspace reconciliation. ServiceInstanceReconciliationFailedReason = "ServiceInstanceReconciliationFailed" // NetworkReadyCondition reports on the successful reconciliation of a Power VS network. NetworkReadyCondition capiv1beta1.ConditionType = "NetworkReady" // NetworkReconciliationFailedReason used when an error occurs during network reconciliation. NetworkReconciliationFailedReason = "NetworkReconciliationFailed" // VPCSecurityGroupReadyCondition reports on the successful reconciliation of a VPC. VPCSecurityGroupReadyCondition capiv1beta1.ConditionType = "VPCSecurityGroupReady" // VPCSecurityGroupReconciliationFailedReason used when an error occurs during VPC reconciliation. VPCSecurityGroupReconciliationFailedReason = "VPCSecurityGroupReconciliationFailed" // VPCReadyCondition reports on the successful reconciliation of a VPC. VPCReadyCondition capiv1beta1.ConditionType = "VPCReady" // VPCReconciliationFailedReason used when an error occurs during VPC reconciliation. VPCReconciliationFailedReason = "VPCReconciliationFailed" // VPCSubnetReadyCondition reports on the successful reconciliation of a VPC subnet. VPCSubnetReadyCondition capiv1beta1.ConditionType = "VPCSubnetReady" // VPCSubnetReconciliationFailedReason used when an error occurs during VPC subnet reconciliation. VPCSubnetReconciliationFailedReason = "VPCSubnetReconciliationFailed" // TransitGatewayReadyCondition reports on the successful reconciliation of a Power VS transit gateway. TransitGatewayReadyCondition capiv1beta1.ConditionType = "TransitGatewayReady" // TransitGatewayReconciliationFailedReason used when an error occurs during transit gateway reconciliation. TransitGatewayReconciliationFailedReason = "TransitGatewayReconciliationFailed" // LoadBalancerReadyCondition reports on the successful reconciliation of a Power VS network. LoadBalancerReadyCondition capiv1beta1.ConditionType = "LoadBalancerReady" // LoadBalancerReconciliationFailedReason used when an error occurs during loadbalancer reconciliation. LoadBalancerReconciliationFailedReason = "LoadBalancerReconciliationFailed" // COSInstanceReadyCondition reports on the successful reconciliation of a COS instance. COSInstanceReadyCondition capiv1beta1.ConditionType = "COSInstanceCreated" // COSInstanceReconciliationFailedReason used when an error occurs during COS instance reconciliation. COSInstanceReconciliationFailedReason = "COSInstanceCreationFailed" )
const ( // CIDRBlockAny is the CIDRBlock representing any allowable destination/source IP. CIDRBlockAny string = "0.0.0.0/0" // DefaultAPIServerPort is defuault API server port number. DefaultAPIServerPort int32 = 6443 )
const ( // VPCSecurityGroupRuleProtocolAllType is a string representation of the 'SecurityGroupRuleSecurityGroupRuleProtocolAll' type. VPCSecurityGroupRuleProtocolAllType = "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll" // VPCSecurityGroupRuleProtocolIcmpType is a string representation of the 'SecurityGroupRuleSecurityGroupRuleProtocolIcmp' type. VPCSecurityGroupRuleProtocolIcmpType = "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolIcmp" // VPCSecurityGroupRuleProtocolTcpudpType is a string representation of the 'SecurityGroupRuleSecurityGroupRuleProtocolTcpudp' type. VPCSecurityGroupRuleProtocolTcpudpType = "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolTcpudp" )
const ( // ClusterFinalizer allows DockerClusterReconciler to clean up resources associated with DockerCluster before // removing it from the apiserver. ClusterFinalizer = "ibmvpccluster.infrastructure.cluster.x-k8s.io" )
const ( // CreateInfrastructureAnnotation is the name of an annotation that indicates if // Power VS infrastructure should be created as a part of cluster creation. CreateInfrastructureAnnotation = "powervs.cluster.x-k8s.io/create-infra" )
const ( // IBMPowerVSClusterFinalizer allows IBMPowerVSClusterReconciler to clean up resources associated with IBMPowerVSCluster before // removing it from the apiserver. IBMPowerVSClusterFinalizer = "ibmpowervscluster.infrastructure.cluster.x-k8s.io" )
const ( // IBMPowerVSImageFinalizer allows IBMPowerVSImageReconciler to clean up resources associated with IBMPowerVSImage before // removing it from the apiserver. IBMPowerVSImageFinalizer = "ibmpowervsimage.infrastructure.cluster.x-k8s.io" )
const ( // InstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state. InstanceReadyCondition capiv1beta1.ConditionType = "InstanceReady" )
const (
// LoadBalancerNotReadyReason used when cluster is waiting for load balancer to be ready before proceeding.
LoadBalancerNotReadyReason = "LoadBalancerNotReady"
)
const ( // MachineFinalizer allows IBMVPCMachineReconciler to clean up resources associated with IBMVPCMachine before // removing it from the apiserver. MachineFinalizer = "ibmvpcmachine.infrastructure.cluster.x-k8s.io" )
NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
const (
// WaitingForIBMPowerVSImageReason used when machine is waiting for powervs image to be ready before proceeding.
WaitingForIBMPowerVSImageReason = "WaitingForIBMPowerVSImage"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta2"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ( // PowerVSInstanceStateACTIVE is the string representing an instance in a ACTIVE state. PowerVSInstanceStateACTIVE = PowerVSInstanceState("ACTIVE") // PowerVSInstanceStateBUILD is the string representing an instance in a BUILD state. PowerVSInstanceStateBUILD = PowerVSInstanceState("BUILD") // PowerVSInstanceStateSHUTOFF is the string representing an instance in a SHUTOFF state. PowerVSInstanceStateSHUTOFF = PowerVSInstanceState("SHUTOFF") // PowerVSInstanceStateREBOOT is the string representing an instance in a REBOOT state. PowerVSInstanceStateREBOOT = PowerVSInstanceState("REBOOT") // PowerVSInstanceStateERROR is the string representing an instance in a ERROR state. PowerVSInstanceStateERROR = PowerVSInstanceState("ERROR") )
var ( // PowerVSImageStateACTIVE is the string representing an image in a active state. PowerVSImageStateACTIVE = PowerVSImageState("active") // PowerVSImageStateQue is the string representing an image in a queued state. PowerVSImageStateQue = PowerVSImageState("queued") // PowerVSImageStateFailed is the string representing an image in a failed state. PowerVSImageStateFailed = PowerVSImageState("failed") // PowerVSImageStateImporting is the string representing an image in a failed state. PowerVSImageStateImporting = PowerVSImageState("importing") )
var ( // ServiceInstanceStateActive is the string representing a service instance in an active state. ServiceInstanceStateActive = ServiceInstanceState("active") // ServiceInstanceStateProvisioning is the string representing a service instance in a provisioning state. ServiceInstanceStateProvisioning = ServiceInstanceState("provisioning") // ServiceInstanceStateFailed is the string representing a service instance in a failed state. ServiceInstanceStateFailed = ServiceInstanceState("failed") // ServiceInstanceStateRemoved is the string representing a service instance in a removed state. ServiceInstanceStateRemoved = ServiceInstanceState("removed") )
var ( // TransitGatewayStateAvailable is the string representing a transit gateway in available state. TransitGatewayStateAvailable = TransitGatewayState("available") // TransitGatewayStatePending is the string representing a transit gateway in pending state. TransitGatewayStatePending = TransitGatewayState("pending") // TransitGatewayStateFailed is the string representing a transit gateway in failed state. TransitGatewayStateFailed = TransitGatewayState("failed") // TransitGatewayStateDeletePending is the string representing a transit gateway in deleting state. TransitGatewayStateDeletePending = TransitGatewayState("deleting") )
var ( // TransitGatewayConnectionStateAttached is the string representing a transit gateway connection in attached state. TransitGatewayConnectionStateAttached = TransitGatewayConnectionState("attached") // TransitGatewayConnectionStateFailed is the string representing a transit gateway connection in failed state. TransitGatewayConnectionStateFailed = TransitGatewayConnectionState("failed") // TransitGatewayConnectionStatePending is the string representing a transit gateway connection in pending state. TransitGatewayConnectionStatePending = TransitGatewayConnectionState("pending") // TransitGatewayConnectionStateDeleting is the string representing a transit gateway connection in deleting state. TransitGatewayConnectionStateDeleting = TransitGatewayConnectionState("deleting") )
var ( // VPCLoadBalancerStateActive is the string representing the load balancer in a active state. VPCLoadBalancerStateActive = VPCLoadBalancerState("active") // VPCLoadBalancerStateCreatePending is the string representing the load balancer in a queued state. VPCLoadBalancerStateCreatePending = VPCLoadBalancerState("create_pending") // VPCLoadBalancerStateUpdatePending is the string representing the load balancer in updating state. VPCLoadBalancerStateUpdatePending = VPCLoadBalancerState("update_pending") // VPCLoadBalancerStateDeletePending is the string representing the load balancer in deleting state. VPCLoadBalancerStateDeletePending = VPCLoadBalancerState("delete_pending") )
var ( // VPCStatePending is the string representing a VPC in pending state. VPCStatePending = VPCState("pending") // VPCStateDeleting is the string representing a VPC in deleting state. VPCStateDeleting = VPCState("deleting") )
var ( // DHCPServerStateActive indicates the active state of DHCP server. DHCPServerStateActive = DHCPServerState("ACTIVE") // DHCPServerStateBuild indicates the build state of DHCP server. DHCPServerStateBuild = DHCPServerState("BUILD") // DHCPServerStateError indicates the error state of DHCP server. DHCPServerStateError = DHCPServerState("ERROR") )
var ( // ResourceTypeServiceInstance is Power VS service instance resource. ResourceTypeServiceInstance = ResourceType("serviceInstance") // ResourceTypeNetwork is Power VS network resource. ResourceTypeNetwork = ResourceType("network") // ResourceTypeDHCPServer is Power VS DHCP server. ResourceTypeDHCPServer = ResourceType("dhcpServer") // ResourceTypeLoadBalancer VPC loadBalancer resource. ResourceTypeLoadBalancer = ResourceType("loadBalancer") // ResourceTypeLoadBalancerPool is a Load Balancer Pool resource. ResourceTypeLoadBalancerPool = ResourceType("loadBalancerPool") // ResourceTypeTransitGateway is transit gateway resource. ResourceTypeTransitGateway = ResourceType("transitGateway") // ResourceTypeVPC is Power VS network resource. ResourceTypeVPC = ResourceType("vpc") // ResourceTypeSubnet is VPC subnet resource. ResourceTypeSubnet = ResourceType("subnet") // ResourceTypeControlPlaneSubnet is a VPC subnet resource designated for the Control Plane. ResourceTypeControlPlaneSubnet = ResourceType("controlPlaneSubnet") // ResourceTypeWorkerSubnet is a VPC subnet resource designated for the Worker (Data) Plane. ResourceTypeWorkerSubnet = ResourceType("workerSubnet") // ResourceTypeSecurityGroup is a VPC Security Group resource. ResourceTypeSecurityGroup = ResourceType("securityGroup") // ResourceTypeCOSInstance is IBM COS instance resource. ResourceTypeCOSInstance = ResourceType("cosInstance") // ResourceTypeCOSBucket is IBM COS bucket resource. ResourceTypeCOSBucket = ResourceType("cosBucket") // ResourceTypeResourceGroup is IBM Resource Group. ResourceTypeResourceGroup = ResourceType("resourceGroup") // ResourceTypePublicGateway is a VPC Public Gatway. ResourceTypePublicGateway = ResourceType("publicGateway") // ResourceTypeCustomImage is a VPC Custom Image. ResourceTypeCustomImage = ResourceType("customImage") )
var ( // DeletePolicyRetain is the string representing an image to be retained. DeletePolicyRetain = DeletePolicy("retain") )
var ( // VPCSubnetStateDeleting is the string representing a VPC subnet in deleting state. VPCSubnetStateDeleting = VPCSubnetState("deleting") )
Functions ¶
This section is empty.
Types ¶
type AdditionalListenerSpec ¶ added in v0.8.0
type AdditionalListenerSpec struct { // defaultPoolName defines the name of a VPC Load Balancer Backend Pool to use for the VPC Load Balancer Listener. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional DefaultPoolName *string `json:"defaultPoolName,omitempty"` // Port sets the port for the additional listener. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port int64 `json:"port"` // protocol defines the protocol to use for the VPC Load Balancer Listener. // Will default to TCP protocol if not specified. // +optional Protocol *VPCLoadBalancerListenerProtocol `json:"protocol,omitempty"` }
AdditionalListenerSpec defines the desired state of an additional listener on an VPC load balancer.
func (*AdditionalListenerSpec) DeepCopy ¶ added in v0.8.0
func (in *AdditionalListenerSpec) DeepCopy() *AdditionalListenerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalListenerSpec.
func (*AdditionalListenerSpec) DeepCopyInto ¶ added in v0.8.0
func (in *AdditionalListenerSpec) DeepCopyInto(out *AdditionalListenerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CosInstance ¶ added in v0.8.0
type CosInstance struct { // name defines name of IBM cloud COS instance to be created. // when IBMPowerVSCluster.Ignition is set // +kubebuilder:validation:MinLength:=3 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$` Name string `json:"name,omitempty"` // bucketName is IBM cloud COS bucket name BucketName string `json:"bucketName,omitempty"` // bucketRegion is IBM cloud COS bucket region BucketRegion string `json:"bucketRegion,omitempty"` }
CosInstance represents IBM Cloud COS instance.
func (*CosInstance) DeepCopy ¶ added in v0.8.0
func (in *CosInstance) DeepCopy() *CosInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CosInstance.
func (*CosInstance) DeepCopyInto ¶ added in v0.8.0
func (in *CosInstance) DeepCopyInto(out *CosInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPServer ¶ added in v0.8.0
type DHCPServer struct { // Optional cidr for DHCP private network Cidr *string `json:"cidr,omitempty"` // Optional DNS Server for DHCP service // +kubebuilder:default="1.1.1.1" DNSServer *string `json:"dnsServer,omitempty"` // Optional name of DHCP Service. Only alphanumeric characters and dashes are allowed. Name *string `json:"name,omitempty"` // Optional id of the existing DHCPServer ID *string `json:"id,omitempty"` // Optional indicates if SNAT will be enabled for DHCP service // +kubebuilder:default=true Snat *bool `json:"snat,omitempty"` }
DHCPServer contains the DHCP server configurations.
func (*DHCPServer) DeepCopy ¶ added in v0.8.0
func (in *DHCPServer) DeepCopy() *DHCPServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DHCPServer.
func (*DHCPServer) DeepCopyInto ¶ added in v0.8.0
func (in *DHCPServer) DeepCopyInto(out *DHCPServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DHCPServerState ¶ added in v0.8.0
type DHCPServerState string
DHCPServerState describes the state of the DHCP Server.
type DeletePolicy ¶
type DeletePolicy string
DeletePolicy defines the policy used to identify images to be preserved.
type IBMCloudCatalogOffering ¶ added in v0.9.0
type IBMCloudCatalogOffering struct { // OfferingCRN defines the IBM Cloud Catalog Offering CRN. Using the OfferingCRN expects that the latest version of the Offering will be used. // If a specific version should be used instead, rely on VersionCRN. // +optional OfferingCRN *string `json:"offeringCRN,omitempty"` // PlanCRN defines the IBM Cloud Catalog Offering Plan CRN to use for the Offering. // +optional PlanCRN *string `json:"planCRN,omitempty"` // VersionCRN defines the IBM Cloud Catalog Offering Version CRN. A specific version of the Catalog Offering will be used, as defined by this CRN. // +optional VersionCRN *string `json:"versionCRN,omitempty"` }
IBMCloudCatalogOffering represents an IBM Cloud Catalog Offering resource. +kubebuilder:validation:XValidation:rule="(has(self.offeringCRN) && !has(self.versionCRN)) || (!has(self.offeringCRN) && has(self.versionCRN))",message="either offeringCRN or version CRN must be provided, not both"
func (*IBMCloudCatalogOffering) DeepCopy ¶ added in v0.9.0
func (in *IBMCloudCatalogOffering) DeepCopy() *IBMCloudCatalogOffering
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMCloudCatalogOffering.
func (*IBMCloudCatalogOffering) DeepCopyInto ¶ added in v0.9.0
func (in *IBMCloudCatalogOffering) DeepCopyInto(out *IBMCloudCatalogOffering)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMCloudResourceReference ¶ added in v0.9.0
type IBMCloudResourceReference struct { // id defines the IBM Cloud Resource ID. // +required ID string `json:"id"` // name defines the IBM Cloud Resource Name. // +optional Name *string `json:"name,omitempty"` }
IBMCloudResourceReference represents an IBM Cloud resource.
func (*IBMCloudResourceReference) DeepCopy ¶ added in v0.9.0
func (in *IBMCloudResourceReference) DeepCopy() *IBMCloudResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMCloudResourceReference.
func (*IBMCloudResourceReference) DeepCopyInto ¶ added in v0.9.0
func (in *IBMCloudResourceReference) DeepCopyInto(out *IBMCloudResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSCluster ¶
type IBMPowerVSCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSClusterSpec `json:"spec,omitempty"` Status IBMPowerVSClusterStatus `json:"status,omitempty"` }
IBMPowerVSCluster is the Schema for the ibmpowervsclusters API.
func (*IBMPowerVSCluster) DeepCopy ¶
func (in *IBMPowerVSCluster) DeepCopy() *IBMPowerVSCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSCluster.
func (*IBMPowerVSCluster) DeepCopyInto ¶
func (in *IBMPowerVSCluster) DeepCopyInto(out *IBMPowerVSCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSCluster) DeepCopyObject ¶
func (in *IBMPowerVSCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSCluster) Default ¶
func (r *IBMPowerVSCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMPowerVSCluster) GetConditions ¶ added in v0.8.0
func (r *IBMPowerVSCluster) GetConditions() capiv1beta1.Conditions
GetConditions returns the observations of the operational state of the IBMPowerVSCluster resource.
func (*IBMPowerVSCluster) Hub ¶
func (*IBMPowerVSCluster) Hub()
func (*IBMPowerVSCluster) SetConditions ¶ added in v0.8.0
func (r *IBMPowerVSCluster) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the underlying service state of the IBMPowerVSCluster to the predescribed clusterv1.Conditions.
func (*IBMPowerVSCluster) SetupWebhookWithManager ¶
func (r *IBMPowerVSCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMPowerVSCluster) ValidateCreate ¶
func (r *IBMPowerVSCluster) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSCluster) ValidateDelete ¶
func (r *IBMPowerVSCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSCluster) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMPowerVSClusterList ¶
type IBMPowerVSClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMPowerVSCluster `json:"items"` }
IBMPowerVSClusterList contains a list of IBMPowerVSCluster.
func (*IBMPowerVSClusterList) DeepCopy ¶
func (in *IBMPowerVSClusterList) DeepCopy() *IBMPowerVSClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterList.
func (*IBMPowerVSClusterList) DeepCopyInto ¶
func (in *IBMPowerVSClusterList) DeepCopyInto(out *IBMPowerVSClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSClusterList) DeepCopyObject ¶
func (in *IBMPowerVSClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSClusterList) Hub ¶
func (*IBMPowerVSClusterList) Hub()
type IBMPowerVSClusterSpec ¶
type IBMPowerVSClusterSpec struct { // ServiceInstanceID is the id of the power cloud instance where the vsi instance will get deployed. // Deprecated: use ServiceInstance instead ServiceInstanceID string `json:"serviceInstanceID"` // Network is the reference to the Network to use for this cluster. // when the field is omitted, A DHCP service will be created in the Power VS workspace and its private network will be used. // the DHCP service created network will have the following name format // 1. in the case of DHCPServer.Name is not set the name will be DHCPSERVER<CLUSTER_NAME>_Private. // 2. if DHCPServer.Name is set the name will be DHCPSERVER<DHCPServer.Name>_Private. // when Network.ID is set, its expected that there exist a network in PowerVS workspace with id or else system will give error. // when Network.Name is set, system will first check for network with Name in PowerVS workspace, if not exist network will be created by DHCP service. // Network.RegEx is not yet supported and system will ignore the value. Network IBMPowerVSResourceReference `json:"network"` // dhcpServer is contains the configuration to be used while creating a new DHCP server in PowerVS workspace. // when the field is omitted, CLUSTER_NAME will be used as DHCPServer.Name and DHCP server will be created. // it will automatically create network with name DHCPSERVER<DHCPServer.Name>_Private in PowerVS workspace. // +optional DHCPServer *DHCPServer `json:"dhcpServer,omitempty"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint capiv1beta1.APIEndpoint `json:"controlPlaneEndpoint"` // serviceInstance is the reference to the Power VS server workspace on which the server instance(VM) will be created. // Power VS server workspace is a container for all Power VS instances at a specific geographic region. // serviceInstance can be created via IBM Cloud catalog or CLI. // supported serviceInstance identifier in PowerVSResource are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli. // More detail about Power VS service instance. // https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server // when omitted system will dynamically create the service instance with name CLUSTER_NAME-serviceInstance. // when ServiceInstance.ID is set, its expected that there exist a service instance in PowerVS workspace with id or else system will give error. // when ServiceInstance.Name is set, system will first check for service instance with Name in PowerVS workspace, if not exist system will create new instance. // if there are more than one service instance exist with the ServiceInstance.Name in given Zone, installation fails with an error. Use ServiceInstance.ID in those situations to use the specific service instance. // ServiceInstance.Regex is not yet supported not yet supported and system will ignore the value. // +optional ServiceInstance *IBMPowerVSResourceReference `json:"serviceInstance,omitempty"` // zone is the name of Power VS zone where the cluster will be created // possible values can be found here https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server. // when powervs.cluster.x-k8s.io/create-infra=true annotation is set on IBMPowerVSCluster resource, // 1. it is expected to set the zone, not setting will result in webhook error. // 2. the zone should have PER capabilities, or else system will give error. // +optional Zone *string `json:"zone,omitempty"` // resourceGroup name under which the resources will be created. // when powervs.cluster.x-k8s.io/create-infra=true annotation is set on IBMPowerVSCluster resource, // 1. it is expected to set the ResourceGroup.Name, not setting will result in webhook error. // ResourceGroup.ID and ResourceGroup.Regex is not yet supported and system will ignore the value. // +optional ResourceGroup *IBMPowerVSResourceReference `json:"resourceGroup,omitempty"` // vpc contains information about IBM Cloud VPC resources. // when omitted system will dynamically create the VPC with name CLUSTER_NAME-vpc. // when VPC.ID is set, its expected that there exist a VPC with ID or else system will give error. // when VPC.Name is set, system will first check for VPC with Name, if not exist system will create new VPC. // when powervs.cluster.x-k8s.io/create-infra=true annotation is set on IBMPowerVSCluster resource, // 1. it is expected to set the VPC.Region, not setting will result in webhook error. // +optional VPC *VPCResourceReference `json:"vpc,omitempty"` // vpcSubnets contains information about IBM Cloud VPC Subnet resources. // when omitted system will create the subnets in all the zone corresponding to VPC.Region, with name CLUSTER_NAME-vpcsubnet-ZONE_NAME. // possible values can be found here https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server. // when VPCSubnets[].ID is set, its expected that there exist a subnet with ID or else system will give error. // when VPCSubnets[].Zone is not set, a random zone is picked from available zones of VPC.Region. // when VPCSubnets[].Name is not set, system will set name as CLUSTER_NAME-vpcsubnet-INDEX. // if subnet with name VPCSubnets[].Name not found, system will create new subnet in VPCSubnets[].Zone. // +optional VPCSubnets []Subnet `json:"vpcSubnets,omitempty"` // VPCSecurityGroups to attach it to the VPC resource // +optional VPCSecurityGroups []VPCSecurityGroup `json:"vpcSecurityGroups,omitempty"` // transitGateway contains information about IBM Cloud TransitGateway // IBM Cloud TransitGateway helps in establishing network connectivity between IBM Cloud Power VS and VPC infrastructure // more information about TransitGateway can be found here https://www.ibm.com/products/transit-gateway. // when TransitGateway.ID is set, its expected that there exist a TransitGateway with ID or else system will give error. // when TransitGateway.Name is set, system will first check for TransitGateway with Name, if not exist system will create new TransitGateway. // +optional TransitGateway *TransitGateway `json:"transitGateway,omitempty"` // loadBalancers is optional configuration for configuring loadbalancers to control plane or data plane nodes. // when omitted system will create a default public loadbalancer with name CLUSTER_NAME-loadbalancer. // when specified a vpc loadbalancer will be created and controlPlaneEndpoint will be set with associated hostname of loadbalancer. // ControlPlaneEndpoint will be set with associated hostname of public loadbalancer. // when LoadBalancers[].ID is set, its expected that there exist a loadbalancer with ID or else system will give error. // when LoadBalancers[].Name is set, system will first check for loadbalancer with Name, if not exist system will create new loadbalancer. // For each loadbalancer a default backed pool and front listener will be configured with port 6443. // +optional LoadBalancers []VPCLoadBalancerSpec `json:"loadBalancers,omitempty"` // cosInstance contains options to configure a supporting IBM Cloud COS bucket for this // cluster - currently used for nodes requiring Ignition // (https://coreos.github.io/ignition/) for bootstrapping (requires // BootstrapFormatIgnition feature flag to be enabled). // when powervs.cluster.x-k8s.io/create-infra=true annotation is set on IBMPowerVSCluster resource and Ignition is set, then // 1. CosInstance.Name should be set not setting will result in webhook error. // 2. CosInstance.BucketName should be set not setting will result in webhook error. // 3. CosInstance.BucketRegion should be set not setting will result in webhook error. // +optional CosInstance *CosInstance `json:"cosInstance,omitempty"` // Ignition defined options related to the bootstrapping systems where Ignition is used. // +optional Ignition *Ignition `json:"ignition,omitempty"` }
IBMPowerVSClusterSpec defines the desired state of IBMPowerVSCluster.
func (*IBMPowerVSClusterSpec) DeepCopy ¶
func (in *IBMPowerVSClusterSpec) DeepCopy() *IBMPowerVSClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterSpec.
func (*IBMPowerVSClusterSpec) DeepCopyInto ¶
func (in *IBMPowerVSClusterSpec) DeepCopyInto(out *IBMPowerVSClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSClusterStatus ¶
type IBMPowerVSClusterStatus struct { // ready is true when the provider resource is ready. // +kubebuilder:default=false Ready bool `json:"ready"` // ResourceGroup is the reference to the Power VS resource group under which the resources will be created. ResourceGroup *ResourceReference `json:"resourceGroupID,omitempty"` // serviceInstance is the reference to the Power VS service on which the server instance(VM) will be created. ServiceInstance *ResourceReference `json:"serviceInstance,omitempty"` // networkID is the reference to the Power VS network to use for this cluster. Network *ResourceReference `json:"network,omitempty"` // dhcpServer is the reference to the Power VS DHCP server. DHCPServer *ResourceReference `json:"dhcpServer,omitempty"` // vpc is reference to IBM Cloud VPC resources. VPC *ResourceReference `json:"vpc,omitempty"` // vpcSubnet is reference to IBM Cloud VPC subnet. VPCSubnet map[string]ResourceReference `json:"vpcSubnet,omitempty"` // vpcSecurityGroups is reference to IBM Cloud VPC security group. VPCSecurityGroups map[string]VPCSecurityGroupStatus `json:"vpcSecurityGroups,omitempty"` // transitGateway is reference to IBM Cloud TransitGateway. TransitGateway *TransitGatewayStatus `json:"transitGateway,omitempty"` // cosInstance is reference to IBM Cloud COS Instance resource. COSInstance *ResourceReference `json:"cosInstance,omitempty"` // loadBalancers reference to IBM Cloud VPC Loadbalancer. LoadBalancers map[string]VPCLoadBalancerStatus `json:"loadBalancers,omitempty"` // Conditions defines current service state of the IBMPowerVSCluster. Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` }
IBMPowerVSClusterStatus defines the observed state of IBMPowerVSCluster.
func (*IBMPowerVSClusterStatus) DeepCopy ¶
func (in *IBMPowerVSClusterStatus) DeepCopy() *IBMPowerVSClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterStatus.
func (*IBMPowerVSClusterStatus) DeepCopyInto ¶
func (in *IBMPowerVSClusterStatus) DeepCopyInto(out *IBMPowerVSClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSClusterTemplate ¶
type IBMPowerVSClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSClusterTemplateSpec `json:"spec,omitempty"` }
IBMPowerVSClusterTemplate is the schema for IBM Power VS Kubernetes Cluster Templates.
func (*IBMPowerVSClusterTemplate) DeepCopy ¶
func (in *IBMPowerVSClusterTemplate) DeepCopy() *IBMPowerVSClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterTemplate.
func (*IBMPowerVSClusterTemplate) DeepCopyInto ¶
func (in *IBMPowerVSClusterTemplate) DeepCopyInto(out *IBMPowerVSClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSClusterTemplate) DeepCopyObject ¶
func (in *IBMPowerVSClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSClusterTemplate) Default ¶ added in v0.5.0
func (r *IBMPowerVSClusterTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMPowerVSClusterTemplate) Hub ¶
func (*IBMPowerVSClusterTemplate) Hub()
func (*IBMPowerVSClusterTemplate) SetupWebhookWithManager ¶ added in v0.5.0
func (r *IBMPowerVSClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMPowerVSClusterTemplate) ValidateCreate ¶ added in v0.5.0
func (r *IBMPowerVSClusterTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSClusterTemplate) ValidateDelete ¶ added in v0.5.0
func (r *IBMPowerVSClusterTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSClusterTemplate) ValidateUpdate ¶ added in v0.5.0
func (r *IBMPowerVSClusterTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMPowerVSClusterTemplateList ¶
type IBMPowerVSClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMPowerVSClusterTemplate `json:"items"` }
IBMPowerVSClusterTemplateList contains a list of IBMPowerVSClusterTemplate.
func (*IBMPowerVSClusterTemplateList) DeepCopy ¶
func (in *IBMPowerVSClusterTemplateList) DeepCopy() *IBMPowerVSClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterTemplateList.
func (*IBMPowerVSClusterTemplateList) DeepCopyInto ¶
func (in *IBMPowerVSClusterTemplateList) DeepCopyInto(out *IBMPowerVSClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSClusterTemplateList) DeepCopyObject ¶
func (in *IBMPowerVSClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSClusterTemplateList) Hub ¶
func (*IBMPowerVSClusterTemplateList) Hub()
type IBMPowerVSClusterTemplateResource ¶
type IBMPowerVSClusterTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta capiv1beta1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSClusterSpec `json:"spec"` }
IBMPowerVSClusterTemplateResource describes the data needed to create an IBMPowerVSCluster from a template.
func (*IBMPowerVSClusterTemplateResource) DeepCopy ¶
func (in *IBMPowerVSClusterTemplateResource) DeepCopy() *IBMPowerVSClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterTemplateResource.
func (*IBMPowerVSClusterTemplateResource) DeepCopyInto ¶
func (in *IBMPowerVSClusterTemplateResource) DeepCopyInto(out *IBMPowerVSClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSClusterTemplateSpec ¶
type IBMPowerVSClusterTemplateSpec struct {
Template IBMPowerVSClusterTemplateResource `json:"template"`
}
IBMPowerVSClusterTemplateSpec defines the desired state of IBMPowerVSClusterTemplate.
func (*IBMPowerVSClusterTemplateSpec) DeepCopy ¶
func (in *IBMPowerVSClusterTemplateSpec) DeepCopy() *IBMPowerVSClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSClusterTemplateSpec.
func (*IBMPowerVSClusterTemplateSpec) DeepCopyInto ¶
func (in *IBMPowerVSClusterTemplateSpec) DeepCopyInto(out *IBMPowerVSClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSImage ¶
type IBMPowerVSImage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSImageSpec `json:"spec,omitempty"` Status IBMPowerVSImageStatus `json:"status,omitempty"` }
IBMPowerVSImage is the Schema for the ibmpowervsimages API.
func (*IBMPowerVSImage) DeepCopy ¶
func (in *IBMPowerVSImage) DeepCopy() *IBMPowerVSImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSImage.
func (*IBMPowerVSImage) DeepCopyInto ¶
func (in *IBMPowerVSImage) DeepCopyInto(out *IBMPowerVSImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSImage) DeepCopyObject ¶
func (in *IBMPowerVSImage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSImage) Default ¶
func (r *IBMPowerVSImage) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMPowerVSImage) GetConditions ¶
func (r *IBMPowerVSImage) GetConditions() capiv1beta1.Conditions
GetConditions returns the observations of the operational state of the IBMPowerVSImage resource.
func (*IBMPowerVSImage) Hub ¶
func (*IBMPowerVSImage) Hub()
func (*IBMPowerVSImage) SetConditions ¶
func (r *IBMPowerVSImage) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the underlying service state of the IBMPowerVSImage to the predescribed clusterv1.Conditions.
func (*IBMPowerVSImage) SetupWebhookWithManager ¶
func (r *IBMPowerVSImage) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMPowerVSImage) ValidateCreate ¶
func (r *IBMPowerVSImage) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSImage) ValidateDelete ¶
func (r *IBMPowerVSImage) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSImage) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMPowerVSImageList ¶
type IBMPowerVSImageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMPowerVSImage `json:"items"` }
IBMPowerVSImageList contains a list of IBMPowerVSImage.
func (*IBMPowerVSImageList) DeepCopy ¶
func (in *IBMPowerVSImageList) DeepCopy() *IBMPowerVSImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSImageList.
func (*IBMPowerVSImageList) DeepCopyInto ¶
func (in *IBMPowerVSImageList) DeepCopyInto(out *IBMPowerVSImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSImageList) DeepCopyObject ¶
func (in *IBMPowerVSImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSImageList) Hub ¶
func (*IBMPowerVSImageList) Hub()
type IBMPowerVSImageSpec ¶
type IBMPowerVSImageSpec struct { // ClusterName is the name of the Cluster this object belongs to. // +kubebuilder:validation:MinLength=1 ClusterName string `json:"clusterName"` // ServiceInstanceID is the id of the power cloud instance where the image will get imported. // Deprecated: use ServiceInstance instead ServiceInstanceID string `json:"serviceInstanceID"` // serviceInstance is the reference to the Power VS workspace on which the server instance(VM) will be created. // Power VS workspace is a container for all Power VS instances at a specific geographic region. // serviceInstance can be created via IBM Cloud catalog or CLI. // supported serviceInstance identifier in PowerVSResource are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli. // More detail about Power VS service instance. // https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server // when omitted system will dynamically create the service instance // +optional ServiceInstance *IBMPowerVSResourceReference `json:"serviceInstance,omitempty"` // Cloud Object Storage bucket name; bucket-name[/optional/folder] Bucket *string `json:"bucket"` // Cloud Object Storage image filename. Object *string `json:"object"` // Cloud Object Storage region. Region *string `json:"region"` // Type of storage, storage pool with the most available space will be selected. // +kubebuilder:default=tier1 // +kubebuilder:validation:Enum=tier1;tier3 // +optional StorageType string `json:"storageType,omitempty"` // DeletePolicy defines the policy used to identify images to be preserved beyond the lifecycle of associated cluster. // +kubebuilder:default=delete // +kubebuilder:validation:Enum=delete;retain // +optional DeletePolicy string `json:"deletePolicy,omitempty"` }
IBMPowerVSImageSpec defines the desired state of IBMPowerVSImage.
func (*IBMPowerVSImageSpec) DeepCopy ¶
func (in *IBMPowerVSImageSpec) DeepCopy() *IBMPowerVSImageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSImageSpec.
func (*IBMPowerVSImageSpec) DeepCopyInto ¶
func (in *IBMPowerVSImageSpec) DeepCopyInto(out *IBMPowerVSImageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSImageStatus ¶
type IBMPowerVSImageStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // ImageID is the id of the imported image. ImageID string `json:"imageID,omitempty"` // ImageState is the status of the imported image. // +optional ImageState PowerVSImageState `json:"imageState,omitempty"` // JobID is the job ID of an import operation. // +optional JobID string `json:"jobID,omitempty"` // Conditions defines current service state of the IBMPowerVSImage. // +optional Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` }
IBMPowerVSImageStatus defines the observed state of IBMPowerVSImage.
func (*IBMPowerVSImageStatus) DeepCopy ¶
func (in *IBMPowerVSImageStatus) DeepCopy() *IBMPowerVSImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSImageStatus.
func (*IBMPowerVSImageStatus) DeepCopyInto ¶
func (in *IBMPowerVSImageStatus) DeepCopyInto(out *IBMPowerVSImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSMachine ¶
type IBMPowerVSMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSMachineSpec `json:"spec,omitempty"` Status IBMPowerVSMachineStatus `json:"status,omitempty"` }
IBMPowerVSMachine is the Schema for the ibmpowervsmachines API.
func (*IBMPowerVSMachine) DeepCopy ¶
func (in *IBMPowerVSMachine) DeepCopy() *IBMPowerVSMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachine.
func (*IBMPowerVSMachine) DeepCopyInto ¶
func (in *IBMPowerVSMachine) DeepCopyInto(out *IBMPowerVSMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSMachine) DeepCopyObject ¶
func (in *IBMPowerVSMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSMachine) Default ¶
func (r *IBMPowerVSMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMPowerVSMachine) GetConditions ¶
func (r *IBMPowerVSMachine) GetConditions() capiv1beta1.Conditions
GetConditions returns the observations of the operational state of the IBMPowerVSMachine resource.
func (*IBMPowerVSMachine) Hub ¶
func (*IBMPowerVSMachine) Hub()
func (*IBMPowerVSMachine) SetConditions ¶
func (r *IBMPowerVSMachine) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the underlying service state of the IBMPowerVSMachine to the predescribed clusterv1.Conditions.
func (*IBMPowerVSMachine) SetupWebhookWithManager ¶
func (r *IBMPowerVSMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMPowerVSMachine) ValidateCreate ¶
func (r *IBMPowerVSMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSMachine) ValidateDelete ¶
func (r *IBMPowerVSMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSMachine) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMPowerVSMachineList ¶
type IBMPowerVSMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMPowerVSMachine `json:"items"` }
IBMPowerVSMachineList contains a list of IBMPowerVSMachine.
func (*IBMPowerVSMachineList) DeepCopy ¶
func (in *IBMPowerVSMachineList) DeepCopy() *IBMPowerVSMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineList.
func (*IBMPowerVSMachineList) DeepCopyInto ¶
func (in *IBMPowerVSMachineList) DeepCopyInto(out *IBMPowerVSMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSMachineList) DeepCopyObject ¶
func (in *IBMPowerVSMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSMachineList) Hub ¶
func (*IBMPowerVSMachineList) Hub()
type IBMPowerVSMachineSpec ¶
type IBMPowerVSMachineSpec struct { // ServiceInstanceID is the id of the power cloud instance where the vsi instance will get deployed. // Deprecated: use ServiceInstance instead ServiceInstanceID string `json:"serviceInstanceID"` // serviceInstance is the reference to the Power VS workspace on which the server instance(VM) will be created. // Power VS workspace is a container for all Power VS instances at a specific geographic region. // serviceInstance can be created via IBM Cloud catalog or CLI. // supported serviceInstance identifier in PowerVSResource are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli. // More detail about Power VS service instance. // https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server // when omitted system will dynamically create the service instance // +optional ServiceInstance *IBMPowerVSResourceReference `json:"serviceInstance,omitempty"` // SSHKey is the name of the SSH key pair provided to the vsi for authenticating users. SSHKey string `json:"sshKey,omitempty"` // Image the reference to the image which is used to create the instance. // supported image identifier in IBMPowerVSResourceReference are Name and ID and that can be obtained from IBM Cloud UI or IBM Cloud cli. // +optional Image *IBMPowerVSResourceReference `json:"image,omitempty"` // ImageRef is an optional reference to a provider-specific resource that holds // the details for provisioning the Image for a Cluster. // +optional ImageRef *corev1.LocalObjectReference `json:"imageRef,omitempty"` // systemType is the System type used to host the instance. // systemType determines the number of cores and memory that is available. // Few of the supported SystemTypes are s922,e880,e980. // e880 systemType available only in Dallas Datacenters. // e980 systemType available in Datacenters except Dallas and Washington. // When omitted, this means that the user has no opinion and the platform is left to choose a // reasonable default, which is subject to change over time. The current default is s922 which is generally available. // + This is not an enum because we expect other values to be added later which should be supported implicitly. // +kubebuilder:validation:Enum:="s922";"e880";"e980";"s1022";"" // +optional SystemType string `json:"systemType,omitempty"` // processorType is the VM instance processor type. // It must be set to one of the following values: Dedicated, Capped or Shared. // Dedicated: resources are allocated for a specific client, The hypervisor makes a 1:1 binding of a partition’s processor to a physical processor core. // Shared: Shared among other clients. // Capped: Shared, but resources do not expand beyond those that are requested, the amount of CPU time is Capped to the value specified for the entitlement. // if the processorType is selected as Dedicated, then processors value cannot be fractional. // When omitted, this means that the user has no opinion and the platform is left to choose a // reasonable default, which is subject to change over time. The current default is Shared. // +kubebuilder:validation:Enum:="Dedicated";"Shared";"Capped";"" // +optional ProcessorType PowerVSProcessorType `json:"processorType,omitempty"` // processors is the number of virtual processors in a virtual machine. // when the processorType is selected as Dedicated the processors value cannot be fractional. // maximum value for the Processors depends on the selected SystemType. // when SystemType is set to e880 or e980 maximum Processors value is 143. // when SystemType is set to s922 maximum Processors value is 15. // minimum value for Processors depends on the selected ProcessorType. // when ProcessorType is set as Shared or Capped, The minimum processors is 0.25. // when ProcessorType is set as Dedicated, The minimum processors is 1. // When omitted, this means that the user has no opinion and the platform is left to choose a // reasonable default, which is subject to change over time. The default is set based on the selected ProcessorType. // when ProcessorType selected as Dedicated, the default is set to 1. // when ProcessorType selected as Shared or Capped, the default is set to 0.25. // +optional Processors intstr.IntOrString `json:"processors,omitempty"` // memoryGiB is the size of a virtual machine's memory, in GiB. // maximum value for the MemoryGiB depends on the selected SystemType. // when SystemType is set to e880 maximum MemoryGiB value is 7463 GiB. // when SystemType is set to e980 maximum MemoryGiB value is 15307 GiB. // when SystemType is set to s922 maximum MemoryGiB value is 942 GiB. // The minimum memory is 2 GiB. // When omitted, this means the user has no opinion and the platform is left to choose a reasonable // default, which is subject to change over time. The current default is 2. // +optional MemoryGiB int32 `json:"memoryGiB,omitempty"` // Network is the reference to the Network to use for this instance. // supported network identifier in IBMPowerVSResourceReference are Name, ID and RegEx and that can be obtained from IBM Cloud UI or IBM Cloud cli. Network IBMPowerVSResourceReference `json:"network"` // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` }
IBMPowerVSMachineSpec defines the desired state of IBMPowerVSMachine.
func (*IBMPowerVSMachineSpec) DeepCopy ¶
func (in *IBMPowerVSMachineSpec) DeepCopy() *IBMPowerVSMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineSpec.
func (*IBMPowerVSMachineSpec) DeepCopyInto ¶
func (in *IBMPowerVSMachineSpec) DeepCopyInto(out *IBMPowerVSMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSMachineStatus ¶
type IBMPowerVSMachineStatus struct { InstanceID string `json:"instanceID,omitempty"` // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the vsi associated addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Health is the health of the vsi. // +optional Health string `json:"health,omitempty"` // InstanceState is the status of the vsi. // +optional InstanceState PowerVSInstanceState `json:"instanceState,omitempty"` // Fault will report if any fault messages for the vsi. // +optional Fault string `json:"fault,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // // This field should not be set for transitive errors that a controller // faces that are expected to be fixed automatically over // time (like service outages), but instead indicate that something is // fundamentally wrong with the Machine's spec or the configuration of // the controller, and that manual intervention is required. Examples // of terminal errors would be invalid combinations of settings in the // spec, values that are unsupported by the controller, or the // responsible controller itself being critically misconfigured. // // Any transient errors that occur during the reconciliation of Machines // can be added as events to the Machine object and/or logged in the // controller's output. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the IBMPowerVSMachine. // +optional Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` // Region specifies the Power VS Service instance region. Region *string `json:"region,omitempty"` // Zone specifies the Power VS Service instance zone. Zone *string `json:"zone,omitempty"` }
IBMPowerVSMachineStatus defines the observed state of IBMPowerVSMachine.
func (*IBMPowerVSMachineStatus) DeepCopy ¶
func (in *IBMPowerVSMachineStatus) DeepCopy() *IBMPowerVSMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineStatus.
func (*IBMPowerVSMachineStatus) DeepCopyInto ¶
func (in *IBMPowerVSMachineStatus) DeepCopyInto(out *IBMPowerVSMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSMachineTemplate ¶
type IBMPowerVSMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMPowerVSMachineTemplateSpec `json:"spec,omitempty"` Status IBMPowerVSMachineTemplateStatus `json:"status,omitempty"` }
IBMPowerVSMachineTemplate is the Schema for the ibmpowervsmachinetemplates API.
func (*IBMPowerVSMachineTemplate) DeepCopy ¶
func (in *IBMPowerVSMachineTemplate) DeepCopy() *IBMPowerVSMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineTemplate.
func (*IBMPowerVSMachineTemplate) DeepCopyInto ¶
func (in *IBMPowerVSMachineTemplate) DeepCopyInto(out *IBMPowerVSMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSMachineTemplate) DeepCopyObject ¶
func (in *IBMPowerVSMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSMachineTemplate) Default ¶
func (r *IBMPowerVSMachineTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMPowerVSMachineTemplate) Hub ¶
func (*IBMPowerVSMachineTemplate) Hub()
func (*IBMPowerVSMachineTemplate) SetupWebhookWithManager ¶
func (r *IBMPowerVSMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMPowerVSMachineTemplate) ValidateCreate ¶
func (r *IBMPowerVSMachineTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSMachineTemplate) ValidateDelete ¶
func (r *IBMPowerVSMachineTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMPowerVSMachineTemplate) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMPowerVSMachineTemplateList ¶
type IBMPowerVSMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMPowerVSMachineTemplate `json:"items"` }
IBMPowerVSMachineTemplateList contains a list of IBMPowerVSMachineTemplate.
func (*IBMPowerVSMachineTemplateList) DeepCopy ¶
func (in *IBMPowerVSMachineTemplateList) DeepCopy() *IBMPowerVSMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineTemplateList.
func (*IBMPowerVSMachineTemplateList) DeepCopyInto ¶
func (in *IBMPowerVSMachineTemplateList) DeepCopyInto(out *IBMPowerVSMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMPowerVSMachineTemplateList) DeepCopyObject ¶
func (in *IBMPowerVSMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMPowerVSMachineTemplateList) Hub ¶
func (*IBMPowerVSMachineTemplateList) Hub()
type IBMPowerVSMachineTemplateResource ¶
type IBMPowerVSMachineTemplateResource struct {
Spec IBMPowerVSMachineSpec `json:"spec"`
}
IBMPowerVSMachineTemplateResource holds the IBMPowerVSMachine spec.
func (*IBMPowerVSMachineTemplateResource) DeepCopy ¶
func (in *IBMPowerVSMachineTemplateResource) DeepCopy() *IBMPowerVSMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineTemplateResource.
func (*IBMPowerVSMachineTemplateResource) DeepCopyInto ¶
func (in *IBMPowerVSMachineTemplateResource) DeepCopyInto(out *IBMPowerVSMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSMachineTemplateSpec ¶
type IBMPowerVSMachineTemplateSpec struct {
Template IBMPowerVSMachineTemplateResource `json:"template"`
}
IBMPowerVSMachineTemplateSpec defines the desired state of IBMPowerVSMachineTemplate.
func (*IBMPowerVSMachineTemplateSpec) DeepCopy ¶
func (in *IBMPowerVSMachineTemplateSpec) DeepCopy() *IBMPowerVSMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineTemplateSpec.
func (*IBMPowerVSMachineTemplateSpec) DeepCopyInto ¶
func (in *IBMPowerVSMachineTemplateSpec) DeepCopyInto(out *IBMPowerVSMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSMachineTemplateStatus ¶
type IBMPowerVSMachineTemplateStatus struct { // Capacity defines the resource capacity for this machine. // This value is used for autoscaling from zero operations as defined in: // https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md // +optional Capacity corev1.ResourceList `json:"capacity,omitempty"` }
IBMPowerVSMachineTemplateStatus defines the observed state of IBMPowerVSMachineTemplate.
func (*IBMPowerVSMachineTemplateStatus) DeepCopy ¶
func (in *IBMPowerVSMachineTemplateStatus) DeepCopy() *IBMPowerVSMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSMachineTemplateStatus.
func (*IBMPowerVSMachineTemplateStatus) DeepCopyInto ¶
func (in *IBMPowerVSMachineTemplateStatus) DeepCopyInto(out *IBMPowerVSMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMPowerVSResourceReference ¶
type IBMPowerVSResourceReference struct { // ID of resource // +kubebuilder:validation:MinLength=1 // +optional ID *string `json:"id,omitempty"` // Name of resource // +kubebuilder:validation:MinLength=1 // +optional Name *string `json:"name,omitempty"` // Regular expression to match resource, // In case of multiple resources matches the provided regular expression the first matched resource will be selected // +kubebuilder:validation:MinLength=1 // +optional RegEx *string `json:"regex,omitempty"` }
IBMPowerVSResourceReference is a reference to a specific PowerVS resource by ID, Name or RegEx Only one of ID, Name or RegEx may be specified. Specifying more than one will result in a validation error.
func (*IBMPowerVSResourceReference) DeepCopy ¶
func (in *IBMPowerVSResourceReference) DeepCopy() *IBMPowerVSResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMPowerVSResourceReference.
func (*IBMPowerVSResourceReference) DeepCopyInto ¶
func (in *IBMPowerVSResourceReference) DeepCopyInto(out *IBMPowerVSResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCCluster ¶
type IBMVPCCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMVPCClusterSpec `json:"spec,omitempty"` Status IBMVPCClusterStatus `json:"status,omitempty"` }
IBMVPCCluster is the Schema for the ibmvpcclusters API.
func (*IBMVPCCluster) DeepCopy ¶
func (in *IBMVPCCluster) DeepCopy() *IBMVPCCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCCluster.
func (*IBMVPCCluster) DeepCopyInto ¶
func (in *IBMVPCCluster) DeepCopyInto(out *IBMVPCCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCCluster) DeepCopyObject ¶
func (in *IBMVPCCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCCluster) Default ¶
func (r *IBMVPCCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMVPCCluster) GetConditions ¶
func (r *IBMVPCCluster) GetConditions() capiv1beta1.Conditions
GetConditions returns the observations of the operational state of the IBMVPCCluster resource.
func (*IBMVPCCluster) Hub ¶
func (*IBMVPCCluster) Hub()
func (*IBMVPCCluster) SetConditions ¶
func (r *IBMVPCCluster) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the underlying service state of the IBMVPCCluster to the predescribed clusterv1.Conditions.
func (*IBMVPCCluster) SetupWebhookWithManager ¶
func (r *IBMVPCCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMVPCCluster) ValidateCreate ¶
func (r *IBMVPCCluster) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCCluster) ValidateDelete ¶
func (r *IBMVPCCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCCluster) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMVPCClusterList ¶
type IBMVPCClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMVPCCluster `json:"items"` }
IBMVPCClusterList contains a list of IBMVPCCluster.
func (*IBMVPCClusterList) DeepCopy ¶
func (in *IBMVPCClusterList) DeepCopy() *IBMVPCClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterList.
func (*IBMVPCClusterList) DeepCopyInto ¶
func (in *IBMVPCClusterList) DeepCopyInto(out *IBMVPCClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCClusterList) DeepCopyObject ¶
func (in *IBMVPCClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCClusterList) Hub ¶
func (*IBMVPCClusterList) Hub()
type IBMVPCClusterSpec ¶
type IBMVPCClusterSpec struct { // The IBM Cloud Region the cluster lives in. Region string `json:"region"` // The VPC resources should be created under the resource group. ResourceGroup string `json:"resourceGroup"` // The Name of VPC. VPC string `json:"vpc,omitempty"` // The Name of availability zone. Zone string `json:"zone,omitempty"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint capiv1beta1.APIEndpoint `json:"controlPlaneEndpoint"` // ControlPlaneLoadBalancer is optional configuration for customizing control plane behavior. // Use this for legacy support, use Network.LoadBalancers for the extended VPC support. // +optional ControlPlaneLoadBalancer *VPCLoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"` // image represents the Image details used for the cluster. // +optional Image *ImageSpec `json:"image,omitempty"` // network represents the VPC network to use for the cluster. // +optional Network *VPCNetworkSpec `json:"network,omitempty"` }
IBMVPCClusterSpec defines the desired state of IBMVPCCluster.
func (*IBMVPCClusterSpec) DeepCopy ¶
func (in *IBMVPCClusterSpec) DeepCopy() *IBMVPCClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterSpec.
func (*IBMVPCClusterSpec) DeepCopyInto ¶
func (in *IBMVPCClusterSpec) DeepCopyInto(out *IBMVPCClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCClusterStatus ¶
type IBMVPCClusterStatus struct { // Important: Run "make" to regenerate code after modifying this file // dep: rely on Network instead. VPC VPC `json:"vpc,omitempty"` // image is the status of the VPC Custom Image. // +optional Image *ResourceStatus `json:"image,omitempty"` // network is the status of the VPC network resources for extended VPC Infrastructure support. // +optional Network *VPCNetworkStatus `json:"network,omitempty"` // Ready is true when the provider resource is ready. // +optional // +kubebuilder:default=false Ready bool `json:"ready"` // resourceGroup is the status of the cluster's Resource Group for extended VPC Infrastructure support. // +optional ResourceGroup *ResourceStatus `json:"resourceGroup,omitempty"` Subnet Subnet `json:"subnet,omitempty"` VPCEndpoint VPCEndpoint `json:"vpcEndpoint,omitempty"` // ControlPlaneLoadBalancerState is the status of the load balancer. // +optional ControlPlaneLoadBalancerState VPCLoadBalancerState `json:"controlPlaneLoadBalancerState,omitempty"` // Conditions defines current service state of the load balancer. // +optional Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` }
IBMVPCClusterStatus defines the observed state of IBMVPCCluster.
func (*IBMVPCClusterStatus) DeepCopy ¶
func (in *IBMVPCClusterStatus) DeepCopy() *IBMVPCClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterStatus.
func (*IBMVPCClusterStatus) DeepCopyInto ¶
func (in *IBMVPCClusterStatus) DeepCopyInto(out *IBMVPCClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCClusterTemplate ¶ added in v0.7.0
type IBMVPCClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMVPCClusterTemplateSpec `json:"spec,omitempty"` }
IBMVPCClusterTemplate is the Schema for the ibmvpcclustertemplates API.
func (*IBMVPCClusterTemplate) DeepCopy ¶ added in v0.7.0
func (in *IBMVPCClusterTemplate) DeepCopy() *IBMVPCClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterTemplate.
func (*IBMVPCClusterTemplate) DeepCopyInto ¶ added in v0.7.0
func (in *IBMVPCClusterTemplate) DeepCopyInto(out *IBMVPCClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCClusterTemplate) DeepCopyObject ¶ added in v0.7.0
func (in *IBMVPCClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IBMVPCClusterTemplateList ¶ added in v0.7.0
type IBMVPCClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMVPCClusterTemplate `json:"items"` }
IBMVPCClusterTemplateList contains a list of IBMVPCClusterTemplate.
func (*IBMVPCClusterTemplateList) DeepCopy ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateList) DeepCopy() *IBMVPCClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterTemplateList.
func (*IBMVPCClusterTemplateList) DeepCopyInto ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateList) DeepCopyInto(out *IBMVPCClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCClusterTemplateList) DeepCopyObject ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IBMVPCClusterTemplateResource ¶ added in v0.7.0
type IBMVPCClusterTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta capiv1beta1.ObjectMeta `json:"metadata,omitempty"` Spec IBMVPCClusterSpec `json:"spec"` }
IBMVPCClusterTemplateResource describes the data needed to create an IBMVPCCluster from a template.
func (*IBMVPCClusterTemplateResource) DeepCopy ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateResource) DeepCopy() *IBMVPCClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterTemplateResource.
func (*IBMVPCClusterTemplateResource) DeepCopyInto ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateResource) DeepCopyInto(out *IBMVPCClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCClusterTemplateSpec ¶ added in v0.7.0
type IBMVPCClusterTemplateSpec struct {
Template IBMVPCClusterTemplateResource `json:"template,omitempty"`
}
IBMVPCClusterTemplateSpec defines the desired state of IBMVPCClusterTemplate.
func (*IBMVPCClusterTemplateSpec) DeepCopy ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateSpec) DeepCopy() *IBMVPCClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCClusterTemplateSpec.
func (*IBMVPCClusterTemplateSpec) DeepCopyInto ¶ added in v0.7.0
func (in *IBMVPCClusterTemplateSpec) DeepCopyInto(out *IBMVPCClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCMachine ¶
type IBMVPCMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMVPCMachineSpec `json:"spec,omitempty"` Status IBMVPCMachineStatus `json:"status,omitempty"` }
IBMVPCMachine is the Schema for the ibmvpcmachines API.
func (*IBMVPCMachine) DeepCopy ¶
func (in *IBMVPCMachine) DeepCopy() *IBMVPCMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachine.
func (*IBMVPCMachine) DeepCopyInto ¶
func (in *IBMVPCMachine) DeepCopyInto(out *IBMVPCMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCMachine) DeepCopyObject ¶
func (in *IBMVPCMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCMachine) Default ¶
func (r *IBMVPCMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMVPCMachine) GetConditions ¶ added in v0.9.0
func (r *IBMVPCMachine) GetConditions() capiv1beta1.Conditions
GetConditions returns the observations of the operational state of the IBMVPCMachine resource.
func (*IBMVPCMachine) Hub ¶
func (*IBMVPCMachine) Hub()
func (*IBMVPCMachine) SetConditions ¶ added in v0.9.0
func (r *IBMVPCMachine) SetConditions(conditions capiv1beta1.Conditions)
SetConditions sets the underlying service state of the IBMVPCMachine to the predescribed clusterv1.Conditions.
func (*IBMVPCMachine) SetupWebhookWithManager ¶
func (r *IBMVPCMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMVPCMachine) ValidateCreate ¶
func (r *IBMVPCMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCMachine) ValidateDelete ¶
func (r *IBMVPCMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCMachine) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMVPCMachineList ¶
type IBMVPCMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMVPCMachine `json:"items"` }
IBMVPCMachineList contains a list of IBMVPCMachine.
func (*IBMVPCMachineList) DeepCopy ¶
func (in *IBMVPCMachineList) DeepCopy() *IBMVPCMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineList.
func (*IBMVPCMachineList) DeepCopyInto ¶
func (in *IBMVPCMachineList) DeepCopyInto(out *IBMVPCMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCMachineList) DeepCopyObject ¶
func (in *IBMVPCMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCMachineList) Hub ¶
func (*IBMVPCMachineList) Hub()
type IBMVPCMachineSpec ¶
type IBMVPCMachineSpec struct { // Name of the instance. Name string `json:"name,omitempty"` // CatalogOffering is the Catalog Offering OS image which would be installed on the instance. // An OfferingCRN or VersionCRN is required, the PlanCRN is optional. // +optional CatalogOffering *IBMCloudCatalogOffering `json:"catalogOffering,omitempty"` // PlacementTarget is the placement restrictions to use for the virtual server instance. No restrictions are used when this field is not defined. // +optional PlacementTarget *VPCMachinePlacementTarget `json:"placementTarget,omitempty"` // Image is the OS image which would be install on the instance. // ID will take higher precedence over Name if both specified. Image *IBMVPCResourceReference `json:"image"` // LoadBalancerPoolMembers is the set of IBM Cloud VPC Load Balancer Backend Pools the machine should be added to as a member. // +optional LoadBalancerPoolMembers []VPCLoadBalancerBackendPoolMember `json:"loadBalancerPoolMembers,omitempty"` // Zone is the place where the instance should be created. Example: us-south-3 // TODO: Actually zone is transparent to user. The field user can access is location. Example: Dallas 2 Zone string `json:"zone"` // Profile indicates the flavor of instance. Example: bx2-8x32 means 8 vCPUs 32 GB RAM 16 Gbps // TODO: add a reference link of profile // +optional Profile string `json:"profile,omitempty"` // BootVolume contains machines's boot volume configurations like size, iops etc.. // +optional BootVolume *VPCVolume `json:"bootVolume,omitempty"` // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` // PrimaryNetworkInterface is required to specify subnet. PrimaryNetworkInterface NetworkInterface `json:"primaryNetworkInterface,omitempty"` // SSHKeys is the SSH pub keys that will be used to access VM. // ID will take higher precedence over Name if both specified. SSHKeys []*IBMVPCResourceReference `json:"sshKeys,omitempty"` }
IBMVPCMachineSpec defines the desired state of IBMVPCMachine.
func (*IBMVPCMachineSpec) DeepCopy ¶
func (in *IBMVPCMachineSpec) DeepCopy() *IBMVPCMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineSpec.
func (*IBMVPCMachineSpec) DeepCopyInto ¶
func (in *IBMVPCMachineSpec) DeepCopyInto(out *IBMVPCMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCMachineStatus ¶
type IBMVPCMachineStatus struct { // InstanceID defines the IBM Cloud VPC Instance UUID. // +optional InstanceID string `json:"instanceID,omitempty"` // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the IBM Cloud instance associated addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Conditions deefines current service state of the IBMVPCMachine. // +optional Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // InstanceStatus is the status of the IBM Cloud instance for this machine. // +optional InstanceStatus string `json:"instanceState,omitempty"` // LoadBalancerPoolMembers is the status of IBM Cloud VPC Load Balancer Backend Pools the machine is a member. // +optional LoadBalancerPoolMembers []VPCLoadBalancerBackendPoolMember `json:"loadBalancerPoolMembers,omitempty"` }
IBMVPCMachineStatus defines the observed state of IBMVPCMachine.
func (*IBMVPCMachineStatus) DeepCopy ¶
func (in *IBMVPCMachineStatus) DeepCopy() *IBMVPCMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineStatus.
func (*IBMVPCMachineStatus) DeepCopyInto ¶
func (in *IBMVPCMachineStatus) DeepCopyInto(out *IBMVPCMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCMachineTemplate ¶
type IBMVPCMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IBMVPCMachineTemplateSpec `json:"spec,omitempty"` Status IBMVPCMachineTemplateStatus `json:"status,omitempty"` }
IBMVPCMachineTemplate is the Schema for the ibmvpcmachinetemplates API.
func (*IBMVPCMachineTemplate) DeepCopy ¶
func (in *IBMVPCMachineTemplate) DeepCopy() *IBMVPCMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineTemplate.
func (*IBMVPCMachineTemplate) DeepCopyInto ¶
func (in *IBMVPCMachineTemplate) DeepCopyInto(out *IBMVPCMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCMachineTemplate) DeepCopyObject ¶
func (in *IBMVPCMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCMachineTemplate) Default ¶
func (r *IBMVPCMachineTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*IBMVPCMachineTemplate) Hub ¶
func (*IBMVPCMachineTemplate) Hub()
func (*IBMVPCMachineTemplate) SetupWebhookWithManager ¶
func (r *IBMVPCMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*IBMVPCMachineTemplate) ValidateCreate ¶
func (r *IBMVPCMachineTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCMachineTemplate) ValidateDelete ¶
func (r *IBMVPCMachineTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*IBMVPCMachineTemplate) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type IBMVPCMachineTemplateList ¶
type IBMVPCMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IBMVPCMachineTemplate `json:"items"` }
IBMVPCMachineTemplateList contains a list of IBMVPCMachineTemplate.
func (*IBMVPCMachineTemplateList) DeepCopy ¶
func (in *IBMVPCMachineTemplateList) DeepCopy() *IBMVPCMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineTemplateList.
func (*IBMVPCMachineTemplateList) DeepCopyInto ¶
func (in *IBMVPCMachineTemplateList) DeepCopyInto(out *IBMVPCMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IBMVPCMachineTemplateList) DeepCopyObject ¶
func (in *IBMVPCMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*IBMVPCMachineTemplateList) Hub ¶
func (*IBMVPCMachineTemplateList) Hub()
type IBMVPCMachineTemplateResource ¶
type IBMVPCMachineTemplateResource struct { // Spec is the specification of the desired behavior of the machine. Spec IBMVPCMachineSpec `json:"spec"` }
IBMVPCMachineTemplateResource describes the data needed to create am IBMVPCMachine from a template.
func (*IBMVPCMachineTemplateResource) DeepCopy ¶
func (in *IBMVPCMachineTemplateResource) DeepCopy() *IBMVPCMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineTemplateResource.
func (*IBMVPCMachineTemplateResource) DeepCopyInto ¶
func (in *IBMVPCMachineTemplateResource) DeepCopyInto(out *IBMVPCMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCMachineTemplateSpec ¶
type IBMVPCMachineTemplateSpec struct {
Template IBMVPCMachineTemplateResource `json:"template"`
}
IBMVPCMachineTemplateSpec defines the desired state of IBMVPCMachineTemplate.
func (*IBMVPCMachineTemplateSpec) DeepCopy ¶
func (in *IBMVPCMachineTemplateSpec) DeepCopy() *IBMVPCMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineTemplateSpec.
func (*IBMVPCMachineTemplateSpec) DeepCopyInto ¶
func (in *IBMVPCMachineTemplateSpec) DeepCopyInto(out *IBMVPCMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCMachineTemplateStatus ¶ added in v0.8.0
type IBMVPCMachineTemplateStatus struct { // Capacity defines the resource capacity for this machine. // This value is used for autoscaling from zero operations as defined in: // https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md // +optional Capacity corev1.ResourceList `json:"capacity,omitempty"` }
IBMVPCMachineTemplateStatus defines the observed state of IBMVPCMachineTemplate.
func (*IBMVPCMachineTemplateStatus) DeepCopy ¶ added in v0.8.0
func (in *IBMVPCMachineTemplateStatus) DeepCopy() *IBMVPCMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCMachineTemplateStatus.
func (*IBMVPCMachineTemplateStatus) DeepCopyInto ¶ added in v0.8.0
func (in *IBMVPCMachineTemplateStatus) DeepCopyInto(out *IBMVPCMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IBMVPCResourceReference ¶
type IBMVPCResourceReference struct { // ID of resource // +kubebuilder:validation:MinLength=1 // +optional ID *string `json:"id,omitempty"` // Name of resource // +kubebuilder:validation:MinLength=1 // +optional Name *string `json:"name,omitempty"` }
IBMVPCResourceReference is a reference to a specific VPC resource by ID or Name Only one of ID or Name may be specified. Specifying more than one will result in a validation error.
func (*IBMVPCResourceReference) DeepCopy ¶
func (in *IBMVPCResourceReference) DeepCopy() *IBMVPCResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IBMVPCResourceReference.
func (*IBMVPCResourceReference) DeepCopyInto ¶
func (in *IBMVPCResourceReference) DeepCopyInto(out *IBMVPCResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ignition ¶ added in v0.8.0
type Ignition struct { // Version defines which version of Ignition will be used to generate bootstrap data. // // +optional // +kubebuilder:default="2.3" // +kubebuilder:validation:Enum="2.3";"2.4";"3.0";"3.1";"3.2";"3.3";"3.4" Version string `json:"version,omitempty"` }
Ignition defines options related to the bootstrapping systems where Ignition is used.
func (*Ignition) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ignition.
func (*Ignition) DeepCopyInto ¶ added in v0.8.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSpec ¶ added in v0.9.0
type ImageSpec struct { // name is the name of the desired VPC Custom Image. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional Name *string `json:"name,omitempty"` // crn is the IBM Cloud CRN of the existing VPC Custom Image. // +optional CRN *string `json:"crn,omitempty"` // cosInstance is the name of the IBM Cloud COS Instance containing the source of the image, if necessary. // +optional COSInstance *string `json:"cosInstance,omitempty"` // cosBucket is the name of the IBM Cloud COS Bucket containing the source of the image, if necessary. // +optional COSBucket *string `json:"cosBucket,omitempty"` // cosBucketRegion is the COS region the bucket is in. // +optional COSBucketRegion *string `json:"cosBucketRegion,omitempty"` // cosObject is the name of a IBM Cloud COS Object used as the source of the image, if necessary. // +optional COSObject *string `json:"cosObject,omitempty"` // operatingSystem is the Custom Image's Operating System name. // +optional OperatingSystem *string `json:"operatingSystem,omitempty"` // resourceGroup is the Resource Group to create the Custom Image in. // +optional ResourceGroup *IBMCloudResourceReference `json:"resourceGroup,omitempty"` }
ImageSpec defines the desired state of the VPC Custom Image resources for the cluster. +kubebuilder:validation:XValidation:rule="(!has(self.cosInstance) && !has(self.cosBucket) && !has(self.cosObject)) || (has(self.cosInstance) && has(self.cosBucket) && has(self.cosObject))",message="if any of cosInstance, cosBucket, or cosObject are specified, all must be specified" +kubebuilder:validation:XValidation:rule="has(self.name) || has(self.crn) || (has(self.cosInstance) && has(self.cosBucket) && has(self.cosObject))",message="an existing image name or crn must be provided, or to create a new image the cos resources must be provided, with or without a name"
func (*ImageSpec) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶ added in v0.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkInterface ¶
type NetworkInterface struct { // SecurityGroups defines a set of IBM Cloud VPC Security Groups to attach to the network interface. // +optional SecurityGroups []VPCResource `json:"securityGroups,omitempty"` // Subnet ID of the network interface. Subnet string `json:"subnet,omitempty"` }
NetworkInterface holds the network interface information like subnet id.
func (*NetworkInterface) DeepCopy ¶
func (in *NetworkInterface) DeepCopy() *NetworkInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInterface.
func (*NetworkInterface) DeepCopyInto ¶
func (in *NetworkInterface) DeepCopyInto(out *NetworkInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PowerVSImageState ¶
type PowerVSImageState string
PowerVSImageState describes the state of an IBM Power VS image.
type PowerVSInstanceState ¶
type PowerVSInstanceState string
PowerVSInstanceState describes the state of an IBM Power VS instance.
type PowerVSProcessorType ¶
type PowerVSProcessorType string
PowerVSProcessorType enum attribute to identify the PowerVS instance processor type.
const ( // IBMPowerVSMachineFinalizer allows IBMPowerVSMachineReconciler to clean up resources associated with IBMPowerVSMachine before // removing it from the apiserver. IBMPowerVSMachineFinalizer = "ibmpowervsmachine.infrastructure.cluster.x-k8s.io" // PowerVSProcessorTypeDedicated enum property to identify a Dedicated Power VS processor type. PowerVSProcessorTypeDedicated PowerVSProcessorType = "Dedicated" PowerVSProcessorTypeShared PowerVSProcessorType = "Shared" // PowerVSProcessorTypeCapped enum property to identify a Capped Power VS processor type. PowerVSProcessorTypeCapped PowerVSProcessorType = "Capped" // DefaultIgnitionVersion represents default Ignition version generated for machine userdata. DefaultIgnitionVersion = "2.3" )
type ResourceReference ¶ added in v0.8.0
type ResourceReference struct { // id represents the id of the resource. ID *string `json:"id,omitempty"` // +kubebuilder:default=false // controllerCreated indicates whether the resource is created by the controller. ControllerCreated *bool `json:"controllerCreated,omitempty"` }
ResourceReference identifies a resource with id.
func (*ResourceReference) DeepCopy ¶ added in v0.8.0
func (in *ResourceReference) DeepCopy() *ResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (*ResourceReference) DeepCopyInto ¶ added in v0.8.0
func (in *ResourceReference) DeepCopyInto(out *ResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceReference) Set ¶ added in v0.8.0
func (rf *ResourceReference) Set(resource ResourceReference)
Set sets the details of the resource.
type ResourceStatus ¶ added in v0.9.0
type ResourceStatus struct { // id defines the Id of the IBM Cloud resource status. // +required ID string `json:"id"` // name defines the name of the IBM Cloud resource status. // +optional Name *string `json:"name,omitempty"` // ready defines whether the IBM Cloud resource is ready. // +required Ready bool `json:"ready"` }
ResourceStatus identifies a resource by id (and name) and whether it is ready.
func (*ResourceStatus) DeepCopy ¶ added in v0.9.0
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶ added in v0.9.0
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceStatus) Set ¶ added in v0.9.0
func (s *ResourceStatus) Set(resource ResourceStatus)
Set sets the ResourceStatus fields.
type ResourceType ¶ added in v0.8.0
type ResourceType string
ResourceType describes IBM Cloud resource name.
type ServiceInstanceState ¶ added in v0.8.0
type ServiceInstanceState string
ServiceInstanceState describes the state of a service instance.
type Subnet ¶
type Subnet struct { Ipv4CidrBlock *string `json:"cidr,omitempty"` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` Name *string `json:"name,omitempty"` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=64 // +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$` ID *string `json:"id,omitempty"` Zone *string `json:"zone,omitempty"` }
Subnet describes a subnet.
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.
type TransitGateway ¶ added in v0.8.0
type TransitGateway struct { // name of resource. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-zA-Z]|[a-zA-Z][-_a-zA-Z0-9]*[a-zA-Z0-9])$` // +optional Name *string `json:"name,omitempty"` // id of resource. // +optional ID *string `json:"id,omitempty"` // globalRouting indicates whether to set global routing true or not while creating the transit gateway. // set this field to true only when PowerVS and VPC are from different regions, if they are same it's suggested to use local routing by setting the field to false. // when the field is omitted, based on PowerVS region (region associated with IBMPowerVSCluster.Spec.Zone) and VPC region(IBMPowerVSCluster.Spec.VPC.Region) system will decide whether to enable globalRouting or not. // +optional GlobalRouting *bool `json:"globalRouting,omitempty"` }
TransitGateway holds the TransitGateway information.
func (*TransitGateway) DeepCopy ¶ added in v0.8.0
func (in *TransitGateway) DeepCopy() *TransitGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGateway.
func (*TransitGateway) DeepCopyInto ¶ added in v0.8.0
func (in *TransitGateway) DeepCopyInto(out *TransitGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TransitGatewayConnectionState ¶ added in v0.8.0
type TransitGatewayConnectionState string
TransitGatewayConnectionState describes the state of an IBM Transit Gateway connection.
type TransitGatewayState ¶ added in v0.8.0
type TransitGatewayState string
TransitGatewayState describes the state of an IBM Transit Gateway.
type TransitGatewayStatus ¶ added in v0.9.0
type TransitGatewayStatus struct { // id represents the id of the resource. ID *string `json:"id,omitempty"` // +kubebuilder:default=false // controllerCreated indicates whether the resource is created by the controller. ControllerCreated *bool `json:"controllerCreated,omitempty"` // vpcConnection defines the vpc connection status in transit gateway. VPCConnection *ResourceReference `json:"vpcConnection,omitempty"` // powerVSConnection defines the powervs connection status in transit gateway. PowerVSConnection *ResourceReference `json:"powerVSConnection,omitempty"` }
TransitGatewayStatus defines the status of transit gateway as well as it's connection's status.
func (*TransitGatewayStatus) DeepCopy ¶ added in v0.9.0
func (in *TransitGatewayStatus) DeepCopy() *TransitGatewayStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TransitGatewayStatus.
func (*TransitGatewayStatus) DeepCopyInto ¶ added in v0.9.0
func (in *TransitGatewayStatus) DeepCopyInto(out *TransitGatewayStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPC ¶
VPC holds the VPC information.
func (*VPC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPC.
func (*VPC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCEndpoint ¶
type VPCEndpoint struct { Address *string `json:"address"` // +optional // Deprecated: This field has no function and is going to be removed in the next release. FIPID *string `json:"floatingIPID,omitempty"` // +optional LBID *string `json:"loadBalancerIPID,omitempty"` }
VPCEndpoint describes a VPCEndpoint.
func (*VPCEndpoint) DeepCopy ¶
func (in *VPCEndpoint) DeepCopy() *VPCEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCEndpoint.
func (*VPCEndpoint) DeepCopyInto ¶
func (in *VPCEndpoint) DeepCopyInto(out *VPCEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCLoadBalancerBackendPoolAlgorithm ¶ added in v0.9.0
type VPCLoadBalancerBackendPoolAlgorithm string
VPCLoadBalancerBackendPoolAlgorithm describes the backend pool's load balancing algorithm. +kubebuilder:validation:Enum=least_connections;round_robin;weighted_round_robin
var ( // VPCLoadBalancerBackendPoolAlgorithmLeastConnections is the string representing the least_connections load balancing algorithm. VPCLoadBalancerBackendPoolAlgorithmLeastConnections VPCLoadBalancerBackendPoolAlgorithm = vpcv1.CreateLoadBalancerPoolOptionsAlgorithmLeastConnectionsConst // VPCLoadBalancerBackendPoolAlgorithmRoundRobin is the string representing the round_robin load balancing algorithm. VPCLoadBalancerBackendPoolAlgorithmRoundRobin VPCLoadBalancerBackendPoolAlgorithm = vpcv1.CreateLoadBalancerPoolOptionsAlgorithmRoundRobinConst // VPCLoadBalancerBackendPoolAlgorithmWeightedRoundRobin is the string representing the weighted_round_robin load balancing algorithm. VPCLoadBalancerBackendPoolAlgorithmWeightedRoundRobin VPCLoadBalancerBackendPoolAlgorithm = vpcv1.CreateLoadBalancerPoolOptionsAlgorithmWeightedRoundRobinConst )
type VPCLoadBalancerBackendPoolHealthMonitorType ¶ added in v0.9.0
type VPCLoadBalancerBackendPoolHealthMonitorType string
VPCLoadBalancerBackendPoolHealthMonitorType describes the backend pool's health check protocol type. +kubebuilder:validation:Enum=http;https;tcp
var ( // VPCLoadBalancerBackendPoolHealthMonitorTypeHTTP is the string representing the http health pool protocol type. VPCLoadBalancerBackendPoolHealthMonitorTypeHTTP VPCLoadBalancerBackendPoolHealthMonitorType = vpcv1.LoadBalancerPoolHealthMonitorTypeHTTPConst // VPCLoadBalancerBackendPoolHealthMonitorTypeHTTPS is the string representing the https health pool protocol type. VPCLoadBalancerBackendPoolHealthMonitorTypeHTTPS VPCLoadBalancerBackendPoolHealthMonitorType = vpcv1.LoadBalancerPoolHealthMonitorTypeHTTPSConst // VPCLoadBalancerBackendPoolHealthMonitorTypeTCP is the string representing the tcp health pool protocol type. VPCLoadBalancerBackendPoolHealthMonitorTypeTCP VPCLoadBalancerBackendPoolHealthMonitorType = vpcv1.LoadBalancerPoolHealthMonitorTypeTCPConst )
type VPCLoadBalancerBackendPoolMember ¶ added in v0.9.0
type VPCLoadBalancerBackendPoolMember struct { // LoadBalancer defines the Load Balancer the Pool Member is for. // +required LoadBalancer VPCResource `json:"loadBalancer"` // Pool defines the Load Balancer Pool the Pool Member should be in. // +required Pool VPCResource `json:"pool"` // Port defines the Port the Load Balancer Pool Member listens for traffic. // +required Port int64 `json:"port"` // Weight of the service member. Only applicable if the pool algorithm is "weighted_round_robin". // +optional Weight *int64 `json:"weight,omitempty"` }
VPCLoadBalancerBackendPoolMember represents a VPC Load Balancer Backend Pool Member.
func (*VPCLoadBalancerBackendPoolMember) DeepCopy ¶ added in v0.9.0
func (in *VPCLoadBalancerBackendPoolMember) DeepCopy() *VPCLoadBalancerBackendPoolMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCLoadBalancerBackendPoolMember.
func (*VPCLoadBalancerBackendPoolMember) DeepCopyInto ¶ added in v0.9.0
func (in *VPCLoadBalancerBackendPoolMember) DeepCopyInto(out *VPCLoadBalancerBackendPoolMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCLoadBalancerBackendPoolProtocol ¶ added in v0.9.0
type VPCLoadBalancerBackendPoolProtocol string
VPCLoadBalancerBackendPoolProtocol describes the protocol for load balancer backend pools. We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverage. +kubebuilder:validation:Enum=http;https;tcp;udp
var ( // VPCLoadBalancerBackendPoolProtocolHTTP is the string representing the http protocol for load balancer backend pools. VPCLoadBalancerBackendPoolProtocolHTTP VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeProtocolHTTPConst // VPCLoadBalancerBackendPoolProtocolHTTPS is the string representing the https protocol for load balancer backend pools. VPCLoadBalancerBackendPoolProtocolHTTPS VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeProtocolHTTPSConst // VPCLoadBalancerBackendPoolProtocolTCP is the string representing the tcp protocol for load balancer backend pools. VPCLoadBalancerBackendPoolProtocolTCP VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeProtocolTCPConst // VPCLoadBalancerBackendPoolProtocolUDP is the string representing the tudp protocol for load balancer backend pools. VPCLoadBalancerBackendPoolProtocolUDP VPCLoadBalancerBackendPoolProtocol = vpcv1.LoadBalancerPoolPrototypeProtocolUDPConst )
type VPCLoadBalancerBackendPoolSpec ¶ added in v0.9.0
type VPCLoadBalancerBackendPoolSpec struct { // name defines the name of the Backend Pool. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional Name *string `json:"name,omitempty"` // algorithm defines the load balancing algorithm to use. // +required Algorithm VPCLoadBalancerBackendPoolAlgorithm `json:"algorithm"` // healthMonitor defines the backend pool's health monitor. // +required HealthMonitor VPCLoadBalancerHealthMonitorSpec `json:"healthMonitor"` // protocol defines the protocol to use for the Backend Pool. // +required Protocol VPCLoadBalancerBackendPoolProtocol `json:"protocol"` }
VPCLoadBalancerBackendPoolSpec defines the desired configuration of a VPC Load Balancer Backend Pool.
func (*VPCLoadBalancerBackendPoolSpec) DeepCopy ¶ added in v0.9.0
func (in *VPCLoadBalancerBackendPoolSpec) DeepCopy() *VPCLoadBalancerBackendPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCLoadBalancerBackendPoolSpec.
func (*VPCLoadBalancerBackendPoolSpec) DeepCopyInto ¶ added in v0.9.0
func (in *VPCLoadBalancerBackendPoolSpec) DeepCopyInto(out *VPCLoadBalancerBackendPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCLoadBalancerHealthMonitorSpec ¶ added in v0.9.0
type VPCLoadBalancerHealthMonitorSpec struct { // delay defines the seconds to wait between health checks. // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=60 // +required Delay int64 `json:"delay"` // retries defines the max retries for health check. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10 // +required Retries int64 `json:"retries"` // port defines the port to perform health monitoring on. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +optional Port *int64 `json:"port,omitempty"` // timeout defines the seconds to wait for a health check response. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=59 // +required Timeout int64 `json:"timeout"` // type defines the protocol used for health checks. // +required Type VPCLoadBalancerBackendPoolHealthMonitorType `json:"type"` // urlPath defines the URL to use for health monitoring. // +kubebuilder:validation:Pattern=`^\/(([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})+(\/([a-zA-Z0-9-._~!$&'()*+,;=:@]|%[a-fA-F0-9]{2})*)*)?(\\?([a-zA-Z0-9-._~!$&'()*+,;=:@\/?]|%[a-fA-F0-9]{2})*)?$` // +optional URLPath *string `json:"urlPath,omitempty"` }
VPCLoadBalancerHealthMonitorSpec defines the desired state of a Health Monitor resource for a VPC Load Balancer Backend Pool. kubebuilder:validation:XValidation:rule="self.dely > self.timeout",message="health monitor's delay must be greater than the timeout"
func (*VPCLoadBalancerHealthMonitorSpec) DeepCopy ¶ added in v0.9.0
func (in *VPCLoadBalancerHealthMonitorSpec) DeepCopy() *VPCLoadBalancerHealthMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCLoadBalancerHealthMonitorSpec.
func (*VPCLoadBalancerHealthMonitorSpec) DeepCopyInto ¶ added in v0.9.0
func (in *VPCLoadBalancerHealthMonitorSpec) DeepCopyInto(out *VPCLoadBalancerHealthMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCLoadBalancerListenerProtocol ¶ added in v0.9.0
type VPCLoadBalancerListenerProtocol string
VPCLoadBalancerListenerProtocol describes the protocol for load balancer listeners. We have unique types in case IBM Cloud Load Balancer Listener and Backend Pool supported algorithms ever diverage. +kubebuilder:validation:Enum=http;https;tcp;udp
var ( // VPCLoadBalancerListenerProtocolHTTP is the string representing the http protocol for load balancer listeners. VPCLoadBalancerListenerProtocolHTTP VPCLoadBalancerListenerProtocol = vpcv1.LoadBalancerListenerProtocolHTTPConst // VPCLoadBalancerListenerProtocolHTTPS is the string representing the https protocol for load balancer listeners. VPCLoadBalancerListenerProtocolHTTPS VPCLoadBalancerListenerProtocol = vpcv1.LoadBalancerListenerProtocolHTTPSConst // VPCLoadBalancerListenerProtocolTCP is the string representing the tcp protocol for load balancer listeners. VPCLoadBalancerListenerProtocolTCP VPCLoadBalancerListenerProtocol = vpcv1.LoadBalancerListenerProtocolTCPConst // VPCLoadBalancerListenerProtocolUDP is the string representing the tudp protocol for load balancer listeners. VPCLoadBalancerListenerProtocolUDP VPCLoadBalancerListenerProtocol = vpcv1.LoadBalancerListenerProtocolUDPConst )
type VPCLoadBalancerSpec ¶
type VPCLoadBalancerSpec struct { // Name sets the name of the VPC load balancer. // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional Name string `json:"name,omitempty"` // id of the loadbalancer // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=64 // +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$` // +optional ID *string `json:"id,omitempty"` // public indicates that load balancer is public or private // +kubebuilder:default=true // +optional Public *bool `json:"public,omitempty"` // AdditionalListeners sets the additional listeners for the control plane load balancer. // +listType=map // +listMapKey=port // +optional // ++kubebuilder:validation:UniqueItems=true AdditionalListeners []AdditionalListenerSpec `json:"additionalListeners,omitempty"` // backendPools defines the load balancer's backend pools. // +optional BackendPools []VPCLoadBalancerBackendPoolSpec `json:"backendPools,omitempty"` // securityGroups defines the Security Groups to attach to the load balancer. // Security Groups defined here are expected to already exist when the load balancer is reconciled (these do not get created when reconciling the load balancer). // +optional SecurityGroups []VPCResource `json:"securityGroups,omitempty"` // subnets defines the VPC Subnets to attach to the load balancer. // Subnets defiens here are expected to already exist when the load balancer is reconciled (these do not get created when reconciling the load balancer). // +optional Subnets []VPCResource `json:"subnets,omitempty"` }
VPCLoadBalancerSpec defines the desired state of an VPC load balancer.
func (*VPCLoadBalancerSpec) DeepCopy ¶
func (in *VPCLoadBalancerSpec) DeepCopy() *VPCLoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCLoadBalancerSpec.
func (*VPCLoadBalancerSpec) DeepCopyInto ¶
func (in *VPCLoadBalancerSpec) DeepCopyInto(out *VPCLoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCLoadBalancerState ¶
type VPCLoadBalancerState string
VPCLoadBalancerState describes the state of the load balancer.
type VPCLoadBalancerStatus ¶ added in v0.8.0
type VPCLoadBalancerStatus struct { // id of VPC load balancer. // +optional ID *string `json:"id,omitempty"` // State is the status of the load balancer. State VPCLoadBalancerState `json:"state,omitempty"` // hostname is the hostname of load balancer. // +optional Hostname *string `json:"hostname,omitempty"` // +kubebuilder:default=false // controllerCreated indicates whether the resource is created by the controller. ControllerCreated *bool `json:"controllerCreated,omitempty"` }
VPCLoadBalancerStatus defines the status VPC load balancer.
func (*VPCLoadBalancerStatus) DeepCopy ¶ added in v0.8.0
func (in *VPCLoadBalancerStatus) DeepCopy() *VPCLoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCLoadBalancerStatus.
func (*VPCLoadBalancerStatus) DeepCopyInto ¶ added in v0.8.0
func (in *VPCLoadBalancerStatus) DeepCopyInto(out *VPCLoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCMachinePlacementTarget ¶ added in v0.9.0
type VPCMachinePlacementTarget struct { // DedicatedHost defines the Dedicated Host to place a VPC Machine (Instance) on. // +optional DedicatedHost *VPCResource `json:"dedicatedHost,omitempty"` // DedicatedHostGroup defines the Dedicated Host Group to use when placing a VPC Machine (Instance). // +optional DedicatedHostGroup *VPCResource `json:"dedicatedHostGroup"` // PlacementGroup defines the Placement Group to use when placing a VPC Machine (Instance). PlacementGroup *VPCResource `json:"placementGroup,omitempty"` }
VPCMachinePlacementTarget represents a VPC Machine's placement restrictions. +kubebuilder:validation:XValidation:rule="(has(self.dedicatedHost) && !has(self.dedicatedHostGroup) && !has(self.placementGroup)) || (!has(self.dedicatedHost) && has(self.dedicatedHostGroup) && !has(self.placementGroup)) || (!has(self.dedicatedHost) && !has(self.dedicatedHostGroup) && has(self.placementGroup))",message="only one of dedicatedHost, dedicatedHostGroup, or placementGroup must be defined for machine placement"
func (*VPCMachinePlacementTarget) DeepCopy ¶ added in v0.9.0
func (in *VPCMachinePlacementTarget) DeepCopy() *VPCMachinePlacementTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCMachinePlacementTarget.
func (*VPCMachinePlacementTarget) DeepCopyInto ¶ added in v0.9.0
func (in *VPCMachinePlacementTarget) DeepCopyInto(out *VPCMachinePlacementTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCNetworkSpec ¶ added in v0.9.0
type VPCNetworkSpec struct { // controlPlaneSubnets is a set of Subnet's which define the Control Plane subnets. // +optional ControlPlaneSubnets []Subnet `json:"controlPlaneSubnets,omitempty"` // loadBalancers is a set of VPC Load Balancer definitions to use for the cluster. // +optional LoadBalancers []VPCLoadBalancerSpec `json:"loadBalancers,omitempty"` // resourceGroup is the Resource Group containing all of the newtork resources. // This can be different than the Resource Group containing the remaining cluster resources. // +optional ResourceGroup *IBMCloudResourceReference `json:"resourceGroup,omitempty"` // securityGroups is a set of VPCSecurityGroup's which define the VPC Security Groups that manage traffic within and out of the VPC. // +optional SecurityGroups []VPCSecurityGroup `json:"securityGroups,omitempty"` // workerSubnets is a set of Subnet's which define the Worker subnets. // +optional WorkerSubnets []Subnet `json:"workerSubnets,omitempty"` // vpc defines the IBM Cloud VPC for extended VPC Infrastructure support. // +optional VPC *VPCResource `json:"vpc,omitempty"` }
VPCNetworkSpec defines the desired state of the network resources for the cluster for extended VPC Infrastructure support.
func (*VPCNetworkSpec) DeepCopy ¶ added in v0.9.0
func (in *VPCNetworkSpec) DeepCopy() *VPCNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCNetworkSpec.
func (*VPCNetworkSpec) DeepCopyInto ¶ added in v0.9.0
func (in *VPCNetworkSpec) DeepCopyInto(out *VPCNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCNetworkStatus ¶ added in v0.9.0
type VPCNetworkStatus struct { // controlPlaneSubnets references the VPC Subnets for the cluster's Control Plane. // The map simplifies lookups. // +optional ControlPlaneSubnets map[string]*ResourceStatus `json:"controlPlaneSubnets,omitempty"` // loadBalancers references the VPC Load Balancer's for the cluster. // The map simplifies lookups. // +optional LoadBalancers map[string]*VPCLoadBalancerStatus `json:"loadBalancers,omitempty"` // publicGateways references the VPC Public Gateways for the cluster. // The map simplifies lookups. // +optional PublicGateways map[string]*ResourceStatus `json:"publicGateways,omitempty"` // resourceGroup references the Resource Group for Network resources for the cluster. // This can be the same or unique from the cluster's Resource Group. // +optional ResourceGroup *ResourceStatus `json:"resourceGroup,omitempty"` // securityGroups references the VPC Security Groups for the cluster. // The map simplifies lookups. // +optional SecurityGroups map[string]*ResourceStatus `json:"securityGroups,omitempty"` // workerSubnets references the VPC Subnets for the cluster's Data Plane. // The map simplifies lookups. // +optional WorkerSubnets map[string]*ResourceStatus `json:"workerSubnets,omitempty"` // vpc references the status of the IBM Cloud VPC as part of the extended VPC Infrastructure support. // +optional VPC *ResourceStatus `json:"vpc,omitempty"` }
VPCNetworkStatus provides details on the status of VPC network resources for extended VPC Infrastructure support.
func (*VPCNetworkStatus) DeepCopy ¶ added in v0.9.0
func (in *VPCNetworkStatus) DeepCopy() *VPCNetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCNetworkStatus.
func (*VPCNetworkStatus) DeepCopyInto ¶ added in v0.9.0
func (in *VPCNetworkStatus) DeepCopyInto(out *VPCNetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCResource ¶ added in v0.9.0
type VPCResource struct { // id of the resource. // +kubebuilder:validation:MinLength=1 // +optional ID *string `json:"id,omitempty"` // name of the resource. // +kubebuilder:validation:MinLength=1 // +optional Name *string `json:"name,omitempty"` }
VPCResource represents a VPC resource. +kubebuilder:validation:XValidation:rule="has(self.id) || has(self.name)",message="an id or name must be provided"
func (*VPCResource) DeepCopy ¶ added in v0.9.0
func (in *VPCResource) DeepCopy() *VPCResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCResource.
func (*VPCResource) DeepCopyInto ¶ added in v0.9.0
func (in *VPCResource) DeepCopyInto(out *VPCResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCResourceReference ¶ added in v0.8.0
type VPCResourceReference struct { // id of resource. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=64 // +kubebuilder:validation:Pattern=`^[-0-9a-z_]+$` // +optional ID *string `json:"id,omitempty"` // name of resource. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$` // +optional Name *string `json:"name,omitempty"` // region of IBM Cloud VPC. // when powervs.cluster.x-k8s.io/create-infra=true annotation is set on IBMPowerVSCluster resource, // it is expected to set the region, not setting will result in webhook error. Region *string `json:"region,omitempty"` }
VPCResourceReference is a reference to a specific VPC resource by ID or Name Only one of ID or Name may be specified. Specifying more than one will result in a validation error.
func (*VPCResourceReference) DeepCopy ¶ added in v0.8.0
func (in *VPCResourceReference) DeepCopy() *VPCResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCResourceReference.
func (*VPCResourceReference) DeepCopyInto ¶ added in v0.8.0
func (in *VPCResourceReference) DeepCopyInto(out *VPCResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroup ¶ added in v0.8.0
type VPCSecurityGroup struct { // id of the Security Group. // +optional ID *string `json:"id,omitempty"` // name of the Security Group. // +optional Name *string `json:"name,omitempty"` // rules are the Security Group Rules for the Security Group. // +optional Rules []*VPCSecurityGroupRule `json:"rules,omitempty"` // tags are tags to add to the Security Group. // +optional Tags []*string `json:"tags,omitempty"` }
VPCSecurityGroup defines a VPC Security Group that should exist or be created within the specified VPC, with the specified Security Group Rules. +kubebuilder:validation:XValidation:rule="has(self.id) || has(self.name)",message="either an id or name must be specified"
func (*VPCSecurityGroup) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroup) DeepCopy() *VPCSecurityGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroup.
func (*VPCSecurityGroup) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroup) DeepCopyInto(out *VPCSecurityGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroupPortRange ¶ added in v0.8.0
type VPCSecurityGroupPortRange struct { // maximumPort is the inclusive upper range of ports. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 MaximumPort int64 `json:"maximumPort,omitempty"` // minimumPort is the inclusive lower range of ports. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 MinimumPort int64 `json:"minimumPort,omitempty"` }
VPCSecurityGroupPortRange represents a range of ports, minimum to maximum. +kubebuilder:validation:XValidation:rule="self.maximumPort >= self.minimumPort",message="maximum port must be greater than or equal to minimum port"
func (*VPCSecurityGroupPortRange) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroupPortRange) DeepCopy() *VPCSecurityGroupPortRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroupPortRange.
func (*VPCSecurityGroupPortRange) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroupPortRange) DeepCopyInto(out *VPCSecurityGroupPortRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroupRule ¶ added in v0.8.0
type VPCSecurityGroupRule struct { // action defines whether to allow or deny traffic defined by the Security Group Rule. // +required Action VPCSecurityGroupRuleAction `json:"action"` // destination is a VPCSecurityGroupRulePrototype which defines the destination of outbound traffic for the Security Group Rule. // Only used when direction is VPCSecurityGroupRuleDirectionOutbound. // +optional Destination *VPCSecurityGroupRulePrototype `json:"destination,omitempty"` // direction defines whether the traffic is inbound or outbound for the Security Group Rule. // +required Direction VPCSecurityGroupRuleDirection `json:"direction"` // securityGroupID is the ID of the Security Group for the Security Group Rule. // +optional SecurityGroupID *string `json:"securityGroupID,omitempty"` // source is a VPCSecurityGroupRulePrototype which defines the source of inbound traffic for the Security Group Rule. // Only used when direction is VPCSecurityGroupRuleDirectionInbound. // +optional Source *VPCSecurityGroupRulePrototype `json:"source,omitempty"` }
VPCSecurityGroupRule defines a VPC Security Group Rule for a specified Security Group. +kubebuilder:validation:XValidation:rule="(has(self.destination) && !has(self.source)) || (!has(self.destination) && has(self.source))",message="both destination and source cannot be provided" +kubebuilder:validation:XValidation:rule="self.direction == 'inbound' ? has(self.source) : true",message="source must be set for VPCSecurityGroupRuleDirectionInbound direction" +kubebuilder:validation:XValidation:rule="self.direction == 'inbound' ? !has(self.destination) : true",message="destination is not valid for VPCSecurityGroupRuleDirectionInbound direction" +kubebuilder:validation:XValidation:rule="self.direction == 'outbound' ? has(self.destination) : true",message="destination must be set for VPCSecurityGroupRuleDirectionOutbound direction" +kubebuilder:validation:XValidation:rule="self.direction == 'outbound' ? !has(self.source) : true",message="source is not valid for VPCSecurityGroupRuleDirectionOutbound direction"
func (*VPCSecurityGroupRule) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroupRule) DeepCopy() *VPCSecurityGroupRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroupRule.
func (*VPCSecurityGroupRule) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroupRule) DeepCopyInto(out *VPCSecurityGroupRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroupRuleAction ¶ added in v0.8.0
type VPCSecurityGroupRuleAction string
VPCSecurityGroupRuleAction represents the actions for a Security Group Rule. +kubebuilder:validation:Enum=allow;deny
const ( // VPCSecurityGroupRuleActionAllow defines that the Rule should allow traffic. VPCSecurityGroupRuleActionAllow VPCSecurityGroupRuleAction = vpcv1.NetworkACLRuleActionAllowConst // VPCSecurityGroupRuleActionDeny defines that the Rule should deny traffic. VPCSecurityGroupRuleActionDeny VPCSecurityGroupRuleAction = vpcv1.NetworkACLRuleActionDenyConst )
type VPCSecurityGroupRuleDirection ¶ added in v0.8.0
type VPCSecurityGroupRuleDirection string
VPCSecurityGroupRuleDirection represents the directions for a Security Group Rule. +kubebuilder:validation:Enum=inbound;outbound
const ( // VPCSecurityGroupRuleDirectionInbound defines the Rule is for inbound traffic. VPCSecurityGroupRuleDirectionInbound VPCSecurityGroupRuleDirection = vpcv1.NetworkACLRuleDirectionInboundConst // VPCSecurityGroupRuleDirectionOutbound defines the Rule is for outbound traffic. VPCSecurityGroupRuleDirectionOutbound VPCSecurityGroupRuleDirection = vpcv1.NetworkACLRuleDirectionOutboundConst )
type VPCSecurityGroupRuleProtocol ¶ added in v0.8.0
type VPCSecurityGroupRuleProtocol string
VPCSecurityGroupRuleProtocol represents the protocols for a Security Group Rule. +kubebuilder:validation:Enum=all;icmp;tcp;udp
const ( // VPCSecurityGroupRuleProtocolAll defines the Rule is for all network protocols. VPCSecurityGroupRuleProtocolAll VPCSecurityGroupRuleProtocol = vpcv1.NetworkACLRuleProtocolAllConst // VPCSecurityGroupRuleProtocolIcmp defiens the Rule is for ICMP network protocol. VPCSecurityGroupRuleProtocolIcmp VPCSecurityGroupRuleProtocol = vpcv1.NetworkACLRuleProtocolIcmpConst // VPCSecurityGroupRuleProtocolTCP defines the Rule is for TCP network protocol. VPCSecurityGroupRuleProtocolTCP VPCSecurityGroupRuleProtocol = vpcv1.NetworkACLRuleProtocolTCPConst // VPCSecurityGroupRuleProtocolUDP defines the Rule is for UDP network protocol. VPCSecurityGroupRuleProtocolUDP VPCSecurityGroupRuleProtocol = vpcv1.NetworkACLRuleProtocolUDPConst )
type VPCSecurityGroupRulePrototype ¶ added in v0.8.0
type VPCSecurityGroupRulePrototype struct { // icmpCode is the ICMP code for the Rule. // Only used when Protocol is VPCSecurityGroupRuleProtocolIcmp. // +optional ICMPCode *int64 `json:"icmpCode,omitempty"` // icmpType is the ICMP type for the Rule. // Only used when Protocol is VPCSecurityGroupRuleProtocolIcmp. // +optional ICMPType *int64 `json:"icmpType,omitempty"` // portRange is a range of ports allowed for the Rule's remote. // +optional PortRange *VPCSecurityGroupPortRange `json:"portRange,omitempty"` // protocol defines the traffic protocol used for the Security Group Rule. // +required Protocol VPCSecurityGroupRuleProtocol `json:"protocol"` // remotes is a set of VPCSecurityGroupRuleRemote's that define the traffic allowed by the Rule's remote. // Specifying multiple VPCSecurityGroupRuleRemote's creates a unique Security Group Rule with the shared Protocol, PortRange, etc. // This allows for easier management of Security Group Rule's for sets of CIDR's, IP's, etc. Remotes []VPCSecurityGroupRuleRemote `json:"remotes"` }
VPCSecurityGroupRulePrototype defines a VPC Security Group Rule's traffic specifics for a series of remotes (destinations or sources). +kubebuilder:validation:XValidation:rule="self.protocol != 'icmp' ? (!has(self.icmpCode) && !has(self.icmpType)) : true",message="icmpCode and icmpType are only supported for VPCSecurityGroupRuleProtocolIcmp protocol" +kubebuilder:validation:XValidation:rule="self.protocol == 'all' ? !has(self.portRange) : true",message="portRange is not valid for VPCSecurityGroupRuleProtocolAll protocol" +kubebuilder:validation:XValidation:rule="self.protocol == 'icmp' ? !has(self.portRange) : true",message="portRange is not valid for VPCSecurityGroupRuleProtocolIcmp protocol"
func (*VPCSecurityGroupRulePrototype) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroupRulePrototype) DeepCopy() *VPCSecurityGroupRulePrototype
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroupRulePrototype.
func (*VPCSecurityGroupRulePrototype) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroupRulePrototype) DeepCopyInto(out *VPCSecurityGroupRulePrototype)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroupRuleRemote ¶ added in v0.8.0
type VPCSecurityGroupRuleRemote struct { // cidrSubnetName is the name of the VPC Subnet to retrieve the CIDR from, to use for the remote's destination/source. // Only used when remoteType is VPCSecurityGroupRuleRemoteTypeCIDR. // +optional CIDRSubnetName *string `json:"cidrSubnetName,omitempty"` // address is the address to use for the remote's destination/source. // Only used when remoteType is VPCSecurityGroupRuleRemoteTypeAddress. // +optional Address *string `json:"address,omitempty"` // remoteType defines the type of filter to define for the remote's destination/source. // +required RemoteType VPCSecurityGroupRuleRemoteType `json:"remoteType"` // securityGroupName is the name of the VPC Security Group to use for the remote's destination/source. // Only used when remoteType is VPCSecurityGroupRuleRemoteTypeSG // +optional SecurityGroupName *string `json:"securityGroupName,omitempty"` }
VPCSecurityGroupRuleRemote defines a VPC Security Group Rule's remote details. The type of remote defines the additional remote details where are used for defining the remote. +kubebuilder:validation:XValidation:rule="self.remoteType == 'any' ? (!has(self.cidrSubnetName) && !has(self.address) && !has(self.securityGroupName)) : true",message="cidrSubnetName, addresss, and securityGroupName are not valid for VPCSecurityGroupRuleRemoteTypeAny remoteType" +kubebuilder:validation:XValidation:rule="self.remoteType == 'cidr' ? (has(self.cidrSubnetName) && !has(self.address) && !has(self.securityGroupName)) : true",message="only cidrSubnetName is valid for VPCSecurityGroupRuleRemoteTypeCIDR remoteType" +kubebuilder:validation:XValidation:rule="self.remoteType == 'address' ? (has(self.address) && !has(self.cidrSubnetName) && !has(self.securityGroupName)) : true",message="only address is valid for VPCSecurityGroupRuleRemoteTypeIP remoteType" +kubebuilder:validation:XValidation:rule="self.remoteType == 'sg' ? (has(self.securityGroupName) && !has(self.cidrSubnetName) && !has(self.address)) : true",message="only securityGroupName is valid for VPCSecurityGroupRuleRemoteTypeSG remoteType"
func (*VPCSecurityGroupRuleRemote) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroupRuleRemote) DeepCopy() *VPCSecurityGroupRuleRemote
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroupRuleRemote.
func (*VPCSecurityGroupRuleRemote) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroupRuleRemote) DeepCopyInto(out *VPCSecurityGroupRuleRemote)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSecurityGroupRuleRemoteType ¶ added in v0.8.0
type VPCSecurityGroupRuleRemoteType string
VPCSecurityGroupRuleRemoteType represents the type of Security Group Rule's destination or source is intended. This is intended to define the VPCSecurityGroupRulePrototype subtype. For example: - any - Any source or destination (0.0.0.0/0) - cidr - A CIDR representing a set of IP's (10.0.0.0/28) - address - A specific address (192.168.0.1) - sg - A Security Group. +kubebuilder:validation:Enum=any;cidr;address;sg
const ( // VPCSecurityGroupRuleRemoteTypeAny defines the destination or source for the Rule is anything/anywhere. VPCSecurityGroupRuleRemoteTypeAny VPCSecurityGroupRuleRemoteType = VPCSecurityGroupRuleRemoteType("any") // VPCSecurityGroupRuleRemoteTypeCIDR defines the destination or source for the Rule is a CIDR block. VPCSecurityGroupRuleRemoteTypeCIDR VPCSecurityGroupRuleRemoteType = VPCSecurityGroupRuleRemoteType("cidr") // VPCSecurityGroupRuleRemoteTypeAddress defines the destination or source for the Rule is an address. VPCSecurityGroupRuleRemoteTypeAddress VPCSecurityGroupRuleRemoteType = VPCSecurityGroupRuleRemoteType("address") // VPCSecurityGroupRuleRemoteTypeSG defines the destination or source for the Rule is a VPC Security Group. VPCSecurityGroupRuleRemoteTypeSG VPCSecurityGroupRuleRemoteType = VPCSecurityGroupRuleRemoteType("sg") )
type VPCSecurityGroupStatus ¶ added in v0.8.0
type VPCSecurityGroupStatus struct { // id represents the id of the resource. ID *string `json:"id,omitempty"` // rules contains the id of rules created under the security group RuleIDs []*string `json:"ruleIDs,omitempty"` // +kubebuilder:default=false // controllerCreated indicates whether the resource is created by the controller. ControllerCreated *bool `json:"controllerCreated,omitempty"` }
VPCSecurityGroupStatus defines a vpc security group resource status with its id and respective rule's ids.
func (*VPCSecurityGroupStatus) DeepCopy ¶ added in v0.8.0
func (in *VPCSecurityGroupStatus) DeepCopy() *VPCSecurityGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSecurityGroupStatus.
func (*VPCSecurityGroupStatus) DeepCopyInto ¶ added in v0.8.0
func (in *VPCSecurityGroupStatus) DeepCopyInto(out *VPCSecurityGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VPCSubnetState ¶ added in v0.8.0
type VPCSubnetState string
VPCSubnetState describes the state of a VPC Subnet.
type VPCVolume ¶
type VPCVolume struct { // DeleteVolumeOnInstanceDelete If set to true, when deleting the instance the volume will also be deleted. // Default is set as true // +kubebuilder:default=true // +optional DeleteVolumeOnInstanceDelete bool `json:"deleteVolumeOnInstanceDelete,omitempty"` // Name is the unique user-defined name for this volume. // Default will be autogenerated // +optional Name string `json:"name,omitempty"` // SizeGiB is the size of the virtual server's boot disk in GiB. // Default to the size of the image's `minimum_provisioned_size`. // +optional SizeGiB int64 `json:"sizeGiB,omitempty"` // Profile is the volume profile for the bootdisk, refer https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-profiles // for more information. // Default to general-purpose // +kubebuilder:validation:Enum="general-purpose";"5iops-tier";"10iops-tier";"custom" // +kubebuilder:default=general-purpose // +optional Profile string `json:"profile,omitempty"` // Iops is the maximum I/O operations per second (IOPS) to use for the volume. Applicable only to volumes using a profile // family of `custom`. // +optional Iops int64 `json:"iops,omitempty"` // EncryptionKey is the root key to use to wrap the data encryption key for the volume and this points to the CRN // and possible values are as follows. // The CRN of the [Key Protect Root // Key](https://cloud.ibm.com/docs/key-protect?topic=key-protect-getting-started-tutorial) or [Hyper Protect Crypto // Service Root Key](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-get-started) for this resource. // If unspecified, the `encryption` type for the volume will be `provider_managed`. // +optional EncryptionKeyCRN string `json:"encryptionKeyCRN,omitempty"` }
VPCVolume defines the volume information for the instance.
func (*VPCVolume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCVolume.
func (*VPCVolume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- common.go
- conditions_consts.go
- conversion.go
- doc.go
- groupversion_info.go
- ibmpowervscluster_types.go
- ibmpowervscluster_webhook.go
- ibmpowervsclustertemplate_types.go
- ibmpowervsclustertemplate_webhook.go
- ibmpowervsimage_types.go
- ibmpowervsimage_webhook.go
- ibmpowervsmachine_types.go
- ibmpowervsmachine_webhook.go
- ibmpowervsmachinetemplate_types.go
- ibmpowervsmachinetemplate_webhook.go
- ibmvpccluster_types.go
- ibmvpccluster_webhook.go
- ibmvpcclustertemplate_types.go
- ibmvpcmachine_types.go
- ibmvpcmachine_webhook.go
- ibmvpcmachinetemplate_types.go
- ibmvpcmachinetemplate_webhook.go
- types.go
- webhook.go
- zz_generated.deepcopy.go