v1alpha1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=kubernetes.digitalocean.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "kubernetes.digitalocean.crossplane.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 (
	NodePool_Kind             = "NodePool"
	NodePool_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: NodePool_Kind}.String()
	NodePool_KindAPIVersion   = NodePool_Kind + "." + CRDGroupVersion.String()
	NodePool_GroupVersionKind = CRDGroupVersion.WithKind(NodePool_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.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.nodePool) || (has(self.initProvider) && has(self.initProvider.nodePool))",message="spec.forProvider.nodePool is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.region) || (has(self.initProvider) && has(self.initProvider.region))",message="spec.forProvider.region is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.version) || (has(self.initProvider) && has(self.initProvider.version))",message="spec.forProvider.version is a required parameter"
	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the Clusters API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,do}

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) GetMergedParameters added in v0.2.0

func (tr *Cluster) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters 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) Hub added in v0.2.0

func (tr *Cluster) Hub()

Hub marks this type as a conversion hub.

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 {

	// A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
	AutoUpgrade *bool `json:"autoUpgrade,omitempty" tf:"auto_upgrade,omitempty"`

	// Use with caution. When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
	DestroyAllAssociatedResources *bool `json:"destroyAllAssociatedResources,omitempty" tf:"destroy_all_associated_resources,omitempty"`

	// Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
	Ha *bool `json:"ha,omitempty" tf:"ha,omitempty"`

	// A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. auto_upgrade must be set to true for this to have an effect.
	MaintenancePolicy []MaintenancePolicyInitParameters `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// A name for the Kubernetes cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified:
	NodePool []NodePoolInitParameters `json:"nodePool,omitempty" tf:"node_pool,omitempty"`

	// The slug identifier for the region where the Kubernetes cluster will be created.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
	RegistryIntegration *bool `json:"registryIntegration,omitempty" tf:"registry_integration,omitempty"`

	// Enable/disable surge upgrades for a cluster. Default: false
	SurgeUpgrade *bool `json:"surgeUpgrade,omitempty" tf:"surge_upgrade,omitempty"`

	// A list of tag names applied to the node pool.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the VPC where the Kubernetes cluster will be located.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/vpc/v1alpha1.VPC
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// Reference to a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDRef *v1.Reference `json:"vpcUuidRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDSelector *v1.Selector `json:"vpcUuidSelector,omitempty" tf:"-"`

	// The slug identifier for the version of Kubernetes used for the cluster. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
	Version *string `json:"version,omitempty" tf:"version,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 {

	// A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
	AutoUpgrade *bool `json:"autoUpgrade,omitempty" tf:"auto_upgrade,omitempty"`

	// The range of IP addresses in the overlay network of the Kubernetes cluster.
	ClusterSubnet *string `json:"clusterSubnet,omitempty" tf:"cluster_subnet,omitempty"`

	// The date and time when the Kubernetes cluster was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// Use with caution. When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
	DestroyAllAssociatedResources *bool `json:"destroyAllAssociatedResources,omitempty" tf:"destroy_all_associated_resources,omitempty"`

	// The base URL of the API server on the Kubernetes master node.
	Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"`

	// Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
	Ha *bool `json:"ha,omitempty" tf:"ha,omitempty"`

	// A unique ID that can be used to identify and reference a Kubernetes cluster.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The public IPv4 address of the Kubernetes master node. This will not be set if high availability is configured on the cluster (v1.21+)
	IPv4Address *string `json:"ipv4Address,omitempty" tf:"ipv4_address,omitempty"`

	// A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. auto_upgrade must be set to true for this to have an effect.
	MaintenancePolicy []MaintenancePolicyObservation `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// A name for the Kubernetes cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified:
	NodePool []NodePoolObservation `json:"nodePool,omitempty" tf:"node_pool,omitempty"`

	// The slug identifier for the region where the Kubernetes cluster will be created.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
	RegistryIntegration *bool `json:"registryIntegration,omitempty" tf:"registry_integration,omitempty"`

	// The range of assignable IP addresses for services running in the Kubernetes cluster.
	ServiceSubnet *string `json:"serviceSubnet,omitempty" tf:"service_subnet,omitempty"`

	// A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// Enable/disable surge upgrades for a cluster. Default: false
	SurgeUpgrade *bool `json:"surgeUpgrade,omitempty" tf:"surge_upgrade,omitempty"`

	// A list of tag names applied to the node pool.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The date and time when the Kubernetes cluster was last updated.
	UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"`

	// The uniform resource name (URN) for the Kubernetes cluster.
	Urn *string `json:"urn,omitempty" tf:"urn,omitempty"`

	// The ID of the VPC where the Kubernetes cluster will be located.
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// The slug identifier for the version of Kubernetes used for the cluster. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
	Version *string `json:"version,omitempty" tf:"version,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 {

	// A boolean value indicating whether the cluster will be automatically upgraded to new patch releases during its maintenance window.
	// +kubebuilder:validation:Optional
	AutoUpgrade *bool `json:"autoUpgrade,omitempty" tf:"auto_upgrade,omitempty"`

	// Use with caution. When set to true, all associated DigitalOcean resources created via the Kubernetes API (load balancers, volumes, and volume snapshots) will be destroyed along with the cluster when it is destroyed.
	// +kubebuilder:validation:Optional
	DestroyAllAssociatedResources *bool `json:"destroyAllAssociatedResources,omitempty" tf:"destroy_all_associated_resources,omitempty"`

	// Enable/disable the high availability control plane for a cluster. Once enabled for a cluster, high availability cannot be disabled. Default: false
	// +kubebuilder:validation:Optional
	Ha *bool `json:"ha,omitempty" tf:"ha,omitempty"`

	// A block representing the cluster's maintenance window. Updates will be applied within this window. If not specified, a default maintenance window will be chosen. auto_upgrade must be set to true for this to have an effect.
	// +kubebuilder:validation:Optional
	MaintenancePolicy []MaintenancePolicyParameters `json:"maintenancePolicy,omitempty" tf:"maintenance_policy,omitempty"`

	// A name for the Kubernetes cluster.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A block representing the cluster's default node pool. Additional node pools may be added to the cluster using the digitalocean_kubernetes_node_pool resource. The following arguments may be specified:
	// +kubebuilder:validation:Optional
	NodePool []NodePoolParameters `json:"nodePool,omitempty" tf:"node_pool,omitempty"`

	// The slug identifier for the region where the Kubernetes cluster will be created.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Enables or disables the DigitalOcean container registry integration for the cluster. This requires that a container registry has first been created for the account. Default: false
	// +kubebuilder:validation:Optional
	RegistryIntegration *bool `json:"registryIntegration,omitempty" tf:"registry_integration,omitempty"`

	// Enable/disable surge upgrades for a cluster. Default: false
	// +kubebuilder:validation:Optional
	SurgeUpgrade *bool `json:"surgeUpgrade,omitempty" tf:"surge_upgrade,omitempty"`

	// A list of tag names applied to the node pool.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The ID of the VPC where the Kubernetes cluster will be located.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/vpc/v1alpha1.VPC
	// +kubebuilder:validation:Optional
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// Reference to a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDRef *v1.Reference `json:"vpcUuidRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDSelector *v1.Selector `json:"vpcUuidSelector,omitempty" tf:"-"`

	// The slug identifier for the version of Kubernetes used for the cluster. Use doctl to find the available versions doctl kubernetes options versions. (Note: A cluster may only be upgraded to newer versions in-place. If the version is decreased, a new resource will be created.)
	// +kubebuilder:validation:Optional
	Version *string `json:"version,omitempty" tf:"version,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 KubeConfigInitParameters

type KubeConfigInitParameters struct {
}

func (*KubeConfigInitParameters) DeepCopy

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

func (*KubeConfigInitParameters) DeepCopyInto

func (in *KubeConfigInitParameters) DeepCopyInto(out *KubeConfigInitParameters)

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

type KubeConfigObservation

type KubeConfigObservation struct {

	// The base64 encoded public certificate used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
	ClientCertificate *string `json:"clientCertificate,omitempty" tf:"client_certificate,omitempty"`

	// The base64 encoded private key used by clients to access the cluster. Only available if token authentication is not supported on your cluster.
	ClientKey *string `json:"clientKey,omitempty" tf:"client_key,omitempty"`

	// The base64 encoded public certificate for the cluster's certificate authority.
	ClusterCACertificate *string `json:"clusterCaCertificate,omitempty" tf:"cluster_ca_certificate,omitempty"`

	// The date and time when the credentials will expire and need to be regenerated.
	ExpiresAt *string `json:"expiresAt,omitempty" tf:"expires_at,omitempty"`

	// The URL of the API server on the Kubernetes master node.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The full contents of the Kubernetes cluster's kubeconfig file.
	RawConfig *string `json:"rawConfig,omitempty" tf:"raw_config,omitempty"`

	// The DigitalOcean API access token used by clients to access the cluster.
	Token *string `json:"token,omitempty" tf:"token,omitempty"`
}

func (*KubeConfigObservation) DeepCopy

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

func (*KubeConfigObservation) DeepCopyInto

func (in *KubeConfigObservation) DeepCopyInto(out *KubeConfigObservation)

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

type KubeConfigParameters

type KubeConfigParameters struct {
}

func (*KubeConfigParameters) DeepCopy

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

func (*KubeConfigParameters) DeepCopyInto

func (in *KubeConfigParameters) DeepCopyInto(out *KubeConfigParameters)

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

type MaintenancePolicyInitParameters

type MaintenancePolicyInitParameters struct {

	// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// hour clock format / HH:MM notation (e.g., 15:00).
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*MaintenancePolicyInitParameters) DeepCopy

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

func (*MaintenancePolicyInitParameters) DeepCopyInto

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

type MaintenancePolicyObservation

type MaintenancePolicyObservation struct {

	// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// A string denoting the duration of the service window, e.g., "04:00".
	Duration *string `json:"duration,omitempty" tf:"duration,omitempty"`

	// hour clock format / HH:MM notation (e.g., 15:00).
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*MaintenancePolicyObservation) DeepCopy

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

func (*MaintenancePolicyObservation) DeepCopyInto

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

type MaintenancePolicyParameters

type MaintenancePolicyParameters struct {

	// The day of the maintenance window policy. May be one of "monday" through "sunday", or "any" to indicate an arbitrary week day.
	// +kubebuilder:validation:Optional
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// hour clock format / HH:MM notation (e.g., 15:00).
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`
}

