v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: May 6, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=kubernetes.vkcs.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "kubernetes.vkcs.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Cluster_Kind             = "Cluster"
	Cluster_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String()
	Cluster_KindAPIVersion   = Cluster_Kind + "." + CRDGroupVersion.String()
	Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	NodeGroup_Kind             = "NodeGroup"
	NodeGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: NodeGroup_Kind}.String()
	NodeGroup_KindAPIVersion   = NodeGroup_Kind + "." + CRDGroupVersion.String()
	NodeGroup_GroupVersionKind = CRDGroupVersion.WithKind(NodeGroup_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.availabilityZone) || (has(self.initProvider) && has(self.initProvider.availabilityZone))",message="spec.forProvider.availabilityZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.clusterTemplateId) || (has(self.initProvider) && has(self.initProvider.clusterTemplateId))",message="spec.forProvider.clusterTemplateId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.floatingIpEnabled) || (has(self.initProvider) && has(self.initProvider.floatingIpEnabled))",message="spec.forProvider.floatingIpEnabled is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the Clusters API. Manages a kubernetes cluster. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vkcs}

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetCondition

func (mg *Cluster) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Cluster.

func (*Cluster) GetConnectionDetailsMapping

func (tr *Cluster) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Cluster

func (*Cluster) GetDeletionPolicy

func (mg *Cluster) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Cluster.

func (*Cluster) GetID

func (tr *Cluster) GetID() string

GetID returns ID of underlying Terraform resource of this Cluster

func (*Cluster) GetInitParameters

func (tr *Cluster) GetInitParameters() (map[string]any, error)

GetInitParameters of this Cluster

func (*Cluster) GetManagementPolicies

func (mg *Cluster) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Cluster.

func (*Cluster) GetObservation

func (tr *Cluster) GetObservation() (map[string]any, error)

GetObservation of this Cluster

func (*Cluster) GetParameters

func (tr *Cluster) GetParameters() (map[string]any, error)

GetParameters of this Cluster

func (*Cluster) GetProviderConfigReference

func (mg *Cluster) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Cluster.

func (*Cluster) GetPublishConnectionDetailsTo

func (mg *Cluster) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetTerraformResourceType

func (mg *Cluster) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Cluster

func (*Cluster) GetTerraformSchemaVersion

func (tr *Cluster) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Cluster) GetWriteConnectionSecretToReference

func (mg *Cluster) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Cluster.

func (*Cluster) LateInitialize

func (tr *Cluster) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Cluster using its observed tfState. returns True if there are any spec changes for the resource.

func (*Cluster) ResolveReferences

func (mg *Cluster) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Cluster.

func (*Cluster) SetConditions

func (mg *Cluster) SetConditions(c ...xpv1.Condition)

SetConditions of this Cluster.

func (*Cluster) SetDeletionPolicy

func (mg *Cluster) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Cluster.

func (*Cluster) SetManagementPolicies

func (mg *Cluster) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Cluster.

func (*Cluster) SetObservation

func (tr *Cluster) SetObservation(obs map[string]any) error

SetObservation for this Cluster

func (*Cluster) SetParameters

func (tr *Cluster) SetParameters(params map[string]any) error

SetParameters for this Cluster

func (*Cluster) SetProviderConfigReference

func (mg *Cluster) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Cluster.

func (*Cluster) SetPublishConnectionDetailsTo

func (mg *Cluster) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) SetWriteConnectionSecretToReference

func (mg *Cluster) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Cluster.

type ClusterInitParameters

