Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group. +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type ElasticIPPool
- type HuaweiCloudCluster
- func (in *HuaweiCloudCluster) DeepCopy() *HuaweiCloudCluster
- func (in *HuaweiCloudCluster) DeepCopyInto(out *HuaweiCloudCluster)
- func (in *HuaweiCloudCluster) DeepCopyObject() runtime.Object
- func (r *HuaweiCloudCluster) GetConditions() clusterv1.Conditions
- func (r *HuaweiCloudCluster) SetConditions(conditions clusterv1.Conditions)
- type HuaweiCloudClusterList
- type HuaweiCloudClusterSpec
- type HuaweiCloudClusterStatus
- type HuaweiCloudMachine
- func (in *HuaweiCloudMachine) DeepCopy() *HuaweiCloudMachine
- func (in *HuaweiCloudMachine) DeepCopyInto(out *HuaweiCloudMachine)
- func (in *HuaweiCloudMachine) DeepCopyObject() runtime.Object
- func (r *HuaweiCloudMachine) GetConditions() clusterv1.Conditions
- func (r *HuaweiCloudMachine) SetConditions(conditions clusterv1.Conditions)
- type HuaweiCloudMachineList
- type HuaweiCloudMachineSpec
- type HuaweiCloudMachineStatus
- type HuaweiCloudMachineTemplate
- type HuaweiCloudMachineTemplateList
- type HuaweiCloudMachineTemplateResource
- type HuaweiCloudMachineTemplateSpec
- type HuaweiCloudMachineTemplateStatus
- type HuaweiCloudResourceReference
- type IngressRule
- type IngressRules
- type Instance
- type InstanceState
- type ListenerRef
- type LoadBalancer
- type NetworkSpec
- type NetworkStatus
- type PoolRef
- type SecurityGroup
- type SecurityGroupProtocol
- type SecurityGroupRole
- type SecurityGroupRule
- type SubnetSpec
- type Subnets
- type VPCSpec
- type Volume
- type VolumeType
Constants ¶
const ( // InstanceReadyCondition reports on current status of the ECS instance. Ready indicates the instance is in a Running state. InstanceReadyCondition clusterv1.ConditionType = "InstanceReady" // InstanceNotFoundReason used when the instance couldn't be retrieved. InstanceNotFoundReason = "InstanceNotFound" // InstanceTerminatedReason instance is in a terminated state. InstanceTerminatedReason = "InstanceTerminated" // InstanceStoppedReason instance is in a stopped state. InstanceStoppedReason = "InstanceStopped" // InstanceNotReadyReason used when the instance is in a pending state. InstanceNotReadyReason = "InstanceNotReady" // InstanceProvisionStartedReason set when the provisioning of an instance started. InstanceProvisionStartedReason = "InstanceProvisionStarted" // 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 ( // SecurityGroupsReadyCondition indicates the security groups are up to date on the HuaweiCloudMachine. SecurityGroupsReadyCondition clusterv1.ConditionType = "SecurityGroupsReady" // SecurityGroupsFailedReason used when the security groups could not be synced. SecurityGroupsFailedReason = "SecurityGroupsSyncFailed" )
const ( // VpcReadyCondition reports on the successful reconciliation of a VPC. VpcReadyCondition clusterv1.ConditionType = "VpcReady" // VpcCreationStartedReason used when attempting to create a VPC for a managed cluster. // Will not be applied to unmanaged clusters. VpcCreationStartedReason = "VpcCreationStarted" // VpcReconciliationFailedReason used when errors occur during VPC reconciliation. VpcReconciliationFailedReason = "VpcReconciliationFailed" )
const ( // SubnetsReadyCondition reports on the successful reconciliation of subnets. SubnetsReadyCondition clusterv1.ConditionType = "SubnetsReady" // SubnetsReconciliationFailedReason used to report failures while reconciling subnets. SubnetsReconciliationFailedReason = "SubnetsReconciliationFailed" )
const ( // ClusterSecurityGroupsReadyCondition reports successful reconciliation of security groups. ClusterSecurityGroupsReadyCondition clusterv1.ConditionType = "ClusterSecurityGroupsReady" // ClusterSecurityGroupReconciliationFailedReason used when any errors occur during reconciliation of security groups. ClusterSecurityGroupReconciliationFailedReason = "SecurityGroupReconciliationFailed" )
const ( // LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled. LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady" // LoadBalancerFailedReason used when an error occurs during load balancer reconciliation. LoadBalancerFailedReason = "LoadBalancerFailed" )
const ( // NatGatewaysReadyCondition reports successful reconciliation of NAT gateways. // Only applicable to managed clusters. NatGatewaysReadyCondition clusterv1.ConditionType = "NatGatewaysReady" // NatGatewaysCreationStartedReason set once when creating new NAT gateways. NatGatewaysCreationStartedReason = "NatGatewaysCreationStarted" // NatGatewaysReconciliationFailedReason used when any errors occur during reconciliation of NAT gateways. NatGatewaysReconciliationFailedReason = "NatGatewaysReconciliationFailed" )
const (
ClusterFinalizer = "huaweicloudcluster.infrastructure.cluster.x-k8s.io"
)
const ( // MachineFinalizer allows HuaweiCloudMachineReconciler to clean up HuaweiCloud resources associated with HuaweiCloudMachine before // removing it from the apiserver. MachineFinalizer = "huaweicloudmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1alpha1"} // 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 ( // SecurityGroupProtocolAll is a wildcard for all IP protocols. SecurityGroupProtocolAll = SecurityGroupProtocol("-1") // SecurityGroupProtocolIPinIP represents the IP in IP protocol in ingress rules. SecurityGroupProtocolIPinIP = SecurityGroupProtocol("4") // SecurityGroupProtocolTCP represents the TCP protocol in ingress rules. SecurityGroupProtocolTCP = SecurityGroupProtocol("tcp") // SecurityGroupProtocolUDP represents the UDP protocol in ingress rules. SecurityGroupProtocolUDP = SecurityGroupProtocol("udp") // SecurityGroupProtocolICMP represents the ICMP protocol in ingress rules. SecurityGroupProtocolICMP = SecurityGroupProtocol("icmp") // SecurityGroupProtocolICMPv6 represents the ICMPv6 protocol in ingress rules. SecurityGroupProtocolICMPv6 = SecurityGroupProtocol("58") // SecurityGroupProtocolESP represents the ESP protocol in ingress rules. SecurityGroupProtocolESP = SecurityGroupProtocol("50") )
var ( // SecurityGroupNode defines a Kubernetes workload node role. SecurityGroupNode = SecurityGroupRole("node") // SecurityGroupControlPlane defines a Kubernetes control plane node role. SecurityGroupControlPlane = SecurityGroupRole("controlplane") // SecurityGroupAPIServerLB defines a Kubernetes API Server Load Balancer role. SecurityGroupAPIServerLB = SecurityGroupRole("apiserver-lb") // SecurityGroupLB defines a container for the cloud provider to inject its load balancer ingress rules. SecurityGroupLB = SecurityGroupRole("lb") )
var ( // InstanceStatePending is the string representing an instance in a pending state. InstanceStatePending = InstanceState("pending") // InstanceStateRunning is the string representing an instance in a running state. InstanceStateRunning = InstanceState("running") // InstanceStateShuttingDown is the string representing an instance shutting down. InstanceStateShuttingDown = InstanceState("shutting-down") // InstanceStateTerminated is the string representing an instance that has been terminated. InstanceStateTerminated = InstanceState("terminated") // InstanceStateStopping is the string representing an instance // that is in the process of being stopped and can be restarted. InstanceStateStopping = InstanceState("stopping") // InstanceStateStopped is the string representing an instance // that has been stopped and can be restarted. InstanceStateStopped = InstanceState("stopped") // InstanceRunningStates defines the set of states in which an ECS instance is // running or going to be running soon. InstanceRunningStates = sets.NewString( string(InstanceStatePending), string(InstanceStateRunning), ) // InstanceOperationalStates defines the set of states in which an ECS instance is // or can return to running, and supports all ECS operations. InstanceOperationalStates = InstanceRunningStates.Union( sets.NewString( string(InstanceStateStopping), string(InstanceStateStopped), ), ) // InstanceKnownStates represents all known ECS instance states. InstanceKnownStates = InstanceOperationalStates.Union( sets.NewString( string(InstanceStateShuttingDown), string(InstanceStateTerminated), ), ) )
var VolumeTypeGPSSD = VolumeType("gpssd")
VolumeTypeGPSSD is the string representing a general purpose ssd volume.
Functions ¶
This section is empty.
Types ¶
type ElasticIPPool ¶
type ElasticIPPool struct { // PublicIpv4Pool is ID of the Public IPv4 Pool. It sets a custom Public IPv4 Pool used to create // Elastic IP address for resources created in public IPv4 subnets. Every IPv4 address, Elastic IP, // will be allocated from the custom Public IPv4 pool that you brought to ECS, instead of // Amazon-provided pool. // // +kubebuilder:validation:MaxLength=30 // +optional PublicIpv4Pool *string `json:"publicIpv4Pool,omitempty"` }
ElasticIPPool allows configuring a Elastic IP pool for resources allocating public IPv4 addresses on public subnets.
func (*ElasticIPPool) DeepCopy ¶
func (in *ElasticIPPool) DeepCopy() *ElasticIPPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ElasticIPPool.
func (*ElasticIPPool) DeepCopyInto ¶
func (in *ElasticIPPool) DeepCopyInto(out *ElasticIPPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudCluster ¶
type HuaweiCloudCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HuaweiCloudClusterSpec `json:"spec,omitempty"` Status HuaweiCloudClusterStatus `json:"status,omitempty"` }
HuaweiCloudCluster is the Schema for the huaweicloudclusters API.
func (*HuaweiCloudCluster) DeepCopy ¶
func (in *HuaweiCloudCluster) DeepCopy() *HuaweiCloudCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudCluster.
func (*HuaweiCloudCluster) DeepCopyInto ¶
func (in *HuaweiCloudCluster) DeepCopyInto(out *HuaweiCloudCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudCluster) DeepCopyObject ¶
func (in *HuaweiCloudCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HuaweiCloudCluster) GetConditions ¶
func (r *HuaweiCloudCluster) GetConditions() clusterv1.Conditions
GetConditions returns the HuaweiCloudCluster's conditions.
func (*HuaweiCloudCluster) SetConditions ¶
func (r *HuaweiCloudCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HuaweiCloudCluster to the predescribed clusterv1.Conditions.
type HuaweiCloudClusterList ¶
type HuaweiCloudClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HuaweiCloudCluster `json:"items"` }
HuaweiCloudClusterList contains a list of HuaweiCloudCluster.
func (*HuaweiCloudClusterList) DeepCopy ¶
func (in *HuaweiCloudClusterList) DeepCopy() *HuaweiCloudClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudClusterList.
func (*HuaweiCloudClusterList) DeepCopyInto ¶
func (in *HuaweiCloudClusterList) DeepCopyInto(out *HuaweiCloudClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudClusterList) DeepCopyObject ¶
func (in *HuaweiCloudClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HuaweiCloudClusterSpec ¶
type HuaweiCloudClusterSpec struct { // NetworkSpec encapsulates the configuration options for HuaweiCloud network. NetworkSpec NetworkSpec `json:"network,omitempty"` // The ECS Region the cluster lives in. Region string `json:"region,omitempty"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` }
HuaweiCloudClusterSpec defines the desired state of HuaweiCloudCluster.
func (*HuaweiCloudClusterSpec) DeepCopy ¶
func (in *HuaweiCloudClusterSpec) DeepCopy() *HuaweiCloudClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudClusterSpec.
func (*HuaweiCloudClusterSpec) DeepCopyInto ¶
func (in *HuaweiCloudClusterSpec) DeepCopyInto(out *HuaweiCloudClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudClusterStatus ¶
type HuaweiCloudClusterStatus struct { // +kubebuilder:default=false Ready bool `json:"ready"` Network NetworkStatus `json:"networkStatus,omitempty"` Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HuaweiCloudClusterStatus defines the observed state of HuaweiCloudCluster.
func (*HuaweiCloudClusterStatus) DeepCopy ¶
func (in *HuaweiCloudClusterStatus) DeepCopy() *HuaweiCloudClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudClusterStatus.
func (*HuaweiCloudClusterStatus) DeepCopyInto ¶
func (in *HuaweiCloudClusterStatus) DeepCopyInto(out *HuaweiCloudClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudMachine ¶
type HuaweiCloudMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HuaweiCloudMachineSpec `json:"spec,omitempty"` Status HuaweiCloudMachineStatus `json:"status,omitempty"` }
HuaweiCloudMachine is the Schema for the huaweicloudmachines API.
func (*HuaweiCloudMachine) DeepCopy ¶
func (in *HuaweiCloudMachine) DeepCopy() *HuaweiCloudMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachine.
func (*HuaweiCloudMachine) DeepCopyInto ¶
func (in *HuaweiCloudMachine) DeepCopyInto(out *HuaweiCloudMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudMachine) DeepCopyObject ¶
func (in *HuaweiCloudMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HuaweiCloudMachine) GetConditions ¶
func (r *HuaweiCloudMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HuaweiCloudMachine resource.
func (*HuaweiCloudMachine) SetConditions ¶
func (r *HuaweiCloudMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HuaweiMachine to the predescribed clusterv1.Conditions.
type HuaweiCloudMachineList ¶
type HuaweiCloudMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HuaweiCloudMachine `json:"items"` }
HuaweiCloudMachineList contains a list of HuaweiCloudMachine.
func (*HuaweiCloudMachineList) DeepCopy ¶
func (in *HuaweiCloudMachineList) DeepCopy() *HuaweiCloudMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineList.
func (*HuaweiCloudMachineList) DeepCopyInto ¶
func (in *HuaweiCloudMachineList) DeepCopyInto(out *HuaweiCloudMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudMachineList) DeepCopyObject ¶
func (in *HuaweiCloudMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HuaweiCloudMachineSpec ¶
type HuaweiCloudMachineSpec struct { // ProviderID is the unique identifier as specified by the cloud provider. ProviderID *string `json:"providerID,omitempty"` // InstanceID is the ECS instance ID for this machine. InstanceID *string `json:"instanceID,omitempty"` // 镜像ID或者镜像资源的URL // ImageRef is the reference from which to create the machine instance. ImageRef *string `json:"imageRef,omitempty"` // FlavorRef is similar to instanceType. // FlavorRef is the type of instance to create. Example: s2.small.1 // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength:=2 FlavorRef string `json:"flavorRef"` // SSHKeyName is the name of the ssh key to attach to the instance. Valid values are empty string (do not use SSH keys), a valid SSH key name, or omitted (use the default SSH key name) // +optional SSHKeyName *string `json:"sshKeyName,omitempty"` // RootVolume encapsulates the configuration options for the root volume // +optional RootVolume *Volume `json:"rootVolume,omitempty"` // PublicIP specifies whether the instance should get a public IP. // Precedence for this setting is as follows: // 1. This field if set // 2. Cluster/flavor setting // 3. Subnet default // +optional PublicIP *bool `json:"publicIP,omitempty"` // ElasticIPPool is the configuration to allocate Public IPv4 address (Elastic IP/EIP) from user-defined pool. // // +optional ElasticIPPool *ElasticIPPool `json:"elasticIpPool,omitempty"` // Subnet is a reference to the subnet to use for this instance. If not specified, // the cluster subnet will be used. // +optional Subnet *HuaweiCloudResourceReference `json:"subnet,omitempty"` }
HuaweiCloudMachineSpec defines the desired state of HuaweiCloudMachine.
func (*HuaweiCloudMachineSpec) DeepCopy ¶
func (in *HuaweiCloudMachineSpec) DeepCopy() *HuaweiCloudMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineSpec.
func (*HuaweiCloudMachineSpec) DeepCopyInto ¶
func (in *HuaweiCloudMachineSpec) DeepCopyInto(out *HuaweiCloudMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudMachineStatus ¶
type HuaweiCloudMachineStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the ECS instance associated addresses. Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // InstanceState is the state of the ECS instance for this machine. // +optional InstanceState *InstanceState `json:"instanceState,omitempty"` // +optional FailureMessage *string `json:"failureMessage,omitempty"` // +optional FailureReason *capierrors.MachineStatusError `json:"failureReason,omitempty"` // Conditions defines current service state of the HuaweiCloudMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HuaweiCloudMachineStatus defines the observed state of HuaweiCloudMachine.
func (*HuaweiCloudMachineStatus) DeepCopy ¶
func (in *HuaweiCloudMachineStatus) DeepCopy() *HuaweiCloudMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineStatus.
func (*HuaweiCloudMachineStatus) DeepCopyInto ¶
func (in *HuaweiCloudMachineStatus) DeepCopyInto(out *HuaweiCloudMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudMachineTemplate ¶
type HuaweiCloudMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HuaweiCloudMachineTemplateSpec `json:"spec,omitempty"` Status HuaweiCloudMachineTemplateStatus `json:"status,omitempty"` }
HuaweiCloudMachineTemplate is the Schema for the huaweicloudmachinetemplates API.
func (*HuaweiCloudMachineTemplate) DeepCopy ¶
func (in *HuaweiCloudMachineTemplate) DeepCopy() *HuaweiCloudMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineTemplate.
func (*HuaweiCloudMachineTemplate) DeepCopyInto ¶
func (in *HuaweiCloudMachineTemplate) DeepCopyInto(out *HuaweiCloudMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudMachineTemplate) DeepCopyObject ¶
func (in *HuaweiCloudMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HuaweiCloudMachineTemplateList ¶
type HuaweiCloudMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HuaweiCloudMachineTemplate `json:"items"` }
HuaweiCloudMachineTemplateList contains a list of HuaweiCloudMachineTemplate.
func (*HuaweiCloudMachineTemplateList) DeepCopy ¶
func (in *HuaweiCloudMachineTemplateList) DeepCopy() *HuaweiCloudMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineTemplateList.
func (*HuaweiCloudMachineTemplateList) DeepCopyInto ¶
func (in *HuaweiCloudMachineTemplateList) DeepCopyInto(out *HuaweiCloudMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HuaweiCloudMachineTemplateList) DeepCopyObject ¶
func (in *HuaweiCloudMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HuaweiCloudMachineTemplateResource ¶
type HuaweiCloudMachineTemplateResource struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired behavior of the machine. Spec HuaweiCloudMachineSpec `json:"spec"` }
HuaweiCloudMachineTemplateResource describes the data needed to create am HuaweiCloudMachine from a template.
func (*HuaweiCloudMachineTemplateResource) DeepCopy ¶
func (in *HuaweiCloudMachineTemplateResource) DeepCopy() *HuaweiCloudMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineTemplateResource.
func (*HuaweiCloudMachineTemplateResource) DeepCopyInto ¶
func (in *HuaweiCloudMachineTemplateResource) DeepCopyInto(out *HuaweiCloudMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudMachineTemplateSpec ¶
type HuaweiCloudMachineTemplateSpec struct {
Template HuaweiCloudMachineTemplateResource `json:"template"`
}
HuaweiCloudMachineTemplateSpec defines the desired state of HuaweiCloudMachineTemplate.
func (*HuaweiCloudMachineTemplateSpec) DeepCopy ¶
func (in *HuaweiCloudMachineTemplateSpec) DeepCopy() *HuaweiCloudMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineTemplateSpec.
func (*HuaweiCloudMachineTemplateSpec) DeepCopyInto ¶
func (in *HuaweiCloudMachineTemplateSpec) DeepCopyInto(out *HuaweiCloudMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudMachineTemplateStatus ¶
type HuaweiCloudMachineTemplateStatus struct { }
HuaweiCloudMachineTemplateStatus defines the observed state of HuaweiCloudMachineTemplate.
func (*HuaweiCloudMachineTemplateStatus) DeepCopy ¶
func (in *HuaweiCloudMachineTemplateStatus) DeepCopy() *HuaweiCloudMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudMachineTemplateStatus.
func (*HuaweiCloudMachineTemplateStatus) DeepCopyInto ¶
func (in *HuaweiCloudMachineTemplateStatus) DeepCopyInto(out *HuaweiCloudMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HuaweiCloudResourceReference ¶
type HuaweiCloudResourceReference struct { // ID of resource // +required ID *string `json:"id,omitempty"` }
HuaweiCloudResourceReference is a reference to a specific HuaweiCloud resource by ID.
func (*HuaweiCloudResourceReference) DeepCopy ¶
func (in *HuaweiCloudResourceReference) DeepCopy() *HuaweiCloudResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HuaweiCloudResourceReference.
func (*HuaweiCloudResourceReference) DeepCopyInto ¶
func (in *HuaweiCloudResourceReference) DeepCopyInto(out *HuaweiCloudResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressRule ¶
type IngressRule struct { // Description provides extended information about the ingress rule. Description string `json:"description"` // Protocol is the protocol for the ingress rule. Accepted values are "-1" (all), "4" (IP in IP),"tcp", "udp", "icmp", and "58" (ICMPv6), "50" (ESP). // +kubebuilder:validation:Enum="-1";"4";tcp;udp;icmp;"58";"50" Protocol SecurityGroupProtocol `json:"protocol"` // PortRangeMin is the start of port range. PortRangeMin int64 `json:"portRangeMin"` // PortRangeMax is the end of port range. PortRangeMax int64 `json:"portRangeMax"` // List of CIDR blocks to allow access from. Cannot be specified with SourceSecurityGroupID. // +optional CidrBlocks []string `json:"cidrBlocks,omitempty"` // List of IPv6 CIDR blocks to allow access from. Cannot be specified with SourceSecurityGroupID. // +optional IPv6CidrBlocks []string `json:"ipv6CidrBlocks,omitempty"` // The security group id to allow access from. Cannot be specified with CidrBlocks. // +optional SourceSecurityGroupIDs []string `json:"sourceSecurityGroupIds,omitempty"` // The security group role to allow access from. Cannot be specified with CidrBlocks. // The field will be combined with source security group IDs if specified. // +optional SourceSecurityGroupRoles []SecurityGroupRole `json:"sourceSecurityGroupRoles,omitempty"` // NatGatewaysIPsSource use the NAT gateways IPs as the source for the ingress rule. // +optional NatGatewaysIPsSource bool `json:"natGatewaysIPsSource,omitempty"` }
IngressRule defines an HuaweiCloud ECS ingress rule for security groups.
func (*IngressRule) DeepCopy ¶
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶
func (in *IngressRule) DeepCopyInto(out *IngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressRule) Equals ¶
func (i *IngressRule) Equals(o *IngressRule) bool
Equals returns true if two IngressRule are equal.
type IngressRules ¶
type IngressRules []IngressRule
IngressRules is a slice of HuaweiCloud ECS ingress rules for security groups.
func (IngressRules) DeepCopy ¶
func (in IngressRules) DeepCopy() IngressRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRules.
func (IngressRules) DeepCopyInto ¶
func (in IngressRules) DeepCopyInto(out *IngressRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (IngressRules) Difference ¶
func (i IngressRules) Difference(o IngressRules) (out IngressRules)
Difference returns the difference between this slice and the other slice.
type Instance ¶
type Instance struct { ID string `json:"id"` // The current state of the instance. State InstanceState `json:"instanceState,omitempty"` // The instance type. Type string `json:"type,omitempty"` // The ID of the subnet of the instance. SubnetID string `json:"subnetId,omitempty"` // The ID of the AMI used to launch the instance. ImageID string `json:"imageId,omitempty"` // The name of the SSH key pair. SSHKeyName *string `json:"sshKeyName,omitempty"` // SecurityGroupIDs are one or more security group IDs this instance belongs to. SecurityGroupIDs []string `json:"securityGroupIds,omitempty"` // UserData is the raw data script passed to the instance which is run upon bootstrap. // This field must not be base64 encoded and should only be used when running a new instance. UserData *string `json:"userData,omitempty"` // The private IPv4 address assigned to the instance. PrivateIP *string `json:"privateIp,omitempty"` // The public IPv4 address assigned to the instance, if applicable. PublicIP *string `json:"publicIp,omitempty"` // Configuration options for the root storage volume. // +optional RootVolume *Volume `json:"rootVolume,omitempty"` // Configuration options for the data storage volumes. // +optional DataVolumes []Volume `json:"dataVolumes,omitempty"` // Addresses contains the ECS instance associated addresses. Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"` // Availability zone of instance AvailabilityZone string `json:"availabilityZone,omitempty"` // PublicIPOnLaunch is the option to associate a public IP on instance launch // +optional PublicIPOnLaunch *bool `json:"publicIPOnLaunch,omitempty"` }
Instance describes an HuaweiCloud ECS instance.
func (*Instance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.
func (*Instance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstanceState ¶
type InstanceState string
InstanceState describes the state of an ECS instance.
type ListenerRef ¶
type ListenerRef struct { // Id is the unique identifier of the listener. Id string `json:"id"` }
func (*ListenerRef) DeepCopy ¶
func (in *ListenerRef) DeepCopy() *ListenerRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerRef.
func (*ListenerRef) DeepCopyInto ¶
func (in *ListenerRef) DeepCopyInto(out *ListenerRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct { // Id is the unique identifier of the loadbalancer. Id string `json:"id"` // Name is the name of the load balancer. Name string `json:"name"` // Pools is a list of pool references associated with the load balancer. Pools []PoolRef `json:"pools"` // Listeners is a list of listener references associated with the load balancer. Listeners []ListenerRef `json:"listeners"` }
LoadBalancer defines an HuaweiCloud load balancer.
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // VPC configuration. // +optional VPC VPCSpec `json:"vpc,omitempty"` // Subnets configuration. // +optional Subnets Subnets `json:"subnets,omitempty"` }
NetworkSpec encapsulates the configuration options for HuaweiCloud network.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct { // SecurityGroups is a map from the role/kind of the security group to its unique name, if any. SecurityGroups map[SecurityGroupRole]SecurityGroup `json:"securityGroups,omitempty"` // ELB is the Elastic Load Balancer associated with the cluster. ELB LoadBalancer `json:"elb,omitempty"` // NatGatewaysIPs contains the public IPs of the NAT Gateways NatGatewaysIPs []string `json:"natGatewaysIPs,omitempty"` }
NetworkStatus encapsulates HuaweiCloud networking resources.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolRef ¶
type PoolRef struct { // Id is the unique identifier of the pool. Id string `json:"id"` }
func (*PoolRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolRef.
func (*PoolRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroup ¶
type SecurityGroup struct { // ID is a unique identifier. ID string `json:"id"` // Name is the security group name. Name string `json:"name"` // IngressRules is the inbound rules associated with the security group. // +optional SecurityGroupRules []SecurityGroupRule `json:"ingressRule,omitempty"` }
SecurityGroup defines an HuaweiCloud security group.
func (*SecurityGroup) DeepCopy ¶
func (in *SecurityGroup) DeepCopy() *SecurityGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroup.
func (*SecurityGroup) DeepCopyInto ¶
func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityGroup) String ¶
func (s *SecurityGroup) String() string
String returns a string representation of the security group.
type SecurityGroupProtocol ¶
type SecurityGroupProtocol string
SecurityGroupProtocol defines the protocol type for a security group rule.
type SecurityGroupRole ¶
type SecurityGroupRole string
SecurityGroupRole defines the unique role of a security group. +kubebuilder:validation:Enum=bastion;node;controlplane;apiserver-lb;lb;node-eks-additional
type SecurityGroupRule ¶
type SecurityGroupRule struct { // ID is the unique identifier of the security group rule. Id string `json:"id"` // Description is the description of the security group rule. Description string `json:"description"` // SecurityGroupId is the security group id. SecurityGroupId string `json:"security_group_id"` // Direction is the direction of the security group rule. Accepted values are "ingress" and "egress". Direction string `json:"direction"` // Ethertype is the IP protocol type. The value can be IPv4 or IPv6. Ethertype string `json:"ethertype"` // Protocol is the protocol for the security group rule. Protocol string `json:"protocol"` // PortRangeMin is the start of port range. PortRangeMin int32 `json:"port_range_min"` // PortRangeMax is the end of port range. PortRangeMax int32 `json:"port_range_max"` // RemoteIpPrefix is the CIDR block to allow access from. RemoteIpPrefix string `json:"remote_ip_prefix"` // RemoteGroupId is the remote security group id. RemoteGroupId string `json:"remote_group_id"` // RemoteAddressGroupId is the remote address group id. RemoteAddressGroupId string `json:"remote_address_group_id"` }
SecurityGroupRule
func (*SecurityGroupRule) DeepCopy ¶
func (in *SecurityGroupRule) DeepCopy() *SecurityGroupRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroupRule.
func (*SecurityGroupRule) DeepCopyInto ¶
func (in *SecurityGroupRule) DeepCopyInto(out *SecurityGroupRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetSpec ¶
type SubnetSpec struct { // Id defines a unique identifier to reference this resource. Id string `json:"id"` // Name is the name of the subnet. It must be 1-64 characters long and support numbers, letters, Chinese characters, _(underscore), -(hyphen), and .(dot). Name string `json:"name"` // ResourceID is the subnet identifier from HuaweiCloud, READ ONLY. // This field is populated when the provider manages the subnet. // +optional ResourceID string `json:"resourceID,omitempty"` // CIDR is the CIDR of the subnet. It must be in CIDR format. The mask length cannot be greater than 28. Cidr string `json:"cidr"` // GatewayIp is the gateway of the subnet. It must be an IP address in the subnet segment. GatewayIp string `json:"gateway_ip"` // VPCId is the identifier of the VPC where the subnet is located. VpcId string `json:"vpc_id"` // NeutronNetworkId is the identifier of the network (OpenStack Neutron interface). NeutronNetworkId string `json:"neutron_network_id"` // NeutronSubnetId is the identifier of the subnet (OpenStack Neutron interface). NeutronSubnetId string `json:"neutron_subnet_id"` // IPv6CidrBlock is the IPv6 CIDR block to be used when the provider creates a managed VPC. // A subnet can have an IPv4 and an IPv6 address. // IPv6 is only supported in managed clusters, this field cannot be set on HuaweiCloudCluster object. // +optional IPv6CidrBlock string `json:"ipv6CidrBlock,omitempty"` // AvailabilityZone defines the availability zone to use for this subnet in the cluster's region. AvailabilityZone string `json:"availabilityZone,omitempty"` // IsPublic defines the subnet as a public subnet. A subnet is public when it is associated with a route table that has a route to an internet gateway. // +optional IsPublic bool `json:"isPublic"` // IsIPv6 defines the subnet as an IPv6 subnet. A subnet is IPv6 when it is associated with a VPC that has IPv6 enabled. // IPv6 is only supported in managed clusters, this field cannot be set on HuaweiCloudCluster object. // +optional IsIPv6 bool `json:"isIpv6,omitempty"` }
SubnetSpec configures an HuaweiCloud VPC Subnet.
func (*SubnetSpec) DeepCopy ¶
func (in *SubnetSpec) DeepCopy() *SubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.
func (*SubnetSpec) DeepCopyInto ¶
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubnetSpec) GetResourceID ¶
func (s *SubnetSpec) GetResourceID() string
GetResourceID returns the identifier for this subnet, if the subnet was not created or reconciled, it returns the subnet ID.
type Subnets ¶
type Subnets []SubnetSpec
Subnets is a slice of Subnet. +listType=map +listMapKey=id
func (Subnets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (Subnets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Subnets) FilterPrivate ¶
FilterPrivate returns a slice containing all subnets marked as private.
func (Subnets) FindByID ¶
func (s Subnets) FindByID(id string) *SubnetSpec
FindByID returns a single subnet matching the given id or nil.
The returned pointer can be used to write back into the original slice.
type VPCSpec ¶
type VPCSpec struct { // Id is the unique identifier of the VPC. It is a UUID. Id string `json:"id"` // Name is the name of the VPC. It must be 0-64 characters long and support numbers, letters, Chinese characters, _(underscore), -(hyphen), and .(dot). Name string `json:"name"` // Cidr is the CIDR of the VPC. Cidr string `json:"cidr"` }
func (*VPCSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPCSpec.
func (*VPCSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶
type Volume struct { // Device name // +optional DeviceName string `json:"deviceName,omitempty"` // Size specifies size (in Gi) of the storage device. // Must be greater than the image snapshot size or 8 (whichever is greater). // +kubebuilder:validation:Minimum=8 Size int64 `json:"size"` // Type is the type of the volume (e.g. gp2, io1, etc...). // +optional Type VolumeType `json:"type,omitempty"` // IOPS is the number of IOPS requested for the disk. Not applicable to all types. // +optional IOPS int64 `json:"iops,omitempty"` // Throughput to provision in MiB/s supported for the volume type. Not applicable to all types. // +optional Throughput *int64 `json:"throughput,omitempty"` }
Volume encapsulates the configuration options for the storage device.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeType ¶
type VolumeType string