func (*MaintenancePolicyParameters) DeepCopy

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

func (*MaintenancePolicyParameters) DeepCopyInto

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

type NodePool

type NodePool 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.size) || (has(self.initProvider) && has(self.initProvider.size))",message="spec.forProvider.size is a required parameter"
	Spec   NodePoolSpec   `json:"spec"`
	Status NodePoolStatus `json:"status,omitempty"`
}

NodePool is the Schema for the NodePools API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].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:resource:scope=Cluster,categories={crossplane,managed,do}

func (*NodePool) DeepCopy

func (in *NodePool) DeepCopy() *NodePool

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

func (*NodePool) DeepCopyInto

func (in *NodePool) DeepCopyInto(out *NodePool)

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

func (*NodePool) DeepCopyObject

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

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

func (*NodePool) GetCondition

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

GetCondition of this NodePool.

func (*NodePool) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this NodePool

func (*NodePool) GetDeletionPolicy

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

GetDeletionPolicy of this NodePool.

func (*NodePool) GetID

func (tr *NodePool) GetID() string

GetID returns ID of underlying Terraform resource of this NodePool

func (*NodePool) GetInitParameters

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

GetInitParameters of this NodePool

func (*NodePool) GetManagementPolicies

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

GetManagementPolicies of this NodePool.