type ClusterInitParameters struct {

	// optional string →  API LoadBalancer fip. IP address field.
	// API LoadBalancer fip. IP address field.
	APILBFip *string `json:"apiLbFip,omitempty" tf:"api_lb_fip,omitempty"`

	// optional string →  API LoadBalancer vip. IP address field.
	// API LoadBalancer vip. IP address field.
	APILBVip *string `json:"apiLbVip,omitempty" tf:"api_lb_vip,omitempty"`

	// required string →  Availability zone of the cluster.
	// Availability zone of the cluster.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// required string →  The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	// The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	ClusterTemplateID *string `json:"clusterTemplateId,omitempty" tf:"cluster_template_id,omitempty"`

	// optional string →  Custom DNS cluster domain. Changing this creates a new cluster.
	// Custom DNS cluster domain. Changing this creates a new cluster.
	DNSDomain *string `json:"dnsDomain,omitempty" tf:"dns_domain,omitempty"`

	// required boolean →  Floating ip is enabled.
	// Floating ip is enabled.
	FloatingIPEnabled *bool `json:"floatingIpEnabled,omitempty" tf:"floating_ip_enabled,omitempty"`

	// optional string →  Floating IP created for ingress service.
	// Floating IP created for ingress service.
	IngressFloatingIP *string `json:"ingressFloatingIp,omitempty" tf:"ingress_floating_ip,omitempty"`

	// optional string →  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	// Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	InsecureRegistries []*string `json:"insecureRegistries,omitempty" tf:"insecure_registries,omitempty"`

	// optional string →  The name of the Compute service SSH keypair. Changing this creates a new cluster.
	// The name of the Compute service SSH keypair. Changing this creates a new cluster.
	Keypair *string `json:"keypair,omitempty" tf:"keypair,omitempty"`

	// optional map of string →  The list of optional key value pairs representing additional properties of the cluster. Note: Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	// The list of optional key value pairs representing additional properties of the cluster. _note_ Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	//
	// * `calico_ipv4pool` to set subnet where pods will be created. Default 10.100.0.0/16. _note_ Updating this value while the cluster is running is dangerous because it can lead to loss of connectivity of the cluster nodes.
	// * `clean_volumes` to remove pvc volumes when deleting a cluster. Default False. _note_ Changes to this value will be applied immediately.
	// * `cloud_monitoring` to enable cloud monitoring feature. Default False.
	// * `etcd_volume_size` to set etcd volume size in GB. Default 10.
	// * `kube_log_level` to set log level for kubelet in range 0 to 8. Default 0.
	// * `master_volume_size` to set master vm volume size in GB. Default 50.
	// * `cluster_node_volume_type` to set master vm volume type. Default ceph-hdd.
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional number →  The number of master nodes for the cluster. Changing this creates a new cluster.
	// The number of master nodes for the cluster. Changing this creates a new cluster.
	MasterCount *float64 `json:"masterCount,omitempty" tf:"master_count,omitempty"`

	// optional string →  The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	// The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	MasterFlavor *string `json:"masterFlavor,omitempty" tf:"master_flavor,omitempty"`

	// zA-Z][a-zA-Z0-9_.-]*$.
	// The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// optional string →  Network cidr of k8s virtual network
	// Network cidr of k8s virtual network
	PodsNetworkCidr *string `json:"podsNetworkCidr,omitempty" tf:"pods_network_cidr,omitempty"`

	// optional string →  Region to use for the cluster. Default is a region configured for provider.
	// Region to use for the cluster. Default is a region configured for provider.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// optional string →  Docker registry access password.
	// Docker registry access password.
	RegistryAuthPassword *string `json:"registryAuthPassword,omitempty" tf:"registry_auth_password,omitempty"`

	// optional string →  Current state of a cluster. Changing this to RUNNING or SHUTOFF will turn cluster on/off.
	// Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// optional boolean →  Enables syncing of security policies of cluster. Default value is false.New since v0.7.0.
	// Enables syncing of security policies of cluster. Default value is false._new_since_v0.7.0_.
	SyncSecurityPolicy *bool `json:"syncSecurityPolicy,omitempty" tf:"sync_security_policy,omitempty"`
}

func (*ClusterInitParameters) DeepCopy

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

func (*ClusterInitParameters) DeepCopyInto

func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters)

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

type ClusterList

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

ClusterList contains a list of Clusters

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (*ClusterList) GetItems

func (l *ClusterList) GetItems() []resource.Managed

GetItems of this ClusterList.

type ClusterObservation