func (*NodePool) GetMergedParameters added in v0.2.0

func (tr *NodePool) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this NodePool

func (*NodePool) GetObservation

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

GetObservation of this NodePool

func (*NodePool) GetParameters

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

GetParameters of this NodePool

func (*NodePool) GetProviderConfigReference

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

GetProviderConfigReference of this NodePool.

func (*NodePool) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this NodePool.

func (*NodePool) GetTerraformResourceType

func (mg *NodePool) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this NodePool

func (*NodePool) GetTerraformSchemaVersion

func (tr *NodePool) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*NodePool) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this NodePool.

func (*NodePool) Hub added in v0.2.0

func (tr *NodePool) Hub()

Hub marks this type as a conversion hub.

func (*NodePool) LateInitialize

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

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

func (*NodePool) ResolveReferences

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

ResolveReferences of this NodePool.

func (*NodePool) SetConditions

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

SetConditions of this NodePool.

func (*NodePool) SetDeletionPolicy

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

SetDeletionPolicy of this NodePool.

func (*NodePool) SetManagementPolicies

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

SetManagementPolicies of this NodePool.

func (*NodePool) SetObservation

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

SetObservation for this NodePool

func (*NodePool) SetParameters

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

SetParameters for this NodePool

func (*NodePool) SetProviderConfigReference

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

SetProviderConfigReference of this NodePool.

func (*NodePool) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this NodePool.

func (*NodePool) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this NodePool.

type NodePoolInitParameters

type NodePoolInitParameters struct {

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the Kubernetes cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of tag names applied to the node pool.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair):
	Taint []TaintInitParameters `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolInitParameters) DeepCopy

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

func (*NodePoolInitParameters) DeepCopyInto

func (in *NodePoolInitParameters) DeepCopyInto(out *NodePoolInitParameters)

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

type NodePoolInitParameters_2

type NodePoolInitParameters_2 struct {

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// The ID of the Kubernetes cluster to which the node pool is associated.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/kubernetes/v1alpha1.Cluster
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

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

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

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the node pool.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of tag names to be applied to the Kubernetes cluster.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A list of taints applied to all nodes in the pool.
	Taint []NodePoolTaintInitParameters `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolInitParameters_2) DeepCopy

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

func (*NodePoolInitParameters_2) DeepCopyInto

func (in *NodePoolInitParameters_2) DeepCopyInto(out *NodePoolInitParameters_2)

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

type NodePoolList

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

NodePoolList contains a list of NodePools

func (*NodePoolList) DeepCopy

func (in *NodePoolList) DeepCopy() *NodePoolList

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

func (*NodePoolList) DeepCopyInto

func (in *NodePoolList) DeepCopyInto(out *NodePoolList)

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

func (*NodePoolList) DeepCopyObject

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

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

func (*NodePoolList) GetItems

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

GetItems of this NodePoolList.

type NodePoolNodesInitParameters

type NodePoolNodesInitParameters struct {
}

func (*NodePoolNodesInitParameters) DeepCopy

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

func (*NodePoolNodesInitParameters) DeepCopyInto

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

type NodePoolNodesObservation

type NodePoolNodesObservation struct {

	// The date and time when the node was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// The id of the node's droplet
	DropletID *string `json:"dropletId,omitempty" tf:"droplet_id,omitempty"`

	// A unique ID that can be used to identify and reference the node pool.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A name for the node pool.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A string indicating the current status of the individual node.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// The date and time when the node was last updated.
	UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"`
}

func (*NodePoolNodesObservation) DeepCopy

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

func (*NodePoolNodesObservation) DeepCopyInto

func (in *NodePoolNodesObservation) DeepCopyInto(out *NodePoolNodesObservation)

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

type NodePoolNodesParameters

type NodePoolNodesParameters struct {
}

func (*NodePoolNodesParameters) DeepCopy

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

func (*NodePoolNodesParameters) DeepCopyInto

func (in *NodePoolNodesParameters) DeepCopyInto(out *NodePoolNodesParameters)

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

type NodePoolObservation

type NodePoolObservation struct {

	// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled.
	ActualNodeCount *float64 `json:"actualNodeCount,omitempty" tf:"actual_node_count,omitempty"`

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// A unique ID that can be used to identify and reference a Kubernetes cluster.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the Kubernetes cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A list of nodes in the pool. Each node exports the following attributes:
	Nodes []NodesObservation `json:"nodes,omitempty" tf:"nodes,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of tag names applied to the node pool.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair):
	Taint []TaintObservation `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolObservation) DeepCopy

func (in *NodePoolObservation) DeepCopy() *NodePoolObservation

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

func (*NodePoolObservation) DeepCopyInto

func (in *NodePoolObservation) DeepCopyInto(out *NodePoolObservation)

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

type NodePoolObservation_2