type ClusterObservation struct {

	// string →  COE API address.
	// COE API address.
	APIAddress *string `json:"apiAddress,omitempty" tf:"api_address,omitempty"`

	// optional string →  API LoadBalancer fip. IP address field.
	// API LoadBalancer fip. IP address field.
	APILBFip *string `json:"apiLbFip,omitempty" tf:"api_lb_fip,omitempty"`

	// optional string →  API LoadBalancer vip. IP address field.
	// API LoadBalancer vip. IP address field.
	APILBVip *string `json:"apiLbVip,omitempty" tf:"api_lb_vip,omitempty"`

	// only map of all cluster labels.New since v0.5.1.
	// The read-only map of all cluster labels._new_since_v0.5.1_.
	AllLabels map[string]*string `json:"allLabels,omitempty" tf:"all_labels,omitempty"`

	// required string →  Availability zone of the cluster.
	// Availability zone of the cluster.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// required string →  The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	// The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	ClusterTemplateID *string `json:"clusterTemplateId,omitempty" tf:"cluster_template_id,omitempty"`

	// string →  The time at which cluster was created.
	// The time at which cluster was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// optional string →  Custom DNS cluster domain. Changing this creates a new cluster.
	// Custom DNS cluster domain. Changing this creates a new cluster.
	DNSDomain *string `json:"dnsDomain,omitempty" tf:"dns_domain,omitempty"`

	// required boolean →  Floating ip is enabled.
	// Floating ip is enabled.
	FloatingIPEnabled *bool `json:"floatingIpEnabled,omitempty" tf:"floating_ip_enabled,omitempty"`

	// string →  ID of the resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// optional string →  Floating IP created for ingress service.
	// Floating IP created for ingress service.
	IngressFloatingIP *string `json:"ingressFloatingIp,omitempty" tf:"ingress_floating_ip,omitempty"`

	// optional string →  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	// Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	InsecureRegistries []*string `json:"insecureRegistries,omitempty" tf:"insecure_registries,omitempty"`

	// optional string →  The name of the Compute service SSH keypair. Changing this creates a new cluster.
	// The name of the Compute service SSH keypair. Changing this creates a new cluster.
	Keypair *string `json:"keypair,omitempty" tf:"keypair,omitempty"`

	// optional map of string →  The list of optional key value pairs representing additional properties of the cluster. Note: Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	// The list of optional key value pairs representing additional properties of the cluster. _note_ Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	//
	// * `calico_ipv4pool` to set subnet where pods will be created. Default 10.100.0.0/16. _note_ Updating this value while the cluster is running is dangerous because it can lead to loss of connectivity of the cluster nodes.
	// * `clean_volumes` to remove pvc volumes when deleting a cluster. Default False. _note_ Changes to this value will be applied immediately.
	// * `cloud_monitoring` to enable cloud monitoring feature. Default False.
	// * `etcd_volume_size` to set etcd volume size in GB. Default 10.
	// * `kube_log_level` to set log level for kubelet in range 0 to 8. Default 0.
	// * `master_volume_size` to set master vm volume size in GB. Default 50.
	// * `cluster_node_volume_type` to set master vm volume type. Default ceph-hdd.
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional string →  The UUID of the load balancer's subnet. Changing this creates new cluster.
	// The UUID of the load balancer's subnet. Changing this creates new cluster.
	LoadbalancerSubnetID *string `json:"loadbalancerSubnetId,omitempty" tf:"loadbalancer_subnet_id,omitempty"`

	// string →  IP addresses of the master node of the cluster.
	// IP addresses of the master node of the cluster.
	MasterAddresses []*string `json:"masterAddresses,omitempty" tf:"master_addresses,omitempty"`

	// optional number →  The number of master nodes for the cluster. Changing this creates a new cluster.
	// The number of master nodes for the cluster. Changing this creates a new cluster.
	MasterCount *float64 `json:"masterCount,omitempty" tf:"master_count,omitempty"`

	// optional string →  The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	// The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	MasterFlavor *string `json:"masterFlavor,omitempty" tf:"master_flavor,omitempty"`

	// zA-Z][a-zA-Z0-9_.-]*$.
	// The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// required string →  UUID of the cluster's network.
	// UUID of the cluster's network.
	NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"`

	// optional string →  Network cidr of k8s virtual network
	// Network cidr of k8s virtual network
	PodsNetworkCidr *string `json:"podsNetworkCidr,omitempty" tf:"pods_network_cidr,omitempty"`

	// string →  The project of the cluster.
	// The project of the cluster.
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// optional string →  Region to use for the cluster. Default is a region configured for provider.
	// Region to use for the cluster. Default is a region configured for provider.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// optional string →  Docker registry access password.
	// Docker registry access password.
	RegistryAuthPassword *string `json:"registryAuthPassword,omitempty" tf:"registry_auth_password,omitempty"`

	// string →  UUID of the Orchestration service stack.
	// UUID of the Orchestration service stack.
	StackID *string `json:"stackId,omitempty" tf:"stack_id,omitempty"`

	// optional string →  Current state of a cluster. Changing this to RUNNING or SHUTOFF will turn cluster on/off.
	// Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// required string →  UUID of the cluster's subnet.
	// UUID of the cluster's subnet.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// optional boolean →  Enables syncing of security policies of cluster. Default value is false.New since v0.7.0.
	// Enables syncing of security policies of cluster. Default value is false._new_since_v0.7.0_.
	SyncSecurityPolicy *bool `json:"syncSecurityPolicy,omitempty" tf:"sync_security_policy,omitempty"`

	// string →  The time at which cluster was created.
	// The time at which cluster was created.
	UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"`

	// string →  The user of the cluster.
	// The user of the cluster.
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`
}

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {

	// optional string →  API LoadBalancer fip. IP address field.
	// API LoadBalancer fip. IP address field.
	// +kubebuilder:validation:Optional
	APILBFip *string `json:"apiLbFip,omitempty" tf:"api_lb_fip,omitempty"`

	// optional string →  API LoadBalancer vip. IP address field.
	// API LoadBalancer vip. IP address field.
	// +kubebuilder:validation:Optional
	APILBVip *string `json:"apiLbVip,omitempty" tf:"api_lb_vip,omitempty"`

	// required string →  Availability zone of the cluster.
	// Availability zone of the cluster.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// required string →  The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	// The UUID of the Kubernetes cluster template. It can be obtained using the cluster_template data source.
	// +kubebuilder:validation:Optional
	ClusterTemplateID *string `json:"clusterTemplateId,omitempty" tf:"cluster_template_id,omitempty"`

	// optional string →  Custom DNS cluster domain. Changing this creates a new cluster.
	// Custom DNS cluster domain. Changing this creates a new cluster.
	// +kubebuilder:validation:Optional
	DNSDomain *string `json:"dnsDomain,omitempty" tf:"dns_domain,omitempty"`

	// required boolean →  Floating ip is enabled.
	// Floating ip is enabled.
	// +kubebuilder:validation:Optional
	FloatingIPEnabled *bool `json:"floatingIpEnabled,omitempty" tf:"floating_ip_enabled,omitempty"`

	// optional string →  Floating IP created for ingress service.
	// Floating IP created for ingress service.
	// +kubebuilder:validation:Optional
	IngressFloatingIP *string `json:"ingressFloatingIp,omitempty" tf:"ingress_floating_ip,omitempty"`

	// optional string →  Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	// Addresses of registries from which you can download images without checking certificates. Changing this creates a new cluster.
	// +kubebuilder:validation:Optional
	InsecureRegistries []*string `json:"insecureRegistries,omitempty" tf:"insecure_registries,omitempty"`

	// optional string →  The name of the Compute service SSH keypair. Changing this creates a new cluster.
	// The name of the Compute service SSH keypair. Changing this creates a new cluster.
	// +kubebuilder:validation:Optional
	Keypair *string `json:"keypair,omitempty" tf:"keypair,omitempty"`

	// optional map of string →  The list of optional key value pairs representing additional properties of the cluster. Note: Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	// The list of optional key value pairs representing additional properties of the cluster. _note_ Updating this attribute will not immediately apply the changes; these options will be used when recreating or deleting cluster nodes, for example, during an upgrade operation.
	//
	// * `calico_ipv4pool` to set subnet where pods will be created. Default 10.100.0.0/16. _note_ Updating this value while the cluster is running is dangerous because it can lead to loss of connectivity of the cluster nodes.
	// * `clean_volumes` to remove pvc volumes when deleting a cluster. Default False. _note_ Changes to this value will be applied immediately.
	// * `cloud_monitoring` to enable cloud monitoring feature. Default False.
	// * `etcd_volume_size` to set etcd volume size in GB. Default 10.
	// * `kube_log_level` to set log level for kubelet in range 0 to 8. Default 0.
	// * `master_volume_size` to set master vm volume size in GB. Default 50.
	// * `cluster_node_volume_type` to set master vm volume type. Default ceph-hdd.
	// +kubebuilder:validation:Optional
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional string →  The UUID of the load balancer's subnet. Changing this creates new cluster.
	// The UUID of the load balancer's subnet. Changing this creates new cluster.
	// +crossplane:generate:reference:type=github.com/viletay/provider-vkcs/apis/network/v1alpha1.Subnet
	// +kubebuilder:validation:Optional
	LoadbalancerSubnetID *string `json:"loadbalancerSubnetId,omitempty" tf:"loadbalancer_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate loadbalancerSubnetId.
	// +kubebuilder:validation:Optional
	LoadbalancerSubnetIDRef *v1.Reference `json:"loadbalancerSubnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate loadbalancerSubnetId.
	// +kubebuilder:validation:Optional
	LoadbalancerSubnetIDSelector *v1.Selector `json:"loadbalancerSubnetIdSelector,omitempty" tf:"-"`

	// optional number →  The number of master nodes for the cluster. Changing this creates a new cluster.
	// The number of master nodes for the cluster. Changing this creates a new cluster.
	// +kubebuilder:validation:Optional
	MasterCount *float64 `json:"masterCount,omitempty" tf:"master_count,omitempty"`

	// optional string →  The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	// The UUID of a flavor for the master nodes. If master_flavor is not present, value from cluster_template will be used.
	// +kubebuilder:validation:Optional
	MasterFlavor *string `json:"masterFlavor,omitempty" tf:"master_flavor,omitempty"`

	// zA-Z][a-zA-Z0-9_.-]*$.
	// The name of the cluster. Changing this creates a new cluster. Should match the pattern `^[a-zA-Z][a-zA-Z0-9_.-]*$`.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// required string →  UUID of the cluster's network.
	// UUID of the cluster's network.
	// +crossplane:generate:reference:type=github.com/viletay/provider-vkcs/apis/network/v1alpha1.Network
	// +kubebuilder:validation:Optional
	NetworkID *string `json:"networkId,omitempty" tf:"network_id,omitempty"`

	// Reference to a Network in network to populate networkId.
	// +kubebuilder:validation:Optional
	NetworkIDRef *v1.Reference `json:"networkIdRef,omitempty" tf:"-"`

	// Selector for a Network in network to populate networkId.
	// +kubebuilder:validation:Optional
	NetworkIDSelector *v1.Selector `json:"networkIdSelector,omitempty" tf:"-"`

	// optional string →  Network cidr of k8s virtual network
	// Network cidr of k8s virtual network
	// +kubebuilder:validation:Optional
	PodsNetworkCidr *string `json:"podsNetworkCidr,omitempty" tf:"pods_network_cidr,omitempty"`

	// optional string →  Region to use for the cluster. Default is a region configured for provider.
	// Region to use for the cluster. Default is a region configured for provider.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// optional string →  Docker registry access password.
	// Docker registry access password.
	// +kubebuilder:validation:Optional
	RegistryAuthPassword *string `json:"registryAuthPassword,omitempty" tf:"registry_auth_password,omitempty"`

	// optional string →  Current state of a cluster. Changing this to RUNNING or SHUTOFF will turn cluster on/off.
	// Current state of a cluster. Changing this to `RUNNING` or `SHUTOFF` will turn cluster on/off.
	// +kubebuilder:validation:Optional
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// required string →  UUID of the cluster's subnet.
	// UUID of the cluster's subnet.
	// +crossplane:generate:reference:type=github.com/viletay/provider-vkcs/apis/network/v1alpha1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// optional boolean →  Enables syncing of security policies of cluster. Default value is false.New since v0.7.0.
	// Enables syncing of security policies of cluster. Default value is false._new_since_v0.7.0_.
	// +kubebuilder:validation:Optional
	SyncSecurityPolicy *bool `json:"syncSecurityPolicy,omitempty" tf:"sync_security_policy,omitempty"`
}

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

type ClusterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ClusterParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ClusterInitParameters `json:"initProvider,omitempty"`
}

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ClusterObservation `json:"atProvider,omitempty"`
}

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type LabelsInitParameters

type LabelsInitParameters struct {

	// required string
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// optional string
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*LabelsInitParameters) DeepCopy

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

func (*LabelsInitParameters) DeepCopyInto

func (in *LabelsInitParameters) DeepCopyInto(out *LabelsInitParameters)

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

type LabelsObservation

type LabelsObservation struct {

	// required string
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// optional string
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*LabelsObservation) DeepCopy

func (in *LabelsObservation) DeepCopy() *LabelsObservation

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

func (*LabelsObservation) DeepCopyInto

func (in *LabelsObservation) DeepCopyInto(out *LabelsObservation)

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

type LabelsParameters

type LabelsParameters struct {

	// required string
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// optional string
	// +kubebuilder:validation:Optional
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*LabelsParameters) DeepCopy

func (in *LabelsParameters) DeepCopy() *LabelsParameters

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

func (*LabelsParameters) DeepCopyInto

func (in *LabelsParameters) DeepCopyInto(out *LabelsParameters)

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

type NodeGroup

type NodeGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.nodeCount) || (has(self.initProvider) && has(self.initProvider.nodeCount))",message="spec.forProvider.nodeCount is a required parameter"
	Spec   NodeGroupSpec   `json:"spec"`
	Status NodeGroupStatus `json:"status,omitempty"`
}

NodeGroup is the Schema for the NodeGroups API. Manages clusters node group. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,vkcs}

func (*NodeGroup) DeepCopy

func (in *NodeGroup) DeepCopy() *NodeGroup

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

func (*NodeGroup) DeepCopyInto

func (in *NodeGroup) DeepCopyInto(out *NodeGroup)

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

func (*NodeGroup) DeepCopyObject

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

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

func (*NodeGroup) GetCondition

func (mg *NodeGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this NodeGroup.

func (*NodeGroup) GetConnectionDetailsMapping

func (tr *NodeGroup) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this NodeGroup

func (*NodeGroup) GetDeletionPolicy

func (mg *NodeGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this NodeGroup.

func (*NodeGroup) GetID

func (tr *NodeGroup) GetID() string

GetID returns ID of underlying Terraform resource of this NodeGroup

func (*NodeGroup) GetInitParameters

func (tr *NodeGroup) GetInitParameters() (map[string]any, error)

GetInitParameters of this NodeGroup

func (*NodeGroup) GetManagementPolicies

func (mg *NodeGroup) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this NodeGroup.

func (*NodeGroup) GetObservation

func (tr *NodeGroup) GetObservation() (map[string]any, error)

GetObservation of this NodeGroup

func (*NodeGroup) GetParameters

func (tr *NodeGroup) GetParameters() (map[string]any, error)

GetParameters of this NodeGroup

func (*NodeGroup) GetProviderConfigReference

func (mg *NodeGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this NodeGroup.

func (*NodeGroup) GetPublishConnectionDetailsTo

func (mg *NodeGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this NodeGroup.

func (*NodeGroup) GetTerraformResourceType

func (mg *NodeGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this NodeGroup

func (*NodeGroup) GetTerraformSchemaVersion

func (tr *NodeGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*NodeGroup) GetWriteConnectionSecretToReference

func (mg *NodeGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this NodeGroup.

func (*NodeGroup) LateInitialize

func (tr *NodeGroup) LateInitialize(attrs []byte) (bool, error)

LateInitialize this NodeGroup using its observed tfState. returns True if there are any spec changes for the resource.

func (*NodeGroup) ResolveReferences

func (mg *NodeGroup) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this NodeGroup.

func (*NodeGroup) SetConditions

func (mg *NodeGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this NodeGroup.

func (*NodeGroup) SetDeletionPolicy

func (mg *NodeGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this NodeGroup.

func (*NodeGroup) SetManagementPolicies

func (mg *NodeGroup) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this NodeGroup.

func (*NodeGroup) SetObservation

func (tr *NodeGroup) SetObservation(obs map[string]any) error

SetObservation for this NodeGroup

func (*NodeGroup) SetParameters

func (tr *NodeGroup) SetParameters(params map[string]any) error

SetParameters for this NodeGroup

func (*NodeGroup) SetProviderConfigReference

func (mg *NodeGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this NodeGroup.

func (*NodeGroup) SetPublishConnectionDetailsTo

func (mg *NodeGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this NodeGroup.

func (*NodeGroup) SetWriteConnectionSecretToReference

func (mg *NodeGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this NodeGroup.

type NodeGroupInitParameters

type NodeGroupInitParameters struct {

	// optional boolean →  Determines whether the autoscaling is enabled.
	// Determines whether the autoscaling is enabled.
	AutoscalingEnabled *bool `json:"autoscalingEnabled,omitempty" tf:"autoscaling_enabled,omitempty"`

	// optional string →  The list of availability zones of the node group. Zones MS1 and  GZ1 are available. By default, node group is being created at cluster's zone.
	// Important: Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	// The list of availability zones of the node group. Zones `MS1` and  `GZ1` are available. By default, node group is being created at cluster's zone.
	// **Important:** Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// place update and may not be provided in custom deployments. In this case, contact support for clarification.
	// The flavor UUID of this node group. _note_ Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.
	FlavorID *string `json:"flavorId,omitempty" tf:"flavor_id,omitempty"`

	// optional →  The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	// The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	Labels []LabelsInitParameters `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional number →  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	// The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	MaxNodeUnavailable *float64 `json:"maxNodeUnavailable,omitempty" tf:"max_node_unavailable,omitempty"`

	// optional number →  The maximum allowed nodes for this node group.
	// The maximum allowed nodes for this node group.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// optional number →  The minimum allowed nodes for this node group. Default to 0 if not set.
	// The minimum allowed nodes for this node group. Default to 0 if not set.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// required string →  The name of node group to create. Changing this will force to create a new node group.
	// The name of node group to create. Changing this will force to create a new node group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// required number →  The node count for this node group. Should be greater than 0. If autoscaling_enabled parameter is set, this attribute will be ignored during update.
	// The node count for this node group. Should be greater than 0. If `autoscaling_enabled` parameter is set, this attribute will be ignored during update.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// optional →  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	// The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	Taints []TaintsInitParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	// optional number →  The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	// The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// optional string →  The volume type to load nodes from. Changing this will force to create a new node group.
	// The volume type to load nodes from. Changing this will force to create a new node group.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*NodeGroupInitParameters) DeepCopy

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

func (*NodeGroupInitParameters) DeepCopyInto

func (in *NodeGroupInitParameters) DeepCopyInto(out *NodeGroupInitParameters)

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

type NodeGroupList

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

NodeGroupList contains a list of NodeGroups

func (*NodeGroupList) DeepCopy

func (in *NodeGroupList) DeepCopy() *NodeGroupList

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

func (*NodeGroupList) DeepCopyInto

func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList)

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

func (*NodeGroupList) DeepCopyObject

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

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

func (*NodeGroupList) GetItems

func (l *NodeGroupList) GetItems() []resource.Managed

GetItems of this NodeGroupList.

type NodeGroupObservation

type NodeGroupObservation struct {

	// optional boolean →  Determines whether the autoscaling is enabled.
	// Determines whether the autoscaling is enabled.
	AutoscalingEnabled *bool `json:"autoscalingEnabled,omitempty" tf:"autoscaling_enabled,omitempty"`

	// optional string →  The list of availability zones of the node group. Zones MS1 and  GZ1 are available. By default, node group is being created at cluster's zone.
	// Important: Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	// The list of availability zones of the node group. Zones `MS1` and  `GZ1` are available. By default, node group is being created at cluster's zone.
	// **Important:** Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// required string →  The UUID of the existing cluster.
	// The UUID of the existing cluster.
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// string →  The time at which node group was created.
	// The time at which node group was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// place update and may not be provided in custom deployments. In this case, contact support for clarification.
	// The flavor UUID of this node group. _note_ Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.
	FlavorID *string `json:"flavorId,omitempty" tf:"flavor_id,omitempty"`

	// string →  ID of the resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// optional →  The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	// The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	Labels []LabelsObservation `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional number →  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	// The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	MaxNodeUnavailable *float64 `json:"maxNodeUnavailable,omitempty" tf:"max_node_unavailable,omitempty"`

	// optional number →  The maximum allowed nodes for this node group.
	// The maximum allowed nodes for this node group.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// optional number →  The minimum allowed nodes for this node group. Default to 0 if not set.
	// The minimum allowed nodes for this node group. Default to 0 if not set.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// required string →  The name of node group to create. Changing this will force to create a new node group.
	// The name of node group to create. Changing this will force to create a new node group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// required number →  The node count for this node group. Should be greater than 0. If autoscaling_enabled parameter is set, this attribute will be ignored during update.
	// The node count for this node group. Should be greater than 0. If `autoscaling_enabled` parameter is set, this attribute will be ignored during update.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// string →  Determines current state of node group (RUNNING, SHUTOFF, ERROR).
	// Determines current state of node group (RUNNING, SHUTOFF, ERROR).
	State *string `json:"state,omitempty" tf:"state,omitempty"`

	// optional →  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	// The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	Taints []TaintsObservation `json:"taints,omitempty" tf:"taints,omitempty"`

	// string →  The UUID of the cluster's node group.
	// The UUID of the cluster's node group.
	UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"`

	// string →  The time at which node group was created.
	// The time at which node group was created.
	UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"`

	// optional number →  The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	// The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// optional string →  The volume type to load nodes from. Changing this will force to create a new node group.
	// The volume type to load nodes from. Changing this will force to create a new node group.
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*NodeGroupObservation) DeepCopy

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