type NodePoolObservation_2 struct {

	// A computed field representing the actual number of nodes in the node pool, which is especially useful when auto-scaling is enabled.
	ActualNodeCount *float64 `json:"actualNodeCount,omitempty" tf:"actual_node_count,omitempty"`

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// The ID of the Kubernetes cluster to which the node pool is associated.
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

	// A unique ID that can be used to identify and reference the node pool.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the node pool.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A list of nodes in the pool. Each node exports the following attributes:
	Nodes []NodePoolNodesObservation `json:"nodes,omitempty" tf:"nodes,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of tag names to be applied to the Kubernetes cluster.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A list of taints applied to all nodes in the pool.
	Taint []NodePoolTaintObservation `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolObservation_2) DeepCopy

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

func (*NodePoolObservation_2) DeepCopyInto

func (in *NodePoolObservation_2) DeepCopyInto(out *NodePoolObservation_2)

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

type NodePoolParameters

type NodePoolParameters struct {

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	// +kubebuilder:validation:Optional
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	// +kubebuilder:validation:Optional
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	// +kubebuilder:validation:Optional
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the Kubernetes cluster.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	// +kubebuilder:validation:Optional
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	// +kubebuilder:validation:Optional
	Size *string `json:"size" tf:"size,omitempty"`

	// A list of tag names applied to the node pool.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A block representing a taint applied to all nodes in the pool. Each taint exports the following attributes (taints must be unique by key and effect pair):
	// +kubebuilder:validation:Optional
	Taint []TaintParameters `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolParameters) DeepCopy

func (in *NodePoolParameters) DeepCopy() *NodePoolParameters

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

func (*NodePoolParameters) DeepCopyInto

func (in *NodePoolParameters) DeepCopyInto(out *NodePoolParameters)

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

type NodePoolParameters_2

type NodePoolParameters_2 struct {

	// Enable auto-scaling of the number of nodes in the node pool within the given min/max range.
	// +kubebuilder:validation:Optional
	AutoScale *bool `json:"autoScale,omitempty" tf:"auto_scale,omitempty"`

	// The ID of the Kubernetes cluster to which the node pool is associated.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/kubernetes/v1alpha1.Cluster
	// +kubebuilder:validation:Optional
	ClusterID *string `json:"clusterId,omitempty" tf:"cluster_id,omitempty"`

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

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

	// A map of key/value pairs to apply to nodes in the pool. The labels are exposed in the Kubernetes API as labels in the metadata of the corresponding Node resources.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`

	// If auto-scaling is enabled, this represents the maximum number of nodes that the node pool can be scaled up to.
	// +kubebuilder:validation:Optional
	MaxNodes *float64 `json:"maxNodes,omitempty" tf:"max_nodes,omitempty"`

	// If auto-scaling is enabled, this represents the minimum number of nodes that the node pool can be scaled down to.
	// +kubebuilder:validation:Optional
	MinNodes *float64 `json:"minNodes,omitempty" tf:"min_nodes,omitempty"`

	// A name for the node pool.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of Droplet instances in the node pool. If auto-scaling is enabled, this should only be set if the desired result is to explicitly reset the number of nodes to this value. If auto-scaling is enabled, and the node count is outside of the given min/max range, it will use the min nodes value.
	// +kubebuilder:validation:Optional
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// The slug identifier for the type of Droplet to be used as workers in the node pool.
	// +kubebuilder:validation:Optional
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of tag names to be applied to the Kubernetes cluster.
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A list of taints applied to all nodes in the pool.
	// +kubebuilder:validation:Optional
	Taint []NodePoolTaintParameters `json:"taint,omitempty" tf:"taint,omitempty"`
}

func (*NodePoolParameters_2) DeepCopy

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

func (*NodePoolParameters_2) DeepCopyInto

func (in *NodePoolParameters_2) DeepCopyInto(out *NodePoolParameters_2)

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

type NodePoolSpec

type NodePoolSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     NodePoolParameters_2 `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 NodePoolInitParameters_2 `json:"initProvider,omitempty"`
}

NodePoolSpec defines the desired state of NodePool

func (*NodePoolSpec) DeepCopy

func (in *NodePoolSpec) DeepCopy() *NodePoolSpec

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

func (*NodePoolSpec) DeepCopyInto

func (in *NodePoolSpec) DeepCopyInto(out *NodePoolSpec)

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

type NodePoolStatus

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

NodePoolStatus defines the observed state of NodePool.

func (*NodePoolStatus) DeepCopy

func (in *NodePoolStatus) DeepCopy() *NodePoolStatus

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

func (*NodePoolStatus) DeepCopyInto

func (in *NodePoolStatus) DeepCopyInto(out *NodePoolStatus)

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

type NodePoolTaintInitParameters

type NodePoolTaintInitParameters struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*NodePoolTaintInitParameters) DeepCopy

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

func (*NodePoolTaintInitParameters) DeepCopyInto

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

type NodePoolTaintObservation

type NodePoolTaintObservation struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*NodePoolTaintObservation) DeepCopy

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

func (*NodePoolTaintObservation) DeepCopyInto

func (in *NodePoolTaintObservation) DeepCopyInto(out *NodePoolTaintObservation)

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

type NodePoolTaintParameters

type NodePoolTaintParameters struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	// +kubebuilder:validation:Optional
	Effect *string `json:"effect" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*NodePoolTaintParameters) DeepCopy

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

func (*NodePoolTaintParameters) DeepCopyInto

func (in *NodePoolTaintParameters) DeepCopyInto(out *NodePoolTaintParameters)

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

type NodesInitParameters

type NodesInitParameters struct {
}

func (*NodesInitParameters) DeepCopy

func (in *NodesInitParameters) DeepCopy() *NodesInitParameters

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

func (*NodesInitParameters) DeepCopyInto

func (in *NodesInitParameters) DeepCopyInto(out *NodesInitParameters)

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

type NodesObservation

type NodesObservation struct {

	// The date and time when the Kubernetes cluster was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// The id of the node's droplet
	DropletID *string `json:"dropletId,omitempty" tf:"droplet_id,omitempty"`

	// A unique ID that can be used to identify and reference a Kubernetes cluster.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A name for the Kubernetes cluster.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A string indicating the current status of the cluster. Potential values include running, provisioning, and errored.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// The date and time when the Kubernetes cluster was last updated.
	UpdatedAt *string `json:"updatedAt,omitempty" tf:"updated_at,omitempty"`
}

func (*NodesObservation) DeepCopy

func (in *NodesObservation) DeepCopy() *NodesObservation

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

func (*NodesObservation) DeepCopyInto

func (in *NodesObservation) DeepCopyInto(out *NodesObservation)

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

type NodesParameters

type NodesParameters struct {
}

func (*NodesParameters) DeepCopy

func (in *NodesParameters) DeepCopy() *NodesParameters

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

func (*NodesParameters) DeepCopyInto

func (in *NodesParameters) DeepCopyInto(out *NodesParameters)

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

type TaintInitParameters

type TaintInitParameters struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TaintInitParameters) DeepCopy

func (in *TaintInitParameters) DeepCopy() *TaintInitParameters

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

func (*TaintInitParameters) DeepCopyInto

func (in *TaintInitParameters) DeepCopyInto(out *TaintInitParameters)

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

type TaintObservation

type TaintObservation struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	Effect *string `json:"effect,omitempty" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Key *string `json:"key,omitempty" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*TaintObservation) DeepCopy

func (in *TaintObservation) DeepCopy() *TaintObservation

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

func (*TaintObservation) DeepCopyInto

func (in *TaintObservation) DeepCopyInto(out *TaintObservation)

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

type TaintParameters

type TaintParameters struct {

	// How the node reacts to pods that it won't tolerate. Available effect values are: "NoSchedule", "PreferNoSchedule", "NoExecute".
	// +kubebuilder:validation:Optional
	Effect *string `json:"effect" tf:"effect,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	// +kubebuilder:validation:Optional
	Key *string `json:"key" tf:"key,omitempty"`

	// An arbitrary string. The "key" and "value" fields of the "taint" object form a key-value pair.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*TaintParameters) DeepCopy

func (in *TaintParameters) DeepCopy() *TaintParameters

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

func (*TaintParameters) DeepCopyInto

func (in *TaintParameters) DeepCopyInto(out *TaintParameters)

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