func (*NodeGroupObservation) DeepCopyInto

func (in *NodeGroupObservation) DeepCopyInto(out *NodeGroupObservation)

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

type NodeGroupParameters

type NodeGroupParameters struct {

	// optional boolean →  Determines whether the autoscaling is enabled.
	// Determines whether the autoscaling is enabled.
	// +kubebuilder:validation:Optional
	AutoscalingEnabled *bool `json:"autoscalingEnabled,omitempty" tf:"autoscaling_enabled,omitempty"`

	// optional string →  The list of availability zones of the node group. Zones MS1 and  GZ1 are available. By default, node group is being created at cluster's zone.
	// Important: Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	// The list of availability zones of the node group. Zones `MS1` and  `GZ1` are available. By default, node group is being created at cluster's zone.
	// **Important:** Receiving default AZ add it manually to your main.tf config to sync it with state to avoid node groups force recreation in the future.
	// +kubebuilder:validation:Optional
	AvailabilityZones []*string `json:"availabilityZones,omitempty" tf:"availability_zones,omitempty"`

	// required string →  The UUID of the existing cluster.
	// The UUID of the existing cluster.
	// +crossplane:generate:reference:type=Cluster
	// +kubebuilder:validation:Optional
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// Reference to a Cluster to populate clusterId.
	// +kubebuilder:validation:Optional
	ClusterIDRef *v1.Reference `json:"clusterIdRef,omitempty" tf:"-"`

	// Selector for a Cluster to populate clusterId.
	// +kubebuilder:validation:Optional
	ClusterIDSelector *v1.Selector `json:"clusterIdSelector,omitempty" tf:"-"`

	// place update and may not be provided in custom deployments. In this case, contact support for clarification.
	// The flavor UUID of this node group. _note_ Starting with v0.5.1, changing this attribute does not force the resource to be recreated, which requires an in-place update and may not be provided in custom deployments. In this case, contact support for clarification.
	// +kubebuilder:validation:Optional
	FlavorID *string `json:"flavorId,omitempty" tf:"flavor_id,omitempty"`

	// optional →  The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	// The list of objects representing representing additional properties of the node group. Each object should have attribute "key". Object may also have optional attribute "value".
	// +kubebuilder:validation:Optional
	Labels []LabelsParameters `json:"labels,omitempty" tf:"labels,omitempty"`

	// optional number →  The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	// The maximum number of nodes that can fail during an upgrade. The default value is 25 percent.
	// +kubebuilder:validation:Optional
	MaxNodeUnavailable *float64 `json:"maxNodeUnavailable,omitempty" tf:"max_node_unavailable,omitempty"`

	// optional number →  The maximum allowed nodes for this node group.
	// The maximum allowed nodes for this node group.
	// +kubebuilder:validation:Optional
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// optional number →  The minimum allowed nodes for this node group. Default to 0 if not set.
	// The minimum allowed nodes for this node group. Default to 0 if not set.
	// +kubebuilder:validation:Optional
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// required string →  The name of node group to create. Changing this will force to create a new node group.
	// The name of node group to create. Changing this will force to create a new node group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// required number →  The node count for this node group. Should be greater than 0. If autoscaling_enabled parameter is set, this attribute will be ignored during update.
	// The node count for this node group. Should be greater than 0. If `autoscaling_enabled` parameter is set, this attribute will be ignored during update.
	// +kubebuilder:validation:Optional
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// optional →  The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	// The list of objects representing node group taints. Each object should have following attributes: key, value, effect.
	// +kubebuilder:validation:Optional
	Taints []TaintsParameters `json:"taints,omitempty" tf:"taints,omitempty"`

	// optional number →  The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	// The size in GB for volume to load nodes from. Changing this will force to create a new node group.
	// +kubebuilder:validation:Optional
	VolumeSize *float64 `json:"volumeSize,omitempty" tf:"volume_size,omitempty"`

	// optional string →  The volume type to load nodes from. Changing this will force to create a new node group.
	// The volume type to load nodes from. Changing this will force to create a new node group.
	// +kubebuilder:validation:Optional
	VolumeType *string `json:"volumeType,omitempty" tf:"volume_type,omitempty"`
}

func (*NodeGroupParameters) DeepCopy

func (in *NodeGroupParameters) DeepCopy() *NodeGroupParameters

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

func (*NodeGroupParameters) DeepCopyInto

func (in *NodeGroupParameters) DeepCopyInto(out *NodeGroupParameters)

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

type NodeGroupSpec

type NodeGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     NodeGroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider NodeGroupInitParameters `json:"initProvider,omitempty"`
}

NodeGroupSpec defines the desired state of NodeGroup

func (*NodeGroupSpec) DeepCopy

func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec

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

func (*NodeGroupSpec) DeepCopyInto

func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec)

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

type NodeGroupStatus

type NodeGroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        NodeGroupObservation `json:"atProvider,omitempty"`
}

NodeGroupStatus defines the observed state of NodeGroup.

func (*NodeGroupStatus) DeepCopy

func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus

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

func (*NodeGroupStatus) DeepCopyInto

func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus)

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

type TaintsInitParameters

type TaintsInitParameters struct {

	// required string
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// required string
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// optional string
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TaintsInitParameters) DeepCopy

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

func (*TaintsInitParameters) DeepCopyInto

func (in *TaintsInitParameters) DeepCopyInto(out *TaintsInitParameters)

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

type TaintsObservation

type TaintsObservation struct {

	// required string
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// required string
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// optional string
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TaintsObservation) DeepCopy

func (in *TaintsObservation) DeepCopy() *TaintsObservation

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

func (*TaintsObservation) DeepCopyInto

func (in *TaintsObservation) DeepCopyInto(out *TaintsObservation)

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

type TaintsParameters

type TaintsParameters struct {

	// required string
	// +kubebuilder:validation:Optional
	Effect *string `json:"effect" tf:"effect,omitempty"`

	// required string
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// optional string
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*TaintsParameters) DeepCopy

func (in *TaintsParameters) DeepCopy() *TaintsParameters

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

func (*TaintsParameters) DeepCopyInto

func (in *TaintsParameters) DeepCopyInto(out *TaintsParameters)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL