v1beta2

package
v1.8.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=containerservice.azure.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "containerservice.azure.upbound.io"
	CRDVersion = "v1beta2"
)

Package type metadata.

Variables

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 (
	KubernetesCluster_Kind             = "KubernetesCluster"
	KubernetesCluster_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: KubernetesCluster_Kind}.String()
	KubernetesCluster_KindAPIVersion   = KubernetesCluster_Kind + "." + CRDGroupVersion.String()
	KubernetesCluster_GroupVersionKind = CRDGroupVersion.WithKind(KubernetesCluster_Kind)
)

Repository type metadata.

View Source
var (
	KubernetesClusterNodePool_Kind             = "KubernetesClusterNodePool"
	KubernetesClusterNodePool_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: KubernetesClusterNodePool_Kind}.String()
	KubernetesClusterNodePool_KindAPIVersion   = KubernetesClusterNodePool_Kind + "." + CRDGroupVersion.String()
	KubernetesClusterNodePool_GroupVersionKind = CRDGroupVersion.WithKind(KubernetesClusterNodePool_Kind)
)

Repository type metadata.

View Source
var (
	KubernetesFleetManager_Kind             = "KubernetesFleetManager"
	KubernetesFleetManager_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: KubernetesFleetManager_Kind}.String()
	KubernetesFleetManager_KindAPIVersion   = KubernetesFleetManager_Kind + "." + CRDGroupVersion.String()
	KubernetesFleetManager_GroupVersionKind = CRDGroupVersion.WithKind(KubernetesFleetManager_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type APIServerAccessProfileInitParameters

type APIServerAccessProfileInitParameters struct {

	// Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
	// +listType=set
	AuthorizedIPRanges []*string `json:"authorizedIpRanges,omitempty" tf:"authorized_ip_ranges,omitempty"`

	// The ID of the Subnet where the API server endpoint is delegated to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	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:"-"`

	// Should API Server VNet Integration be enabled? For more details please visit Use API Server VNet Integration.
	VnetIntegrationEnabled *bool `json:"vnetIntegrationEnabled,omitempty" tf:"vnet_integration_enabled,omitempty"`
}

func (*APIServerAccessProfileInitParameters) DeepCopy

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

func (*APIServerAccessProfileInitParameters) DeepCopyInto

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

type APIServerAccessProfileObservation

type APIServerAccessProfileObservation struct {

	// Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
	// +listType=set
	AuthorizedIPRanges []*string `json:"authorizedIpRanges,omitempty" tf:"authorized_ip_ranges,omitempty"`

	// The ID of the Subnet where the API server endpoint is delegated to.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Should API Server VNet Integration be enabled? For more details please visit Use API Server VNet Integration.
	VnetIntegrationEnabled *bool `json:"vnetIntegrationEnabled,omitempty" tf:"vnet_integration_enabled,omitempty"`
}

func (*APIServerAccessProfileObservation) DeepCopy

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

func (*APIServerAccessProfileObservation) DeepCopyInto

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

type APIServerAccessProfileParameters

type APIServerAccessProfileParameters struct {

	// Set of authorized IP ranges to allow access to API server, e.g. ["198.51.100.0/24"].
	// +kubebuilder:validation:Optional
	// +listType=set
	AuthorizedIPRanges []*string `json:"authorizedIpRanges,omitempty" tf:"authorized_ip_ranges,omitempty"`

	// The ID of the Subnet where the API server endpoint is delegated to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +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:"-"`

	// Should API Server VNet Integration be enabled? For more details please visit Use API Server VNet Integration.
	// +kubebuilder:validation:Optional
	VnetIntegrationEnabled *bool `json:"vnetIntegrationEnabled,omitempty" tf:"vnet_integration_enabled,omitempty"`
}

func (*APIServerAccessProfileParameters) DeepCopy

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

func (*APIServerAccessProfileParameters) DeepCopyInto

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

type AciConnectorLinuxInitParameters

type AciConnectorLinuxInitParameters struct {

	// The subnet name for the virtual nodes to run.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	SubnetName *string `json:"subnetName,omitempty" tf:"subnet_name,omitempty"`

	// Reference to a Subnet in network to populate subnetName.
	// +kubebuilder:validation:Optional
	SubnetNameRef *v1.Reference `json:"subnetNameRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetName.
	// +kubebuilder:validation:Optional
	SubnetNameSelector *v1.Selector `json:"subnetNameSelector,omitempty" tf:"-"`
}

func (*AciConnectorLinuxInitParameters) DeepCopy

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

func (*AciConnectorLinuxInitParameters) DeepCopyInto

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

type AciConnectorLinuxObservation

type AciConnectorLinuxObservation struct {

	// A connector_identity block is exported. The exported attributes are defined below.
	ConnectorIdentity []ConnectorIdentityObservation `json:"connectorIdentity,omitempty" tf:"connector_identity,omitempty"`

	// The subnet name for the virtual nodes to run.
	SubnetName *string `json:"subnetName,omitempty" tf:"subnet_name,omitempty"`
}

func (*AciConnectorLinuxObservation) DeepCopy

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

func (*AciConnectorLinuxObservation) DeepCopyInto

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

type AciConnectorLinuxParameters

type AciConnectorLinuxParameters struct {

	// The subnet name for the virtual nodes to run.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +kubebuilder:validation:Optional
	SubnetName *string `json:"subnetName,omitempty" tf:"subnet_name,omitempty"`

	// Reference to a Subnet in network to populate subnetName.
	// +kubebuilder:validation:Optional
	SubnetNameRef *v1.Reference `json:"subnetNameRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetName.
	// +kubebuilder:validation:Optional
	SubnetNameSelector *v1.Selector `json:"subnetNameSelector,omitempty" tf:"-"`
}

func (*AciConnectorLinuxParameters) DeepCopy

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

func (*AciConnectorLinuxParameters) DeepCopyInto

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

type AllowedHostPortsInitParameters

type AllowedHostPortsInitParameters struct {

	// Specifies the end of the port range.
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*AllowedHostPortsInitParameters) DeepCopy

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

func (*AllowedHostPortsInitParameters) DeepCopyInto

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

type AllowedHostPortsObservation

type AllowedHostPortsObservation struct {

	// Specifies the end of the port range.
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*AllowedHostPortsObservation) DeepCopy

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

func (*AllowedHostPortsObservation) DeepCopyInto

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

type AllowedHostPortsParameters

type AllowedHostPortsParameters struct {

	// Specifies the end of the port range.
	// +kubebuilder:validation:Optional
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	// +kubebuilder:validation:Optional
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*AllowedHostPortsParameters) DeepCopy

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

func (*AllowedHostPortsParameters) DeepCopyInto

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

type AllowedInitParameters

type AllowedInitParameters struct {

	// A day in a week. Possible values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// An array of hour slots in a day. For example, specifying 1 will allow maintenance from 1:00am to 2:00am. Specifying 1, 2 will allow maintenance from 1:00am to 3:00m. Possible values are between 0 and 23.
	// +listType=set
	Hours []*float64 `json:"hours,omitempty" tf:"hours,omitempty"`
}

func (*AllowedInitParameters) DeepCopy

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

func (*AllowedInitParameters) DeepCopyInto

func (in *AllowedInitParameters) DeepCopyInto(out *AllowedInitParameters)

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

type AllowedObservation

type AllowedObservation struct {

	// A day in a week. Possible values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.
	Day *string `json:"day,omitempty" tf:"day,omitempty"`

	// An array of hour slots in a day. For example, specifying 1 will allow maintenance from 1:00am to 2:00am. Specifying 1, 2 will allow maintenance from 1:00am to 3:00m. Possible values are between 0 and 23.
	// +listType=set
	Hours []*float64 `json:"hours,omitempty" tf:"hours,omitempty"`
}

func (*AllowedObservation) DeepCopy

func (in *AllowedObservation) DeepCopy() *AllowedObservation

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

func (*AllowedObservation) DeepCopyInto

func (in *AllowedObservation) DeepCopyInto(out *AllowedObservation)

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

type AllowedParameters

type AllowedParameters struct {

	// A day in a week. Possible values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.
	// +kubebuilder:validation:Optional
	Day *string `json:"day" tf:"day,omitempty"`

	// An array of hour slots in a day. For example, specifying 1 will allow maintenance from 1:00am to 2:00am. Specifying 1, 2 will allow maintenance from 1:00am to 3:00m. Possible values are between 0 and 23.
	// +kubebuilder:validation:Optional
	// +listType=set
	Hours []*float64 `json:"hours" tf:"hours,omitempty"`
}

func (*AllowedParameters) DeepCopy

func (in *AllowedParameters) DeepCopy() *AllowedParameters

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

func (*AllowedParameters) DeepCopyInto

func (in *AllowedParameters) DeepCopyInto(out *AllowedParameters)

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

type AutoScalerProfileInitParameters

type AutoScalerProfileInitParameters struct {

	// Detect similar node groups and balance the number of nodes between them. Defaults to false.
	BalanceSimilarNodeGroups *bool `json:"balanceSimilarNodeGroups,omitempty" tf:"balance_similar_node_groups,omitempty"`

	// Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
	EmptyBulkDeleteMax *string `json:"emptyBulkDeleteMax,omitempty" tf:"empty_bulk_delete_max,omitempty"`

	// Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
	Expander *string `json:"expander,omitempty" tf:"expander,omitempty"`

	// Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
	MaxGracefulTerminationSec *string `json:"maxGracefulTerminationSec,omitempty" tf:"max_graceful_termination_sec,omitempty"`

	// Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
	MaxNodeProvisioningTime *string `json:"maxNodeProvisioningTime,omitempty" tf:"max_node_provisioning_time,omitempty"`

	// Maximum Number of allowed unready nodes. Defaults to 3.
	MaxUnreadyNodes *float64 `json:"maxUnreadyNodes,omitempty" tf:"max_unready_nodes,omitempty"`

	// Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
	MaxUnreadyPercentage *float64 `json:"maxUnreadyPercentage,omitempty" tf:"max_unready_percentage,omitempty"`

	// For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
	NewPodScaleUpDelay *string `json:"newPodScaleUpDelay,omitempty" tf:"new_pod_scale_up_delay,omitempty"`

	// How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
	ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty" tf:"scale_down_delay_after_add,omitempty"`

	// How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
	ScaleDownDelayAfterDelete *string `json:"scaleDownDelayAfterDelete,omitempty" tf:"scale_down_delay_after_delete,omitempty"`

	// How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
	ScaleDownDelayAfterFailure *string `json:"scaleDownDelayAfterFailure,omitempty" tf:"scale_down_delay_after_failure,omitempty"`

	// How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
	ScaleDownUnneeded *string `json:"scaleDownUnneeded,omitempty" tf:"scale_down_unneeded,omitempty"`

	// How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
	ScaleDownUnready *string `json:"scaleDownUnready,omitempty" tf:"scale_down_unready,omitempty"`

	// Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
	ScaleDownUtilizationThreshold *string `json:"scaleDownUtilizationThreshold,omitempty" tf:"scale_down_utilization_threshold,omitempty"`

	// How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
	ScanInterval *string `json:"scanInterval,omitempty" tf:"scan_interval,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
	SkipNodesWithLocalStorage *bool `json:"skipNodesWithLocalStorage,omitempty" tf:"skip_nodes_with_local_storage,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
	SkipNodesWithSystemPods *bool `json:"skipNodesWithSystemPods,omitempty" tf:"skip_nodes_with_system_pods,omitempty"`
}

func (*AutoScalerProfileInitParameters) DeepCopy

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

func (*AutoScalerProfileInitParameters) DeepCopyInto

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

type AutoScalerProfileObservation

type AutoScalerProfileObservation struct {

	// Detect similar node groups and balance the number of nodes between them. Defaults to false.
	BalanceSimilarNodeGroups *bool `json:"balanceSimilarNodeGroups,omitempty" tf:"balance_similar_node_groups,omitempty"`

	// Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
	EmptyBulkDeleteMax *string `json:"emptyBulkDeleteMax,omitempty" tf:"empty_bulk_delete_max,omitempty"`

	// Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
	Expander *string `json:"expander,omitempty" tf:"expander,omitempty"`

	// Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
	MaxGracefulTerminationSec *string `json:"maxGracefulTerminationSec,omitempty" tf:"max_graceful_termination_sec,omitempty"`

	// Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
	MaxNodeProvisioningTime *string `json:"maxNodeProvisioningTime,omitempty" tf:"max_node_provisioning_time,omitempty"`

	// Maximum Number of allowed unready nodes. Defaults to 3.
	MaxUnreadyNodes *float64 `json:"maxUnreadyNodes,omitempty" tf:"max_unready_nodes,omitempty"`

	// Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
	MaxUnreadyPercentage *float64 `json:"maxUnreadyPercentage,omitempty" tf:"max_unready_percentage,omitempty"`

	// For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
	NewPodScaleUpDelay *string `json:"newPodScaleUpDelay,omitempty" tf:"new_pod_scale_up_delay,omitempty"`

	// How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
	ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty" tf:"scale_down_delay_after_add,omitempty"`

	// How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
	ScaleDownDelayAfterDelete *string `json:"scaleDownDelayAfterDelete,omitempty" tf:"scale_down_delay_after_delete,omitempty"`

	// How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
	ScaleDownDelayAfterFailure *string `json:"scaleDownDelayAfterFailure,omitempty" tf:"scale_down_delay_after_failure,omitempty"`

	// How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
	ScaleDownUnneeded *string `json:"scaleDownUnneeded,omitempty" tf:"scale_down_unneeded,omitempty"`

	// How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
	ScaleDownUnready *string `json:"scaleDownUnready,omitempty" tf:"scale_down_unready,omitempty"`

	// Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
	ScaleDownUtilizationThreshold *string `json:"scaleDownUtilizationThreshold,omitempty" tf:"scale_down_utilization_threshold,omitempty"`

	// How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
	ScanInterval *string `json:"scanInterval,omitempty" tf:"scan_interval,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
	SkipNodesWithLocalStorage *bool `json:"skipNodesWithLocalStorage,omitempty" tf:"skip_nodes_with_local_storage,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
	SkipNodesWithSystemPods *bool `json:"skipNodesWithSystemPods,omitempty" tf:"skip_nodes_with_system_pods,omitempty"`
}

func (*AutoScalerProfileObservation) DeepCopy

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

func (*AutoScalerProfileObservation) DeepCopyInto

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

type AutoScalerProfileParameters

type AutoScalerProfileParameters struct {

	// Detect similar node groups and balance the number of nodes between them. Defaults to false.
	// +kubebuilder:validation:Optional
	BalanceSimilarNodeGroups *bool `json:"balanceSimilarNodeGroups,omitempty" tf:"balance_similar_node_groups,omitempty"`

	// Maximum number of empty nodes that can be deleted at the same time. Defaults to 10.
	// +kubebuilder:validation:Optional
	EmptyBulkDeleteMax *string `json:"emptyBulkDeleteMax,omitempty" tf:"empty_bulk_delete_max,omitempty"`

	// Expander to use. Possible values are least-waste, priority, most-pods and random. Defaults to random.
	// +kubebuilder:validation:Optional
	Expander *string `json:"expander,omitempty" tf:"expander,omitempty"`

	// Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.
	// +kubebuilder:validation:Optional
	MaxGracefulTerminationSec *string `json:"maxGracefulTerminationSec,omitempty" tf:"max_graceful_termination_sec,omitempty"`

	// Maximum time the autoscaler waits for a node to be provisioned. Defaults to 15m.
	// +kubebuilder:validation:Optional
	MaxNodeProvisioningTime *string `json:"maxNodeProvisioningTime,omitempty" tf:"max_node_provisioning_time,omitempty"`

	// Maximum Number of allowed unready nodes. Defaults to 3.
	// +kubebuilder:validation:Optional
	MaxUnreadyNodes *float64 `json:"maxUnreadyNodes,omitempty" tf:"max_unready_nodes,omitempty"`

	// Maximum percentage of unready nodes the cluster autoscaler will stop if the percentage is exceeded. Defaults to 45.
	// +kubebuilder:validation:Optional
	MaxUnreadyPercentage *float64 `json:"maxUnreadyPercentage,omitempty" tf:"max_unready_percentage,omitempty"`

	// For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. Defaults to 10s.
	// +kubebuilder:validation:Optional
	NewPodScaleUpDelay *string `json:"newPodScaleUpDelay,omitempty" tf:"new_pod_scale_up_delay,omitempty"`

	// How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.
	// +kubebuilder:validation:Optional
	ScaleDownDelayAfterAdd *string `json:"scaleDownDelayAfterAdd,omitempty" tf:"scale_down_delay_after_add,omitempty"`

	// How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.
	// +kubebuilder:validation:Optional
	ScaleDownDelayAfterDelete *string `json:"scaleDownDelayAfterDelete,omitempty" tf:"scale_down_delay_after_delete,omitempty"`

	// How long after scale down failure that scale down evaluation resumes. Defaults to 3m.
	// +kubebuilder:validation:Optional
	ScaleDownDelayAfterFailure *string `json:"scaleDownDelayAfterFailure,omitempty" tf:"scale_down_delay_after_failure,omitempty"`

	// How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.
	// +kubebuilder:validation:Optional
	ScaleDownUnneeded *string `json:"scaleDownUnneeded,omitempty" tf:"scale_down_unneeded,omitempty"`

	// How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.
	// +kubebuilder:validation:Optional
	ScaleDownUnready *string `json:"scaleDownUnready,omitempty" tf:"scale_down_unready,omitempty"`

	// Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.
	// +kubebuilder:validation:Optional
	ScaleDownUtilizationThreshold *string `json:"scaleDownUtilizationThreshold,omitempty" tf:"scale_down_utilization_threshold,omitempty"`

	// How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.
	// +kubebuilder:validation:Optional
	ScanInterval *string `json:"scanInterval,omitempty" tf:"scan_interval,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods with local storage, for example, EmptyDir or HostPath. Defaults to true.
	// +kubebuilder:validation:Optional
	SkipNodesWithLocalStorage *bool `json:"skipNodesWithLocalStorage,omitempty" tf:"skip_nodes_with_local_storage,omitempty"`

	// If true cluster autoscaler will never delete nodes with pods from kube-system (except for DaemonSet or mirror pods). Defaults to true.
	// +kubebuilder:validation:Optional
	SkipNodesWithSystemPods *bool `json:"skipNodesWithSystemPods,omitempty" tf:"skip_nodes_with_system_pods,omitempty"`
}

func (*AutoScalerProfileParameters) DeepCopy

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

func (*AutoScalerProfileParameters) DeepCopyInto

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

type AzureActiveDirectoryRoleBasedAccessControlInitParameters

type AzureActiveDirectoryRoleBasedAccessControlInitParameters struct {

	// A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
	AdminGroupObjectIds []*string `json:"adminGroupObjectIds,omitempty" tf:"admin_group_object_ids,omitempty"`

	// Is Role Based Access Control based on Azure AD enabled?
	AzureRbacEnabled *bool `json:"azureRbacEnabled,omitempty" tf:"azure_rbac_enabled,omitempty"`

	// The Kubernetes Managed Cluster ID.
	ClientAppID *string `json:"clientAppId,omitempty" tf:"client_app_id,omitempty"`

	// Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration. Defaults to false.
	Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"`

	// The Kubernetes Managed Cluster ID.
	ServerAppID *string `json:"serverAppId,omitempty" tf:"server_app_id,omitempty"`

	ServerAppSecretSecretRef *v1.SecretKeySelector `json:"serverAppSecretSecretRef,omitempty" tf:"-"`

	// The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}

func (*AzureActiveDirectoryRoleBasedAccessControlInitParameters) DeepCopy

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

func (*AzureActiveDirectoryRoleBasedAccessControlInitParameters) DeepCopyInto

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

type AzureActiveDirectoryRoleBasedAccessControlObservation

type AzureActiveDirectoryRoleBasedAccessControlObservation struct {

	// A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
	AdminGroupObjectIds []*string `json:"adminGroupObjectIds,omitempty" tf:"admin_group_object_ids,omitempty"`

	// Is Role Based Access Control based on Azure AD enabled?
	AzureRbacEnabled *bool `json:"azureRbacEnabled,omitempty" tf:"azure_rbac_enabled,omitempty"`

	// The Kubernetes Managed Cluster ID.
	ClientAppID *string `json:"clientAppId,omitempty" tf:"client_app_id,omitempty"`

	// Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration. Defaults to false.
	Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"`

	// The Kubernetes Managed Cluster ID.
	ServerAppID *string `json:"serverAppId,omitempty" tf:"server_app_id,omitempty"`

	// The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}

func (*AzureActiveDirectoryRoleBasedAccessControlObservation) DeepCopy

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

func (*AzureActiveDirectoryRoleBasedAccessControlObservation) DeepCopyInto

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

type AzureActiveDirectoryRoleBasedAccessControlParameters

type AzureActiveDirectoryRoleBasedAccessControlParameters struct {

	// A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.
	// +kubebuilder:validation:Optional
	AdminGroupObjectIds []*string `json:"adminGroupObjectIds,omitempty" tf:"admin_group_object_ids,omitempty"`

	// Is Role Based Access Control based on Azure AD enabled?
	// +kubebuilder:validation:Optional
	AzureRbacEnabled *bool `json:"azureRbacEnabled,omitempty" tf:"azure_rbac_enabled,omitempty"`

	// The Kubernetes Managed Cluster ID.
	// +kubebuilder:validation:Optional
	ClientAppID *string `json:"clientAppId,omitempty" tf:"client_app_id,omitempty"`

	// Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration. Defaults to false.
	// +kubebuilder:validation:Optional
	Managed *bool `json:"managed,omitempty" tf:"managed,omitempty"`

	// The Kubernetes Managed Cluster ID.
	// +kubebuilder:validation:Optional
	ServerAppID *string `json:"serverAppId,omitempty" tf:"server_app_id,omitempty"`

	// +kubebuilder:validation:Optional
	ServerAppSecretSecretRef *v1.SecretKeySelector `json:"serverAppSecretSecretRef,omitempty" tf:"-"`

	// The Tenant ID used for Azure Active Directory Application. If this isn't specified the Tenant ID of the current Subscription is used.
	// +kubebuilder:validation:Optional
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
}

func (*AzureActiveDirectoryRoleBasedAccessControlParameters) DeepCopy

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

func (*AzureActiveDirectoryRoleBasedAccessControlParameters) DeepCopyInto

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

type ConfidentialComputingInitParameters

type ConfidentialComputingInitParameters struct {

	// Should the SGX quote helper be enabled?
	SgxQuoteHelperEnabled *bool `json:"sgxQuoteHelperEnabled,omitempty" tf:"sgx_quote_helper_enabled,omitempty"`
}

func (*ConfidentialComputingInitParameters) DeepCopy

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

func (*ConfidentialComputingInitParameters) DeepCopyInto

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

type ConfidentialComputingObservation

type ConfidentialComputingObservation struct {

	// Should the SGX quote helper be enabled?
	SgxQuoteHelperEnabled *bool `json:"sgxQuoteHelperEnabled,omitempty" tf:"sgx_quote_helper_enabled,omitempty"`
}

func (*ConfidentialComputingObservation) DeepCopy

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

func (*ConfidentialComputingObservation) DeepCopyInto

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

type ConfidentialComputingParameters

type ConfidentialComputingParameters struct {

	// Should the SGX quote helper be enabled?
	// +kubebuilder:validation:Optional
	SgxQuoteHelperEnabled *bool `json:"sgxQuoteHelperEnabled" tf:"sgx_quote_helper_enabled,omitempty"`
}

func (*ConfidentialComputingParameters) DeepCopy

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

func (*ConfidentialComputingParameters) DeepCopyInto

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

type ConnectorIdentityInitParameters

type ConnectorIdentityInitParameters struct {
}

func (*ConnectorIdentityInitParameters) DeepCopy

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

func (*ConnectorIdentityInitParameters) DeepCopyInto

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

type ConnectorIdentityObservation

type ConnectorIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity used by the ACI Connector.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity used by the ACI Connector.
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity used by the ACI Connector.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*ConnectorIdentityObservation) DeepCopy

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

func (*ConnectorIdentityObservation) DeepCopyInto

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

type ConnectorIdentityParameters

type ConnectorIdentityParameters struct {
}

func (*ConnectorIdentityParameters) DeepCopy

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

func (*ConnectorIdentityParameters) DeepCopyInto

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

type DefaultNodePoolInitParameters

type DefaultNodePoolInitParameters struct {

	// Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Should the Kubernetes Auto Scaler be enabled for this Node Pool?
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in the Default Node Pool have host encryption enabled? temporary_name_for_rotation must be specified when changing this property.
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotation must be specified when changing this property.
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotation must be specified when changing this block. Changing this forces a new resource to be created.
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// A kubelet_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	KubeletConfig *KubeletConfigInitParameters `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// A linux_os_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	LinuxOsConfig *LinuxOsConfigInitParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. temporary_name_for_rotation must be specified when changing this property.
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// The name which should be used for the default Kubernetes Node Pool.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	NodeNetworkProfile *NodeNetworkProfileInitParameters `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. temporary_name_for_rotation must be specified when changing this property.
	OnlyCriticalAddonsEnabled *bool `json:"onlyCriticalAddonsEnabled,omitempty" tf:"only_critical_addons_enabled,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by kubernetes_version. If both are unspecified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotation must be specified when attempting a change.
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. temporary_name_for_rotation must be specified when attempting a change.
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. temporary_name_for_rotation must be specified when attempting a change.
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The ID of the Subnet where the pods in the default Node Pool should exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate podSubnetId.
	// +kubebuilder:validation:Optional
	PodSubnetIDRef *v1.Reference `json:"podSubnetIdRef,omitempty" tf:"-"`

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

	// The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are Delete and Deallocate. Defaults to Delete.
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotation must be specified when changing this property.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// A mapping of tags to assign to the Node Pool.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
	TemporaryNameForRotation *string `json:"temporaryNameForRotation,omitempty" tf:"temporary_name_for_rotation,omitempty"`

	// The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information. temporary_name_for_rotation must be specified when attempting a change.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	UpgradeSettings *UpgradeSettingsInitParameters `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The size of the Virtual Machine, such as Standard_DS2_v2. temporary_name_for_rotation must be specified when attempting a resize.
	VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`

	// The ID of a Subnet where the Kubernetes Node Pool should exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate vnetSubnetId.
	// +kubebuilder:validation:Optional
	VnetSubnetIDRef *v1.Reference `json:"vnetSubnetIdRef,omitempty" tf:"-"`

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

	// Specifies the workload runtime used by the node pool. Possible values are OCIContainer and KataMshvVmIsolation.
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. temporary_name_for_rotation must be specified when changing this property.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*DefaultNodePoolInitParameters) DeepCopy

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

func (*DefaultNodePoolInitParameters) DeepCopyInto

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

type DefaultNodePoolObservation

type DefaultNodePoolObservation struct {

	// Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Should the Kubernetes Auto Scaler be enabled for this Node Pool?
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in the Default Node Pool have host encryption enabled? temporary_name_for_rotation must be specified when changing this property.
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotation must be specified when changing this property.
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotation must be specified when changing this block. Changing this forces a new resource to be created.
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// A kubelet_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	KubeletConfig *KubeletConfigObservation `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// A linux_os_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	LinuxOsConfig *LinuxOsConfigObservation `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. temporary_name_for_rotation must be specified when changing this property.
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// The name which should be used for the default Kubernetes Node Pool.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	NodeNetworkProfile *NodeNetworkProfileObservation `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. temporary_name_for_rotation must be specified when changing this property.
	OnlyCriticalAddonsEnabled *bool `json:"onlyCriticalAddonsEnabled,omitempty" tf:"only_critical_addons_enabled,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by kubernetes_version. If both are unspecified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotation must be specified when attempting a change.
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. temporary_name_for_rotation must be specified when attempting a change.
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. temporary_name_for_rotation must be specified when attempting a change.
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The ID of the Subnet where the pods in the default Node Pool should exist.
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are Delete and Deallocate. Defaults to Delete.
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotation must be specified when changing this property.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// A mapping of tags to assign to the Node Pool.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
	TemporaryNameForRotation *string `json:"temporaryNameForRotation,omitempty" tf:"temporary_name_for_rotation,omitempty"`

	// The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets. Changing this forces a new resource to be created.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information. temporary_name_for_rotation must be specified when attempting a change.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	UpgradeSettings *UpgradeSettingsObservation `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The size of the Virtual Machine, such as Standard_DS2_v2. temporary_name_for_rotation must be specified when attempting a resize.
	VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`

	// The ID of a Subnet where the Kubernetes Node Pool should exist.
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// Specifies the workload runtime used by the node pool. Possible values are OCIContainer and KataMshvVmIsolation.
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. temporary_name_for_rotation must be specified when changing this property.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*DefaultNodePoolObservation) DeepCopy

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

func (*DefaultNodePoolObservation) DeepCopyInto

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

type DefaultNodePoolParameters

type DefaultNodePoolParameters struct {

	// Specifies the ID of the Capacity Reservation Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	// +kubebuilder:validation:Optional
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Should the Kubernetes Auto Scaler be enabled for this Node Pool?
	// +kubebuilder:validation:Optional
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in the Default Node Pool have host encryption enabled? temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should nodes in this Node Pool have a Public IP Address? temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? temporary_name_for_rotation must be specified when changing this block. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// Specifies the ID of the Host Group within which this AKS Cluster should be created. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// A kubelet_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	// +kubebuilder:validation:Optional
	KubeletConfig *KubeletConfigParameters `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	// +kubebuilder:validation:Optional
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// A linux_os_config block as defined below. temporary_name_for_rotation must be specified when changing this block.
	// +kubebuilder:validation:Optional
	LinuxOsConfig *LinuxOsConfigParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	// +kubebuilder:validation:Optional
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000.
	// +kubebuilder:validation:Optional
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// The name which should be used for the default Kubernetes Node Pool.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 1000 and between min_count and max_count.
	// +kubebuilder:validation:Optional
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in the Default Node Pool.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	// +kubebuilder:validation:Optional
	NodeNetworkProfile *NodeNetworkProfileParameters `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	// +kubebuilder:validation:Optional
	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Enabling this option will taint default node pool with CriticalAddonsOnly=true:NoSchedule taint. temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	OnlyCriticalAddonsEnabled *bool `json:"onlyCriticalAddonsEnabled,omitempty" tf:"only_critical_addons_enabled,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the default node pool will be created with the version specified by kubernetes_version. If both are unspecified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	// +kubebuilder:validation:Optional
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The size of the OS Disk which should be used for each agent in the Node Pool. temporary_name_for_rotation must be specified when attempting a change.
	// +kubebuilder:validation:Optional
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. temporary_name_for_rotation must be specified when attempting a change.
	// +kubebuilder:validation:Optional
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. temporary_name_for_rotation must be specified when attempting a change.
	// +kubebuilder:validation:Optional
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The ID of the Subnet where the pods in the default Node Pool should exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate podSubnetId.
	// +kubebuilder:validation:Optional
	PodSubnetIDRef *v1.Reference `json:"podSubnetIdRef,omitempty" tf:"-"`

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

	// The ID of the Proximity Placement Group. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies the autoscaling behaviour of the Kubernetes Cluster. Allowed values are Delete and Deallocate. Defaults to Delete.
	// +kubebuilder:validation:Optional
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this default Node Pool. temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// A mapping of tags to assign to the Node Pool.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Specifies the name of the temporary node pool used to cycle the default node pool for VM resizing.
	// +kubebuilder:validation:Optional
	TemporaryNameForRotation *string `json:"temporaryNameForRotation,omitempty" tf:"temporary_name_for_rotation,omitempty"`

	// The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Default Node Pool. Defaults to false. See the documentation for more information. temporary_name_for_rotation must be specified when attempting a change.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	// +kubebuilder:validation:Optional
	UpgradeSettings *UpgradeSettingsParameters `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The size of the Virtual Machine, such as Standard_DS2_v2. temporary_name_for_rotation must be specified when attempting a resize.
	// +kubebuilder:validation:Optional
	VMSize *string `json:"vmSize" tf:"vm_size,omitempty"`

	// The ID of a Subnet where the Kubernetes Node Pool should exist.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate vnetSubnetId.
	// +kubebuilder:validation:Optional
	VnetSubnetIDRef *v1.Reference `json:"vnetSubnetIdRef,omitempty" tf:"-"`

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

	// Specifies the workload runtime used by the node pool. Possible values are OCIContainer and KataMshvVmIsolation.
	// +kubebuilder:validation:Optional
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster should be located. temporary_name_for_rotation must be specified when changing this property.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*DefaultNodePoolParameters) DeepCopy

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

func (*DefaultNodePoolParameters) DeepCopyInto

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

type GmsaInitParameters

type GmsaInitParameters struct {

	// Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	DNSServer *string `json:"dnsServer,omitempty" tf:"dns_server,omitempty"`

	// Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	RootDomain *string `json:"rootDomain,omitempty" tf:"root_domain,omitempty"`
}

func (*GmsaInitParameters) DeepCopy

func (in *GmsaInitParameters) DeepCopy() *GmsaInitParameters

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

func (*GmsaInitParameters) DeepCopyInto

func (in *GmsaInitParameters) DeepCopyInto(out *GmsaInitParameters)

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

type GmsaObservation

type GmsaObservation struct {

	// Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	DNSServer *string `json:"dnsServer,omitempty" tf:"dns_server,omitempty"`

	// Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	RootDomain *string `json:"rootDomain,omitempty" tf:"root_domain,omitempty"`
}

func (*GmsaObservation) DeepCopy

func (in *GmsaObservation) DeepCopy() *GmsaObservation

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

func (*GmsaObservation) DeepCopyInto

func (in *GmsaObservation) DeepCopyInto(out *GmsaObservation)

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

type GmsaParameters

type GmsaParameters struct {

	// Specifies the DNS server for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	// +kubebuilder:validation:Optional
	DNSServer *string `json:"dnsServer" tf:"dns_server,omitempty"`

	// Specifies the root domain name for Windows gMSA. Set this to an empty string if you have configured the DNS server in the VNet which was used to create the managed cluster.
	// +kubebuilder:validation:Optional
	RootDomain *string `json:"rootDomain" tf:"root_domain,omitempty"`
}

func (*GmsaParameters) DeepCopy

func (in *GmsaParameters) DeepCopy() *GmsaParameters

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

func (*GmsaParameters) DeepCopyInto

func (in *GmsaParameters) DeepCopyInto(out *GmsaParameters)

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

type HTTPProxyConfigInitParameters

type HTTPProxyConfigInitParameters struct {

	// The proxy address to be used when communicating over HTTP.
	HTTPProxy *string `json:"httpProxy,omitempty" tf:"http_proxy,omitempty"`

	// The proxy address to be used when communicating over HTTPS.
	HTTPSProxy *string `json:"httpsProxy,omitempty" tf:"https_proxy,omitempty"`

	// The list of domains that will not use the proxy for communication.
	// +listType=set
	NoProxy []*string `json:"noProxy,omitempty" tf:"no_proxy,omitempty"`

	// The base64 encoded alternative CA certificate content in PEM format.
	TrustedCASecretRef *v1.SecretKeySelector `json:"trustedCaSecretRef,omitempty" tf:"-"`
}

func (*HTTPProxyConfigInitParameters) DeepCopy

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

func (*HTTPProxyConfigInitParameters) DeepCopyInto

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

type HTTPProxyConfigObservation

type HTTPProxyConfigObservation struct {

	// The proxy address to be used when communicating over HTTP.
	HTTPProxy *string `json:"httpProxy,omitempty" tf:"http_proxy,omitempty"`

	// The proxy address to be used when communicating over HTTPS.
	HTTPSProxy *string `json:"httpsProxy,omitempty" tf:"https_proxy,omitempty"`

	// The list of domains that will not use the proxy for communication.
	// +listType=set
	NoProxy []*string `json:"noProxy,omitempty" tf:"no_proxy,omitempty"`
}

func (*HTTPProxyConfigObservation) DeepCopy

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

func (*HTTPProxyConfigObservation) DeepCopyInto

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

type HTTPProxyConfigParameters

type HTTPProxyConfigParameters struct {

	// The proxy address to be used when communicating over HTTP.
	// +kubebuilder:validation:Optional
	HTTPProxy *string `json:"httpProxy,omitempty" tf:"http_proxy,omitempty"`

	// The proxy address to be used when communicating over HTTPS.
	// +kubebuilder:validation:Optional
	HTTPSProxy *string `json:"httpsProxy,omitempty" tf:"https_proxy,omitempty"`

	// The list of domains that will not use the proxy for communication.
	// +kubebuilder:validation:Optional
	// +listType=set
	NoProxy []*string `json:"noProxy,omitempty" tf:"no_proxy,omitempty"`

	// The base64 encoded alternative CA certificate content in PEM format.
	// +kubebuilder:validation:Optional
	TrustedCASecretRef *v1.SecretKeySelector `json:"trustedCaSecretRef,omitempty" tf:"-"`
}

func (*HTTPProxyConfigParameters) DeepCopy

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

func (*HTTPProxyConfigParameters) DeepCopyInto

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

type HubProfileInitParameters

type HubProfileInitParameters struct {
	DNSPrefix *string `json:"dnsPrefix,omitempty" tf:"dns_prefix,omitempty"`
}

func (*HubProfileInitParameters) DeepCopy

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

func (*HubProfileInitParameters) DeepCopyInto

func (in *HubProfileInitParameters) DeepCopyInto(out *HubProfileInitParameters)

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

type HubProfileObservation

type HubProfileObservation struct {
	DNSPrefix *string `json:"dnsPrefix,omitempty" tf:"dns_prefix,omitempty"`

	Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"`

	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`
}

func (*HubProfileObservation) DeepCopy

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

func (*HubProfileObservation) DeepCopyInto

func (in *HubProfileObservation) DeepCopyInto(out *HubProfileObservation)

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

type HubProfileParameters

type HubProfileParameters struct {

	// +kubebuilder:validation:Optional
	DNSPrefix *string `json:"dnsPrefix" tf:"dns_prefix,omitempty"`
}

func (*HubProfileParameters) DeepCopy

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

func (*HubProfileParameters) DeepCopyInto

func (in *HubProfileParameters) DeepCopyInto(out *HubProfileParameters)

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

type IdentityInitParameters

type IdentityInitParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssigned or UserAssigned.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityInitParameters) DeepCopy

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

func (*IdentityInitParameters) DeepCopyInto

func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters)

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

type IdentityObservation

type IdentityObservation struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Principal ID associated with this Managed Service Identity.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Tenant ID associated with this Managed Service Identity.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssigned or UserAssigned.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityObservation) DeepCopy

func (in *IdentityObservation) DeepCopy() *IdentityObservation

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

func (*IdentityObservation) DeepCopyInto

func (in *IdentityObservation) DeepCopyInto(out *IdentityObservation)

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

type IdentityParameters

type IdentityParameters struct {

	// Specifies a list of User Assigned Managed Identity IDs to be assigned to this Kubernetes Cluster.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Kubernetes Cluster. Possible values are SystemAssigned or UserAssigned.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*IdentityParameters) DeepCopy

func (in *IdentityParameters) DeepCopy() *IdentityParameters

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

func (*IdentityParameters) DeepCopyInto

func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters)

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

type IngressApplicationGatewayIdentityInitParameters

type IngressApplicationGatewayIdentityInitParameters struct {
}

func (*IngressApplicationGatewayIdentityInitParameters) DeepCopy

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

func (*IngressApplicationGatewayIdentityInitParameters) DeepCopyInto

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

type IngressApplicationGatewayIdentityObservation

type IngressApplicationGatewayIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity used for Web App Routing.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity used for Web App Routing
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity used for Web App Routing.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*IngressApplicationGatewayIdentityObservation) DeepCopy

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

func (*IngressApplicationGatewayIdentityObservation) DeepCopyInto

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

type IngressApplicationGatewayIdentityParameters

type IngressApplicationGatewayIdentityParameters struct {
}

func (*IngressApplicationGatewayIdentityParameters) DeepCopy

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

func (*IngressApplicationGatewayIdentityParameters) DeepCopyInto

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

type IngressApplicationGatewayInitParameters

type IngressApplicationGatewayInitParameters struct {

	// The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	GatewayName *string `json:"gatewayName,omitempty" tf:"gateway_name,omitempty"`

	// The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	SubnetCidr *string `json:"subnetCidr,omitempty" tf:"subnet_cidr,omitempty"`

	// The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	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:"-"`
}

func (*IngressApplicationGatewayInitParameters) DeepCopy

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

func (*IngressApplicationGatewayInitParameters) DeepCopyInto

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

type IngressApplicationGatewayObservation

type IngressApplicationGatewayObservation struct {

	// The ID of the Application Gateway associated with the ingress controller deployed to this Kubernetes Cluster.
	EffectiveGatewayID *string `json:"effectiveGatewayId,omitempty" tf:"effective_gateway_id,omitempty"`

	// The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	GatewayName *string `json:"gatewayName,omitempty" tf:"gateway_name,omitempty"`

	// An ingress_application_gateway_identity block is exported. The exported attributes are defined below.
	IngressApplicationGatewayIdentity []IngressApplicationGatewayIdentityObservation `json:"ingressApplicationGatewayIdentity,omitempty" tf:"ingress_application_gateway_identity,omitempty"`

	// The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	SubnetCidr *string `json:"subnetCidr,omitempty" tf:"subnet_cidr,omitempty"`

	// The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`
}

func (*IngressApplicationGatewayObservation) DeepCopy

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

func (*IngressApplicationGatewayObservation) DeepCopyInto

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

type IngressApplicationGatewayParameters

type IngressApplicationGatewayParameters struct {

	// The ID of the Application Gateway to integrate with the ingress controller of this Kubernetes Cluster. See this page for further details.
	// +kubebuilder:validation:Optional
	GatewayID *string `json:"gatewayId,omitempty" tf:"gateway_id,omitempty"`

	// The name of the Application Gateway to be used or created in the Nodepool Resource Group, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	// +kubebuilder:validation:Optional
	GatewayName *string `json:"gatewayName,omitempty" tf:"gateway_name,omitempty"`

	// The subnet CIDR to be used to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	// +kubebuilder:validation:Optional
	SubnetCidr *string `json:"subnetCidr,omitempty" tf:"subnet_cidr,omitempty"`

	// The ID of the subnet on which to create an Application Gateway, which in turn will be integrated with the ingress controller of this Kubernetes Cluster. See this page for further details.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +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:"-"`
}

func (*IngressApplicationGatewayParameters) DeepCopy

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

func (*IngressApplicationGatewayParameters) DeepCopyInto

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

type KeyManagementServiceInitParameters

type KeyManagementServiceInitParameters struct {

	// Identifier of Azure Key Vault key. See key identifier format for more details.
	KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`

	// Network access of the key vault Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. Defaults to Public.
	KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty" tf:"key_vault_network_access,omitempty"`
}

func (*KeyManagementServiceInitParameters) DeepCopy

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

func (*KeyManagementServiceInitParameters) DeepCopyInto

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

type KeyManagementServiceObservation

type KeyManagementServiceObservation struct {

	// Identifier of Azure Key Vault key. See key identifier format for more details.
	KeyVaultKeyID *string `json:"keyVaultKeyId,omitempty" tf:"key_vault_key_id,omitempty"`

	// Network access of the key vault Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. Defaults to Public.
	KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty" tf:"key_vault_network_access,omitempty"`
}

func (*KeyManagementServiceObservation) DeepCopy

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

func (*KeyManagementServiceObservation) DeepCopyInto

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

type KeyManagementServiceParameters

type KeyManagementServiceParameters struct {

	// Identifier of Azure Key Vault key. See key identifier format for more details.
	// +kubebuilder:validation:Optional
	KeyVaultKeyID *string `json:"keyVaultKeyId" tf:"key_vault_key_id,omitempty"`

	// Network access of the key vault Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. Defaults to Public.
	// +kubebuilder:validation:Optional
	KeyVaultNetworkAccess *string `json:"keyVaultNetworkAccess,omitempty" tf:"key_vault_network_access,omitempty"`
}

func (*KeyManagementServiceParameters) DeepCopy

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

func (*KeyManagementServiceParameters) DeepCopyInto

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

type KeyVaultSecretsProviderInitParameters

type KeyVaultSecretsProviderInitParameters struct {

	// Should the secret store CSI driver on the AKS cluster be enabled?
	SecretRotationEnabled *bool `json:"secretRotationEnabled,omitempty" tf:"secret_rotation_enabled,omitempty"`

	// The interval to poll for secret rotation. This attribute is only set when secret_rotation is true. Defaults to 2m.
	SecretRotationInterval *string `json:"secretRotationInterval,omitempty" tf:"secret_rotation_interval,omitempty"`
}

func (*KeyVaultSecretsProviderInitParameters) DeepCopy

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

func (*KeyVaultSecretsProviderInitParameters) DeepCopyInto

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

type KeyVaultSecretsProviderObservation

type KeyVaultSecretsProviderObservation struct {

	// An secret_identity block is exported. The exported attributes are defined below.
	SecretIdentity []SecretIdentityObservation `json:"secretIdentity,omitempty" tf:"secret_identity,omitempty"`

	// Should the secret store CSI driver on the AKS cluster be enabled?
	SecretRotationEnabled *bool `json:"secretRotationEnabled,omitempty" tf:"secret_rotation_enabled,omitempty"`

	// The interval to poll for secret rotation. This attribute is only set when secret_rotation is true. Defaults to 2m.
	SecretRotationInterval *string `json:"secretRotationInterval,omitempty" tf:"secret_rotation_interval,omitempty"`
}

func (*KeyVaultSecretsProviderObservation) DeepCopy

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

func (*KeyVaultSecretsProviderObservation) DeepCopyInto

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

type KeyVaultSecretsProviderParameters

type KeyVaultSecretsProviderParameters struct {

	// Should the secret store CSI driver on the AKS cluster be enabled?
	// +kubebuilder:validation:Optional
	SecretRotationEnabled *bool `json:"secretRotationEnabled,omitempty" tf:"secret_rotation_enabled,omitempty"`

	// The interval to poll for secret rotation. This attribute is only set when secret_rotation is true. Defaults to 2m.
	// +kubebuilder:validation:Optional
	SecretRotationInterval *string `json:"secretRotationInterval,omitempty" tf:"secret_rotation_interval,omitempty"`
}

func (*KeyVaultSecretsProviderParameters) DeepCopy

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

func (*KeyVaultSecretsProviderParameters) DeepCopyInto

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

type KubeAdminConfigInitParameters

type KubeAdminConfigInitParameters struct {
}

func (*KubeAdminConfigInitParameters) DeepCopy

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

func (*KubeAdminConfigInitParameters) DeepCopyInto

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

type KubeAdminConfigObservation

type KubeAdminConfigObservation struct {

	// The Kubernetes cluster server host.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// A username used to authenticate to the Kubernetes cluster.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*KubeAdminConfigObservation) DeepCopy

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

func (*KubeAdminConfigObservation) DeepCopyInto

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

type KubeAdminConfigParameters

type KubeAdminConfigParameters struct {
}

func (*KubeAdminConfigParameters) DeepCopy

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

func (*KubeAdminConfigParameters) DeepCopyInto

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 Kubernetes cluster server host.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// A username used to authenticate to the Kubernetes cluster.
	Username *string `json:"username,omitempty" tf:"username,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 KubeletConfigInitParameters

type KubeletConfigInitParameters struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *).
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled?
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value.
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static,.
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2.
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100.
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100.
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod.
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node.
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubeletConfigInitParameters) DeepCopy

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

func (*KubeletConfigInitParameters) DeepCopyInto

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

type KubeletConfigObservation

type KubeletConfigObservation struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *).
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled?
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value.
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static,.
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2.
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100.
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100.
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod.
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node.
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubeletConfigObservation) DeepCopy

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

func (*KubeletConfigObservation) DeepCopyInto

func (in *KubeletConfigObservation) DeepCopyInto(out *KubeletConfigObservation)

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

type KubeletConfigParameters

type KubeletConfigParameters struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *).
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled?
	// +kubebuilder:validation:Optional
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value.
	// +kubebuilder:validation:Optional
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static,.
	// +kubebuilder:validation:Optional
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2.
	// +kubebuilder:validation:Optional
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
	// +kubebuilder:validation:Optional
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100.
	// +kubebuilder:validation:Optional
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100.
	// +kubebuilder:validation:Optional
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod.
	// +kubebuilder:validation:Optional
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node.
	// +kubebuilder:validation:Optional
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubeletConfigParameters) DeepCopy

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

func (*KubeletConfigParameters) DeepCopyInto

func (in *KubeletConfigParameters) DeepCopyInto(out *KubeletConfigParameters)

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

type KubeletIdentityInitParameters

type KubeletIdentityInitParameters struct {

	// The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*KubeletIdentityInitParameters) DeepCopy

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

func (*KubeletIdentityInitParameters) DeepCopyInto

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

type KubeletIdentityObservation

type KubeletIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*KubeletIdentityObservation) DeepCopy

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

func (*KubeletIdentityObservation) DeepCopyInto

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

type KubeletIdentityParameters

type KubeletIdentityParameters struct {

	// The Client ID of the user-defined Managed Identity to be assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity assigned to the Kubelets.If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity assigned to the Kubelets. If not specified a Managed Identity is created automatically. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*KubeletIdentityParameters) DeepCopy

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

func (*KubeletIdentityParameters) DeepCopyInto

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

type KubernetesCluster

type KubernetesCluster 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.defaultNodePool) || (has(self.initProvider) && has(self.initProvider.defaultNodePool))",message="spec.forProvider.defaultNodePool is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	Spec   KubernetesClusterSpec   `json:"spec"`
	Status KubernetesClusterStatus `json:"status,omitempty"`
}

KubernetesCluster is the Schema for the KubernetesClusters API. Manages a managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service) +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,azure}

func (*KubernetesCluster) DeepCopy

func (in *KubernetesCluster) DeepCopy() *KubernetesCluster

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

func (*KubernetesCluster) DeepCopyInto

func (in *KubernetesCluster) DeepCopyInto(out *KubernetesCluster)

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

func (*KubernetesCluster) DeepCopyObject

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

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

func (*KubernetesCluster) GetCondition

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

GetCondition of this KubernetesCluster.

func (*KubernetesCluster) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this KubernetesCluster

func (*KubernetesCluster) GetDeletionPolicy

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

GetDeletionPolicy of this KubernetesCluster.

func (*KubernetesCluster) GetID

func (tr *KubernetesCluster) GetID() string

GetID returns ID of underlying Terraform resource of this KubernetesCluster

func (*KubernetesCluster) GetInitParameters

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

GetInitParameters of this KubernetesCluster

func (*KubernetesCluster) GetManagementPolicies

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

GetManagementPolicies of this KubernetesCluster.

func (*KubernetesCluster) GetMergedParameters

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

GetInitParameters of this KubernetesCluster

func (*KubernetesCluster) GetObservation

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

GetObservation of this KubernetesCluster

func (*KubernetesCluster) GetParameters

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

GetParameters of this KubernetesCluster

func (*KubernetesCluster) GetProviderConfigReference

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

GetProviderConfigReference of this KubernetesCluster.

func (*KubernetesCluster) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this KubernetesCluster.

func (*KubernetesCluster) GetTerraformResourceType

func (mg *KubernetesCluster) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this KubernetesCluster

func (*KubernetesCluster) GetTerraformSchemaVersion

func (tr *KubernetesCluster) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*KubernetesCluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this KubernetesCluster.

func (*KubernetesCluster) Hub

func (tr *KubernetesCluster) Hub()

Hub marks this type as a conversion hub.

func (*KubernetesCluster) LateInitialize

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

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

func (*KubernetesCluster) ResolveReferences

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

func (*KubernetesCluster) SetConditions

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

SetConditions of this KubernetesCluster.

func (*KubernetesCluster) SetDeletionPolicy

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

SetDeletionPolicy of this KubernetesCluster.

func (*KubernetesCluster) SetManagementPolicies

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

SetManagementPolicies of this KubernetesCluster.

func (*KubernetesCluster) SetObservation

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

SetObservation for this KubernetesCluster

func (*KubernetesCluster) SetParameters

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

SetParameters for this KubernetesCluster

func (*KubernetesCluster) SetProviderConfigReference

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

SetProviderConfigReference of this KubernetesCluster.

func (*KubernetesCluster) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this KubernetesCluster.

func (*KubernetesCluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this KubernetesCluster.

type KubernetesClusterInitParameters

type KubernetesClusterInitParameters struct {

	// An api_server_access_profile block as defined below.
	APIServerAccessProfile *APIServerAccessProfileInitParameters `json:"apiServerAccessProfile,omitempty" tf:"api_server_access_profile,omitempty"`

	// Deprecated in favor of `spec.forProvider.apiServerAccessProfile[0].authorizedIpRanges`
	// +listType=set
	APIServerAuthorizedIPRanges []*string `json:"apiServerAuthorizedIpRanges,omitempty" tf:"api_server_authorized_ip_ranges,omitempty"`

	// A aci_connector_linux block as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
	AciConnectorLinux *AciConnectorLinuxInitParameters `json:"aciConnectorLinux,omitempty" tf:"aci_connector_linux,omitempty"`

	// A auto_scaler_profile block as defined below.
	AutoScalerProfile *AutoScalerProfileInitParameters `json:"autoScalerProfile,omitempty" tf:"auto_scaler_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, node-image and stable. Omitting this field sets this value to none.
	AutomaticChannelUpgrade *string `json:"automaticChannelUpgrade,omitempty" tf:"automatic_channel_upgrade,omitempty"`

	// A azure_active_directory_role_based_access_control block as defined below.
	AzureActiveDirectoryRoleBasedAccessControl *AzureActiveDirectoryRoleBasedAccessControlInitParameters `json:"azureActiveDirectoryRoleBasedAccessControl,omitempty" tf:"azure_active_directory_role_based_access_control,omitempty"`

	// Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
	AzurePolicyEnabled *bool `json:"azurePolicyEnabled,omitempty" tf:"azure_policy_enabled,omitempty"`

	// A confidential_computing block as defined below. For more details please the documentation
	ConfidentialComputing *ConfidentialComputingInitParameters `json:"confidentialComputing,omitempty" tf:"confidential_computing,omitempty"`

	// Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. The sku_tier must be set to Standard or Premium to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
	CostAnalysisEnabled *bool `json:"costAnalysisEnabled,omitempty" tf:"cost_analysis_enabled,omitempty"`

	// A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the custom_ca_trust_enabled feature enabled.
	CustomCATrustCertificatesBase64 []*string `json:"customCaTrustCertificatesBase64,omitempty" tf:"custom_ca_trust_certificates_base64,omitempty"`

	// DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
	DNSPrefix *string `json:"dnsPrefix,omitempty" tf:"dns_prefix,omitempty"`

	// Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.
	DNSPrefixPrivateCluster *string `json:"dnsPrefixPrivateCluster,omitempty" tf:"dns_prefix_private_cluster,omitempty"`

	// A default_node_pool block as defined below.
	DefaultNodePool *DefaultNodePoolInitParameters `json:"defaultNodePool,omitempty" tf:"default_node_pool,omitempty"`

	// The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty" tf:"enable_pod_security_policy,omitempty"`

	// Should HTTP Application Routing be enabled?
	HTTPApplicationRoutingEnabled *bool `json:"httpApplicationRoutingEnabled,omitempty" tf:"http_application_routing_enabled,omitempty"`

	// A http_proxy_config block as defined below.
	HTTPProxyConfig *HTTPProxyConfigInitParameters `json:"httpProxyConfig,omitempty" tf:"http_proxy_config,omitempty"`

	// An identity block as defined below. One of either identity or service_principal must be specified.
	Identity *IdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies whether Image Cleaner is enabled.
	ImageCleanerEnabled *bool `json:"imageCleanerEnabled,omitempty" tf:"image_cleaner_enabled,omitempty"`

	// Specifies the interval in hours when images should be cleaned up. Defaults to 48.
	ImageCleanerIntervalHours *float64 `json:"imageCleanerIntervalHours,omitempty" tf:"image_cleaner_interval_hours,omitempty"`

	// An ingress_application_gateway block as defined below.
	IngressApplicationGateway *IngressApplicationGatewayInitParameters `json:"ingressApplicationGateway,omitempty" tf:"ingress_application_gateway,omitempty"`

	// A key_management_service block as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
	KeyManagementService *KeyManagementServiceInitParameters `json:"keyManagementService,omitempty" tf:"key_management_service,omitempty"`

	// A key_vault_secrets_provider block as defined below.
	KeyVaultSecretsProvider *KeyVaultSecretsProviderInitParameters `json:"keyVaultSecretsProvider,omitempty" tf:"key_vault_secrets_provider,omitempty"`

	// A kubelet_identity block as defined below.
	KubeletIdentity *KubeletIdentityInitParameters `json:"kubeletIdentity,omitempty" tf:"kubelet_identity,omitempty"`

	// Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`

	// A linux_profile block as defined below.
	LinuxProfile *LinuxProfileInitParameters `json:"linuxProfile,omitempty" tf:"linux_profile,omitempty"`

	// If true local accounts will be disabled. See the documentation for more information.
	LocalAccountDisabled *bool `json:"localAccountDisabled,omitempty" tf:"local_account_disabled,omitempty"`

	// The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A maintenance_window block as defined below.
	MaintenanceWindow *MaintenanceWindowInitParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// A maintenance_window_auto_upgrade block as defined below.
	MaintenanceWindowAutoUpgrade *MaintenanceWindowAutoUpgradeInitParameters `json:"maintenanceWindowAutoUpgrade,omitempty" tf:"maintenance_window_auto_upgrade,omitempty"`

	// A maintenance_window_node_os block as defined below.
	MaintenanceWindowNodeOs *MaintenanceWindowNodeOsInitParameters `json:"maintenanceWindowNodeOs,omitempty" tf:"maintenance_window_node_os,omitempty"`

	// A microsoft_defender block as defined below.
	MicrosoftDefender *MicrosoftDefenderInitParameters `json:"microsoftDefender,omitempty" tf:"microsoft_defender,omitempty"`

	// Specifies a Prometheus add-on profile for the Kubernetes Cluster. A monitor_metrics block as defined below.
	MonitorMetrics *MonitorMetricsInitParameters `json:"monitorMetrics,omitempty" tf:"monitor_metrics,omitempty"`

	// A network_profile block as defined below.
	NetworkProfile *NetworkProfileInitParameters `json:"networkProfile,omitempty" tf:"network_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are Unmanaged, SecurityPatch, NodeImage and None.
	NodeOsChannelUpgrade *string `json:"nodeOsChannelUpgrade,omitempty" tf:"node_os_channel_upgrade,omitempty"`

	// The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster.
	NodeResourceGroup *string `json:"nodeResourceGroup,omitempty" tf:"node_resource_group,omitempty"`

	// Enable or Disable the OIDC issuer URL
	OidcIssuerEnabled *bool `json:"oidcIssuerEnabled,omitempty" tf:"oidc_issuer_enabled,omitempty"`

	// An oms_agent block as defined below.
	OmsAgent *OmsAgentInitParameters `json:"omsAgent,omitempty" tf:"oms_agent,omitempty"`

	// Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
	OpenServiceMeshEnabled *bool `json:"openServiceMeshEnabled,omitempty" tf:"open_service_mesh_enabled,omitempty"`

	// Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
	PrivateClusterEnabled *bool `json:"privateClusterEnabled,omitempty" tf:"private_cluster_enabled,omitempty"`

	// Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to false.
	PrivateClusterPublicFqdnEnabled *bool `json:"privateClusterPublicFqdnEnabled,omitempty" tf:"private_cluster_public_fqdn_enabled,omitempty"`

	// Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.PrivateDNSZone
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`

	// Reference to a PrivateDNSZone in network to populate privateDnsZoneId.
	// +kubebuilder:validation:Optional
	PrivateDNSZoneIDRef *v1.Reference `json:"privateDnsZoneIdRef,omitempty" tf:"-"`

	// Selector for a PrivateDNSZone in network to populate privateDnsZoneId.
	// +kubebuilder:validation:Optional
	PrivateDNSZoneIDSelector *v1.Selector `json:"privateDnsZoneIdSelector,omitempty" tf:"-"`

	// Whether public network access is allowed for this Kubernetes Cluster. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
	RoleBasedAccessControlEnabled *bool `json:"roleBasedAccessControlEnabled,omitempty" tf:"role_based_access_control_enabled,omitempty"`

	// Whether to enable run command for the cluster or not. Defaults to true.
	RunCommandEnabled *bool `json:"runCommandEnabled,omitempty" tf:"run_command_enabled,omitempty"`

	// A service_mesh_profile block as defined below.
	ServiceMeshProfile *ServiceMeshProfileInitParameters `json:"serviceMeshProfile,omitempty" tf:"service_mesh_profile,omitempty"`

	// A service_principal block as documented below. One of either identity or service_principal must be specified.
	ServicePrincipal *ServicePrincipalInitParameters `json:"servicePrincipal,omitempty" tf:"service_principal,omitempty"`

	// The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free, Standard (which includes the Uptime SLA) and Premium. Defaults to Free.
	SkuTier *string `json:"skuTier,omitempty" tf:"sku_tier,omitempty"`

	// A storage_profile block as defined below.
	StorageProfile *StorageProfileInitParameters `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"`

	// Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficial and AKSLongTermSupport. Defaults to KubernetesOfficial.
	SupportPlan *string `json:"supportPlan,omitempty" tf:"support_plan,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A web_app_routing block as defined below.
	WebAppRouting *WebAppRoutingInitParameters `json:"webAppRouting,omitempty" tf:"web_app_routing,omitempty"`

	// A windows_profile block as defined below.
	WindowsProfile *WindowsProfileInitParameters `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// A workload_autoscaler_profile block defined below.
	WorkloadAutoscalerProfile *WorkloadAutoscalerProfileInitParameters `json:"workloadAutoscalerProfile,omitempty" tf:"workload_autoscaler_profile,omitempty"`

	// Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to false.
	WorkloadIdentityEnabled *bool `json:"workloadIdentityEnabled,omitempty" tf:"workload_identity_enabled,omitempty"`
}

func (*KubernetesClusterInitParameters) DeepCopy

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

func (*KubernetesClusterInitParameters) DeepCopyInto

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

type KubernetesClusterList

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

KubernetesClusterList contains a list of KubernetesClusters

func (*KubernetesClusterList) DeepCopy

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

func (*KubernetesClusterList) DeepCopyInto

func (in *KubernetesClusterList) DeepCopyInto(out *KubernetesClusterList)

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

func (*KubernetesClusterList) DeepCopyObject

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

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

func (*KubernetesClusterList) GetItems

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

GetItems of this KubernetesClusterList.

type KubernetesClusterNodePool

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

KubernetesClusterNodePool is the Schema for the KubernetesClusterNodePools API. Manages a Node Pool within a Kubernetes Cluster +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,azure}

func (*KubernetesClusterNodePool) DeepCopy

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

func (*KubernetesClusterNodePool) DeepCopyInto

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

func (*KubernetesClusterNodePool) DeepCopyObject

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

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

func (*KubernetesClusterNodePool) GetCondition

GetCondition of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetDeletionPolicy

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

GetDeletionPolicy of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) GetID

func (tr *KubernetesClusterNodePool) GetID() string

GetID returns ID of underlying Terraform resource of this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetInitParameters

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

GetInitParameters of this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetManagementPolicies

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

GetManagementPolicies of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) GetMergedParameters

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

GetInitParameters of this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetObservation

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

GetObservation of this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetParameters

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

GetParameters of this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetProviderConfigReference

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

GetProviderConfigReference of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) GetTerraformResourceType

func (mg *KubernetesClusterNodePool) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) GetTerraformSchemaVersion

func (tr *KubernetesClusterNodePool) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*KubernetesClusterNodePool) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) Hub

func (tr *KubernetesClusterNodePool) Hub()

Hub marks this type as a conversion hub.

func (*KubernetesClusterNodePool) LateInitialize

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

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

func (*KubernetesClusterNodePool) ResolveReferences

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

ResolveReferences of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetConditions

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

SetConditions of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetDeletionPolicy

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

SetDeletionPolicy of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetManagementPolicies

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

SetManagementPolicies of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetObservation

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

SetObservation for this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) SetParameters

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

SetParameters for this KubernetesClusterNodePool

func (*KubernetesClusterNodePool) SetProviderConfigReference

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

SetProviderConfigReference of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this KubernetesClusterNodePool.

func (*KubernetesClusterNodePool) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this KubernetesClusterNodePool.

type KubernetesClusterNodePoolInitParameters

type KubernetesClusterNodePoolInitParameters struct {

	// Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Whether to enable auto-scaler.
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should each node have a Public IP Address? Changing this forces a new resource to be created.
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// A kubelet_config block as defined below. Changing this forces a new resource to be created.
	KubeletConfig *KubernetesClusterNodePoolKubeletConfigInitParameters `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// A linux_os_config block as defined below. Changing this forces a new resource to be created.
	LinuxOsConfig *KubernetesClusterNodePoolLinuxOsConfigInitParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The initial number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools and must be a value in the range min_count - max_count.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in this Node Pool.
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	NodeNetworkProfile *KubernetesClusterNodePoolNodeNetworkProfileInitParameters `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	// A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate podSubnetId.
	// +kubebuilder:validation:Optional
	PodSubnetIDRef *v1.Reference `json:"podSubnetIdRef,omitempty" tf:"-"`

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

	// The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.
	SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	UpgradeSettings *KubernetesClusterNodePoolUpgradeSettingsInitParameters `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
	VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`

	// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate vnetSubnetId.
	// +kubebuilder:validation:Optional
	VnetSubnetIDRef *v1.Reference `json:"vnetSubnetIdRef,omitempty" tf:"-"`

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

	// A windows_profile block as documented below. Changing this forces a new resource to be created.
	WindowsProfile *KubernetesClusterNodePoolWindowsProfileInitParameters `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*KubernetesClusterNodePoolInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolKubeletConfigInitParameters

type KubernetesClusterNodePoolKubeletConfigInitParameters struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubernetesClusterNodePoolKubeletConfigInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolKubeletConfigInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolKubeletConfigObservation

type KubernetesClusterNodePoolKubeletConfigObservation struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubernetesClusterNodePoolKubeletConfigObservation) DeepCopy

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

func (*KubernetesClusterNodePoolKubeletConfigObservation) DeepCopyInto

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

type KubernetesClusterNodePoolKubeletConfigParameters

type KubernetesClusterNodePoolKubeletConfigParameters struct {

	// Specifies the allow list of unsafe sysctls command or patterns (ending in *). Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedUnsafeSysctls []*string `json:"allowedUnsafeSysctls,omitempty" tf:"allowed_unsafe_sysctls,omitempty"`

	// Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CPUCfsQuotaEnabled *bool `json:"cpuCfsQuotaEnabled,omitempty" tf:"cpu_cfs_quota_enabled,omitempty"`

	// Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CPUCfsQuotaPeriod *string `json:"cpuCfsQuotaPeriod,omitempty" tf:"cpu_cfs_quota_period,omitempty"`

	// Specifies the CPU Manager policy to use. Possible values are none and static, Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" tf:"cpu_manager_policy,omitempty"`

	// Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ContainerLogMaxLine *float64 `json:"containerLogMaxLine,omitempty" tf:"container_log_max_line,omitempty"`

	// Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ContainerLogMaxSizeMb *float64 `json:"containerLogMaxSizeMb,omitempty" tf:"container_log_max_size_mb,omitempty"`

	// Specifies the percent of disk usage above which image garbage collection is always run. Must be between 0 and 100. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ImageGcHighThreshold *float64 `json:"imageGcHighThreshold,omitempty" tf:"image_gc_high_threshold,omitempty"`

	// Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between 0 and 100. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ImageGcLowThreshold *float64 `json:"imageGcLowThreshold,omitempty" tf:"image_gc_low_threshold,omitempty"`

	// Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PodMaxPid *float64 `json:"podMaxPid,omitempty" tf:"pod_max_pid,omitempty"`

	// Specifies the Topology Manager policy to use. Possible values are none, best-effort, restricted or single-numa-node. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TopologyManagerPolicy *string `json:"topologyManagerPolicy,omitempty" tf:"topology_manager_policy,omitempty"`
}

func (*KubernetesClusterNodePoolKubeletConfigParameters) DeepCopy

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

func (*KubernetesClusterNodePoolKubeletConfigParameters) DeepCopyInto

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

type KubernetesClusterNodePoolLinuxOsConfigInitParameters

type KubernetesClusterNodePoolLinuxOsConfigInitParameters struct {

	// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below. Changing this forces a new resource to be created.
	SysctlConfig *LinuxOsConfigSysctlConfigInitParameters `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolLinuxOsConfigInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolLinuxOsConfigInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolLinuxOsConfigObservation

type KubernetesClusterNodePoolLinuxOsConfigObservation struct {

	// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below. Changing this forces a new resource to be created.
	SysctlConfig *LinuxOsConfigSysctlConfigObservation `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolLinuxOsConfigObservation) DeepCopy

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

func (*KubernetesClusterNodePoolLinuxOsConfigObservation) DeepCopyInto

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

type KubernetesClusterNodePoolLinuxOsConfigParameters

type KubernetesClusterNodePoolLinuxOsConfigParameters struct {

	// Specifies the size of swap file on each node in MB. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SysctlConfig *LinuxOsConfigSysctlConfigParameters `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolLinuxOsConfigParameters) DeepCopy

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

func (*KubernetesClusterNodePoolLinuxOsConfigParameters) DeepCopyInto

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

type KubernetesClusterNodePoolList

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

KubernetesClusterNodePoolList contains a list of KubernetesClusterNodePools

func (*KubernetesClusterNodePoolList) DeepCopy

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

func (*KubernetesClusterNodePoolList) DeepCopyInto

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

func (*KubernetesClusterNodePoolList) DeepCopyObject

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

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

func (*KubernetesClusterNodePoolList) GetItems

GetItems of this KubernetesClusterNodePoolList.

type KubernetesClusterNodePoolNodeNetworkProfileInitParameters

type KubernetesClusterNodePoolNodeNetworkProfileInitParameters struct {

	// One or more allowed_host_ports blocks as defined below.
	AllowedHostPorts []NodeNetworkProfileAllowedHostPortsInitParameters `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*KubernetesClusterNodePoolNodeNetworkProfileInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolNodeNetworkProfileInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolNodeNetworkProfileObservation

type KubernetesClusterNodePoolNodeNetworkProfileObservation struct {

	// One or more allowed_host_ports blocks as defined below.
	AllowedHostPorts []NodeNetworkProfileAllowedHostPortsObservation `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*KubernetesClusterNodePoolNodeNetworkProfileObservation) DeepCopy

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

func (*KubernetesClusterNodePoolNodeNetworkProfileObservation) DeepCopyInto

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

type KubernetesClusterNodePoolNodeNetworkProfileParameters

type KubernetesClusterNodePoolNodeNetworkProfileParameters struct {

	// One or more allowed_host_ports blocks as defined below.
	// +kubebuilder:validation:Optional
	AllowedHostPorts []NodeNetworkProfileAllowedHostPortsParameters `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	// +kubebuilder:validation:Optional
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*KubernetesClusterNodePoolNodeNetworkProfileParameters) DeepCopy

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

func (*KubernetesClusterNodePoolNodeNetworkProfileParameters) DeepCopyInto

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

type KubernetesClusterNodePoolObservation

type KubernetesClusterNodePoolObservation struct {

	// Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Whether to enable auto-scaler.
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should each node have a Public IP Address? Changing this forces a new resource to be created.
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// The ID of the Kubernetes Cluster Node Pool.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A kubelet_config block as defined below. Changing this forces a new resource to be created.
	KubeletConfig *KubernetesClusterNodePoolKubeletConfigObservation `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.
	KubernetesClusterID *string `json:"kubernetesClusterId,omitempty" tf:"kubernetes_cluster_id,omitempty"`

	// A linux_os_config block as defined below. Changing this forces a new resource to be created.
	LinuxOsConfig *KubernetesClusterNodePoolLinuxOsConfigObservation `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The initial number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools and must be a value in the range min_count - max_count.
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in this Node Pool.
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	NodeNetworkProfile *KubernetesClusterNodePoolNodeNetworkProfileObservation `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	// A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.
	SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	UpgradeSettings *KubernetesClusterNodePoolUpgradeSettingsObservation `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
	VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`

	// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// A windows_profile block as documented below. Changing this forces a new resource to be created.
	WindowsProfile *KubernetesClusterNodePoolWindowsProfileObservation `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*KubernetesClusterNodePoolObservation) DeepCopy

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

func (*KubernetesClusterNodePoolObservation) DeepCopyInto

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

type KubernetesClusterNodePoolParameters

type KubernetesClusterNodePoolParameters struct {

	// Specifies the ID of the Capacity Reservation Group where this Node Pool should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	CapacityReservationGroupID *string `json:"capacityReservationGroupId,omitempty" tf:"capacity_reservation_group_id,omitempty"`

	// Specifies whether to trust a Custom CA.
	// +kubebuilder:validation:Optional
	CustomCATrustEnabled *bool `json:"customCaTrustEnabled,omitempty" tf:"custom_ca_trust_enabled,omitempty"`

	// Whether to enable auto-scaler.
	// +kubebuilder:validation:Optional
	EnableAutoScaling *bool `json:"enableAutoScaling,omitempty" tf:"enable_auto_scaling,omitempty"`

	// Should the nodes in this Node Pool have host encryption enabled? Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EnableHostEncryption *bool `json:"enableHostEncryption,omitempty" tf:"enable_host_encryption,omitempty"`

	// Should each node have a Public IP Address? Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EnableNodePublicIP *bool `json:"enableNodePublicIp,omitempty" tf:"enable_node_public_ip,omitempty"`

	// The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EvictionPolicy *string `json:"evictionPolicy,omitempty" tf:"eviction_policy,omitempty"`

	// Should the nodes in this Node Pool have Federal Information Processing Standard enabled? Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FipsEnabled *bool `json:"fipsEnabled,omitempty" tf:"fips_enabled,omitempty"`

	// Specifies the GPU MIG instance profile for supported GPU VM SKU. The allowed values are MIG1g, MIG2g, MIG3g, MIG4g and MIG7g. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	GpuInstance *string `json:"gpuInstance,omitempty" tf:"gpu_instance,omitempty"`

	// The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	HostGroupID *string `json:"hostGroupId,omitempty" tf:"host_group_id,omitempty"`

	// A kubelet_config block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	KubeletConfig *KubernetesClusterNodePoolKubeletConfigParameters `json:"kubeletConfig,omitempty" tf:"kubelet_config,omitempty"`

	// The type of disk used by kubelet. Possible values are OS and Temporary.
	// +kubebuilder:validation:Optional
	KubeletDiskType *string `json:"kubeletDiskType,omitempty" tf:"kubelet_disk_type,omitempty"`

	// The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/containerservice/v1beta2.KubernetesCluster
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	KubernetesClusterID *string `json:"kubernetesClusterId,omitempty" tf:"kubernetes_cluster_id,omitempty"`

	// Reference to a KubernetesCluster in containerservice to populate kubernetesClusterId.
	// +kubebuilder:validation:Optional
	KubernetesClusterIDRef *v1.Reference `json:"kubernetesClusterIdRef,omitempty" tf:"-"`

	// Selector for a KubernetesCluster in containerservice to populate kubernetesClusterId.
	// +kubebuilder:validation:Optional
	KubernetesClusterIDSelector *v1.Selector `json:"kubernetesClusterIdSelector,omitempty" tf:"-"`

	// A linux_os_config block as defined below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	LinuxOsConfig *KubernetesClusterNodePoolLinuxOsConfigParameters `json:"linuxOsConfig,omitempty" tf:"linux_os_config,omitempty"`

	// The maximum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be greater than or equal to min_count.
	// +kubebuilder:validation:Optional
	MaxCount *float64 `json:"maxCount,omitempty" tf:"max_count,omitempty"`

	// The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	MaxPods *float64 `json:"maxPods,omitempty" tf:"max_pods,omitempty"`

	// A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It cannot be specified for Windows nodes and must be a static string (i.e. will be printed raw and not executed as a script). Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	MessageOfTheDay *string `json:"messageOfTheDay,omitempty" tf:"message_of_the_day,omitempty"`

	// The minimum number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 and must be less than or equal to max_count.
	// +kubebuilder:validation:Optional
	MinCount *float64 `json:"minCount,omitempty" tf:"min_count,omitempty"`

	// Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// The initial number of nodes which should exist within this Node Pool. Valid values are between 0 and 1000 (inclusive) for user pools and between 1 and 1000 (inclusive) for system pools and must be a value in the range min_count - max_count.
	// +kubebuilder:validation:Optional
	NodeCount *float64 `json:"nodeCount,omitempty" tf:"node_count,omitempty"`

	// A map of Kubernetes labels which should be applied to nodes in this Node Pool.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	NodeLabels map[string]*string `json:"nodeLabels,omitempty" tf:"node_labels,omitempty"`

	// A node_network_profile block as documented below.
	// +kubebuilder:validation:Optional
	NodeNetworkProfile *KubernetesClusterNodePoolNodeNetworkProfileParameters `json:"nodeNetworkProfile,omitempty" tf:"node_network_profile,omitempty"`

	// Resource ID for the Public IP Addresses Prefix for the nodes in this Node Pool. enable_node_public_ip should be true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NodePublicIPPrefixID *string `json:"nodePublicIpPrefixId,omitempty" tf:"node_public_ip_prefix_id,omitempty"`

	// A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule).
	// +kubebuilder:validation:Optional
	NodeTaints []*string `json:"nodeTaints,omitempty" tf:"node_taints,omitempty"`

	// Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	// +kubebuilder:validation:Optional
	OrchestratorVersion *string `json:"orchestratorVersion,omitempty" tf:"orchestrator_version,omitempty"`

	// The Agent Operating System disk size in GB. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OsDiskSizeGb *float64 `json:"osDiskSizeGb,omitempty" tf:"os_disk_size_gb,omitempty"`

	// The type of disk which should be used for the Operating System. Possible values are Ephemeral and Managed. Defaults to Managed. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OsDiskType *string `json:"osDiskType,omitempty" tf:"os_disk_type,omitempty"`

	// Specifies the OS SKU used by the agent pool. Possible values are AzureLinux, Ubuntu, Windows2019 and Windows2022. If not specified, the default is Ubuntu if OSType=Linux or Windows2019 if OSType=Windows. And the default Windows OSSKU will be changed to Windows2022 after Windows2019 is deprecated. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OsSku *string `json:"osSku,omitempty" tf:"os_sku,omitempty"`

	// The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// The ID of the Subnet where the pods in the Node Pool should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	PodSubnetID *string `json:"podSubnetId,omitempty" tf:"pod_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate podSubnetId.
	// +kubebuilder:validation:Optional
	PodSubnetIDRef *v1.Reference `json:"podSubnetIdRef,omitempty" tf:"-"`

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

	// The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Priority *string `json:"priority,omitempty" tf:"priority,omitempty"`

	// The ID of the Proximity Placement Group where the Virtual Machine Scale Set that powers this Node Pool will be placed. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ProximityPlacementGroupID *string `json:"proximityPlacementGroupId,omitempty" tf:"proximity_placement_group_id,omitempty"`

	// Specifies how the node pool should deal with scaled-down nodes. Allowed values are Delete and Deallocate. Defaults to Delete.
	// +kubebuilder:validation:Optional
	ScaleDownMode *string `json:"scaleDownMode,omitempty" tf:"scale_down_mode,omitempty"`

	// The ID of the Snapshot which should be used to create this Node Pool. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SnapshotID *string `json:"snapshotId,omitempty" tf:"snapshot_id,omitempty"`

	// The maximum price you're willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	SpotMaxPrice *float64 `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Used to specify whether the UltraSSD is enabled in the Node Pool. Defaults to false. See the documentation for more information. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	UltraSsdEnabled *bool `json:"ultraSsdEnabled,omitempty" tf:"ultra_ssd_enabled,omitempty"`

	// A upgrade_settings block as documented below.
	// +kubebuilder:validation:Optional
	UpgradeSettings *KubernetesClusterNodePoolUpgradeSettingsParameters `json:"upgradeSettings,omitempty" tf:"upgrade_settings,omitempty"`

	// The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VMSize *string `json:"vmSize,omitempty" tf:"vm_size,omitempty"`

	// The ID of the Subnet where this Node Pool should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	VnetSubnetID *string `json:"vnetSubnetId,omitempty" tf:"vnet_subnet_id,omitempty"`

	// Reference to a Subnet in network to populate vnetSubnetId.
	// +kubebuilder:validation:Optional
	VnetSubnetIDRef *v1.Reference `json:"vnetSubnetIdRef,omitempty" tf:"-"`

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

	// A windows_profile block as documented below. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	WindowsProfile *KubernetesClusterNodePoolWindowsProfileParameters `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// Used to specify the workload runtime. Allowed values are OCIContainer, WasmWasi and KataMshvVmIsolation.
	// +kubebuilder:validation:Optional
	WorkloadRuntime *string `json:"workloadRuntime,omitempty" tf:"workload_runtime,omitempty"`

	// Specifies a list of Availability Zones in which this Kubernetes Cluster Node Pool should be located. Changing this forces a new Kubernetes Cluster Node Pool to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*KubernetesClusterNodePoolParameters) DeepCopy

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

func (*KubernetesClusterNodePoolParameters) DeepCopyInto

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

type KubernetesClusterNodePoolSpec

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

KubernetesClusterNodePoolSpec defines the desired state of KubernetesClusterNodePool

func (*KubernetesClusterNodePoolSpec) DeepCopy

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

func (*KubernetesClusterNodePoolSpec) DeepCopyInto

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

type KubernetesClusterNodePoolStatus

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

KubernetesClusterNodePoolStatus defines the observed state of KubernetesClusterNodePool.

func (*KubernetesClusterNodePoolStatus) DeepCopy

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

func (*KubernetesClusterNodePoolStatus) DeepCopyInto

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

type KubernetesClusterNodePoolUpgradeSettingsInitParameters

type KubernetesClusterNodePoolUpgradeSettingsInitParameters struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	MaxSurge *string `json:"maxSurge,omitempty" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*KubernetesClusterNodePoolUpgradeSettingsInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolUpgradeSettingsInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolUpgradeSettingsObservation

type KubernetesClusterNodePoolUpgradeSettingsObservation struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	MaxSurge *string `json:"maxSurge,omitempty" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*KubernetesClusterNodePoolUpgradeSettingsObservation) DeepCopy

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

func (*KubernetesClusterNodePoolUpgradeSettingsObservation) DeepCopyInto

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

type KubernetesClusterNodePoolUpgradeSettingsParameters

type KubernetesClusterNodePoolUpgradeSettingsParameters struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	// +kubebuilder:validation:Optional
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	// +kubebuilder:validation:Optional
	MaxSurge *string `json:"maxSurge" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	// +kubebuilder:validation:Optional
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*KubernetesClusterNodePoolUpgradeSettingsParameters) DeepCopy

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

func (*KubernetesClusterNodePoolUpgradeSettingsParameters) DeepCopyInto

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

type KubernetesClusterNodePoolWindowsProfileInitParameters

type KubernetesClusterNodePoolWindowsProfileInitParameters struct {

	// Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.
	OutboundNATEnabled *bool `json:"outboundNatEnabled,omitempty" tf:"outbound_nat_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolWindowsProfileInitParameters) DeepCopy

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

func (*KubernetesClusterNodePoolWindowsProfileInitParameters) DeepCopyInto

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

type KubernetesClusterNodePoolWindowsProfileObservation

type KubernetesClusterNodePoolWindowsProfileObservation struct {

	// Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.
	OutboundNATEnabled *bool `json:"outboundNatEnabled,omitempty" tf:"outbound_nat_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolWindowsProfileObservation) DeepCopy

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

func (*KubernetesClusterNodePoolWindowsProfileObservation) DeepCopyInto

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

type KubernetesClusterNodePoolWindowsProfileParameters

type KubernetesClusterNodePoolWindowsProfileParameters struct {

	// Should the Windows nodes in this Node Pool have outbound NAT enabled? Defaults to true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	OutboundNATEnabled *bool `json:"outboundNatEnabled,omitempty" tf:"outbound_nat_enabled,omitempty"`
}

func (*KubernetesClusterNodePoolWindowsProfileParameters) DeepCopy

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

func (*KubernetesClusterNodePoolWindowsProfileParameters) DeepCopyInto

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

type KubernetesClusterObservation

type KubernetesClusterObservation struct {

	// An api_server_access_profile block as defined below.
	APIServerAccessProfile *APIServerAccessProfileObservation `json:"apiServerAccessProfile,omitempty" tf:"api_server_access_profile,omitempty"`

	// Deprecated in favor of `spec.forProvider.apiServerAccessProfile[0].authorizedIpRanges`
	// +listType=set
	APIServerAuthorizedIPRanges []*string `json:"apiServerAuthorizedIpRanges,omitempty" tf:"api_server_authorized_ip_ranges,omitempty"`

	// A aci_connector_linux block as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
	AciConnectorLinux *AciConnectorLinuxObservation `json:"aciConnectorLinux,omitempty" tf:"aci_connector_linux,omitempty"`

	// A auto_scaler_profile block as defined below.
	AutoScalerProfile *AutoScalerProfileObservation `json:"autoScalerProfile,omitempty" tf:"auto_scaler_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, node-image and stable. Omitting this field sets this value to none.
	AutomaticChannelUpgrade *string `json:"automaticChannelUpgrade,omitempty" tf:"automatic_channel_upgrade,omitempty"`

	// A azure_active_directory_role_based_access_control block as defined below.
	AzureActiveDirectoryRoleBasedAccessControl *AzureActiveDirectoryRoleBasedAccessControlObservation `json:"azureActiveDirectoryRoleBasedAccessControl,omitempty" tf:"azure_active_directory_role_based_access_control,omitempty"`

	// Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
	AzurePolicyEnabled *bool `json:"azurePolicyEnabled,omitempty" tf:"azure_policy_enabled,omitempty"`

	// A confidential_computing block as defined below. For more details please the documentation
	ConfidentialComputing *ConfidentialComputingObservation `json:"confidentialComputing,omitempty" tf:"confidential_computing,omitempty"`

	// Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. The sku_tier must be set to Standard or Premium to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
	CostAnalysisEnabled *bool `json:"costAnalysisEnabled,omitempty" tf:"cost_analysis_enabled,omitempty"`

	// The current version running on the Azure Kubernetes Managed Cluster.
	CurrentKubernetesVersion *string `json:"currentKubernetesVersion,omitempty" tf:"current_kubernetes_version,omitempty"`

	// A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the custom_ca_trust_enabled feature enabled.
	CustomCATrustCertificatesBase64 []*string `json:"customCaTrustCertificatesBase64,omitempty" tf:"custom_ca_trust_certificates_base64,omitempty"`

	// DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
	DNSPrefix *string `json:"dnsPrefix,omitempty" tf:"dns_prefix,omitempty"`

	// Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.
	DNSPrefixPrivateCluster *string `json:"dnsPrefixPrivateCluster,omitempty" tf:"dns_prefix_private_cluster,omitempty"`

	// A default_node_pool block as defined below.
	DefaultNodePool *DefaultNodePoolObservation `json:"defaultNodePool,omitempty" tf:"default_node_pool,omitempty"`

	// The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty" tf:"enable_pod_security_policy,omitempty"`

	// The FQDN of the Azure Kubernetes Managed Cluster.
	Fqdn *string `json:"fqdn,omitempty" tf:"fqdn,omitempty"`

	// Should HTTP Application Routing be enabled?
	HTTPApplicationRoutingEnabled *bool `json:"httpApplicationRoutingEnabled,omitempty" tf:"http_application_routing_enabled,omitempty"`

	// The Zone Name of the HTTP Application Routing.
	HTTPApplicationRoutingZoneName *string `json:"httpApplicationRoutingZoneName,omitempty" tf:"http_application_routing_zone_name,omitempty"`

	// A http_proxy_config block as defined below.
	HTTPProxyConfig *HTTPProxyConfigObservation `json:"httpProxyConfig,omitempty" tf:"http_proxy_config,omitempty"`

	// The Kubernetes Managed Cluster ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below. One of either identity or service_principal must be specified.
	Identity *IdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies whether Image Cleaner is enabled.
	ImageCleanerEnabled *bool `json:"imageCleanerEnabled,omitempty" tf:"image_cleaner_enabled,omitempty"`

	// Specifies the interval in hours when images should be cleaned up. Defaults to 48.
	ImageCleanerIntervalHours *float64 `json:"imageCleanerIntervalHours,omitempty" tf:"image_cleaner_interval_hours,omitempty"`

	// An ingress_application_gateway block as defined below.
	IngressApplicationGateway *IngressApplicationGatewayObservation `json:"ingressApplicationGateway,omitempty" tf:"ingress_application_gateway,omitempty"`

	// A key_management_service block as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
	KeyManagementService *KeyManagementServiceObservation `json:"keyManagementService,omitempty" tf:"key_management_service,omitempty"`

	// A key_vault_secrets_provider block as defined below.
	KeyVaultSecretsProvider *KeyVaultSecretsProviderObservation `json:"keyVaultSecretsProvider,omitempty" tf:"key_vault_secrets_provider,omitempty"`

	// A kubelet_identity block as defined below.
	KubeletIdentity *KubeletIdentityObservation `json:"kubeletIdentity,omitempty" tf:"kubelet_identity,omitempty"`

	// Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`

	// A linux_profile block as defined below.
	LinuxProfile *LinuxProfileObservation `json:"linuxProfile,omitempty" tf:"linux_profile,omitempty"`

	// If true local accounts will be disabled. See the documentation for more information.
	LocalAccountDisabled *bool `json:"localAccountDisabled,omitempty" tf:"local_account_disabled,omitempty"`

	// The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A maintenance_window block as defined below.
	MaintenanceWindow *MaintenanceWindowObservation `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// A maintenance_window_auto_upgrade block as defined below.
	MaintenanceWindowAutoUpgrade *MaintenanceWindowAutoUpgradeObservation `json:"maintenanceWindowAutoUpgrade,omitempty" tf:"maintenance_window_auto_upgrade,omitempty"`

	// A maintenance_window_node_os block as defined below.
	MaintenanceWindowNodeOs *MaintenanceWindowNodeOsObservation `json:"maintenanceWindowNodeOs,omitempty" tf:"maintenance_window_node_os,omitempty"`

	// A microsoft_defender block as defined below.
	MicrosoftDefender *MicrosoftDefenderObservation `json:"microsoftDefender,omitempty" tf:"microsoft_defender,omitempty"`

	// Specifies a Prometheus add-on profile for the Kubernetes Cluster. A monitor_metrics block as defined below.
	MonitorMetrics *MonitorMetricsObservation `json:"monitorMetrics,omitempty" tf:"monitor_metrics,omitempty"`

	// A network_profile block as defined below.
	NetworkProfile *NetworkProfileObservation `json:"networkProfile,omitempty" tf:"network_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are Unmanaged, SecurityPatch, NodeImage and None.
	NodeOsChannelUpgrade *string `json:"nodeOsChannelUpgrade,omitempty" tf:"node_os_channel_upgrade,omitempty"`

	// The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster.
	NodeResourceGroup *string `json:"nodeResourceGroup,omitempty" tf:"node_resource_group,omitempty"`

	// The ID of the Resource Group containing the resources for this Managed Kubernetes Cluster.
	NodeResourceGroupID *string `json:"nodeResourceGroupId,omitempty" tf:"node_resource_group_id,omitempty"`

	// Enable or Disable the OIDC issuer URL
	OidcIssuerEnabled *bool `json:"oidcIssuerEnabled,omitempty" tf:"oidc_issuer_enabled,omitempty"`

	// The OIDC issuer URL that is associated with the cluster.
	OidcIssuerURL *string `json:"oidcIssuerUrl,omitempty" tf:"oidc_issuer_url,omitempty"`

	// An oms_agent block as defined below.
	OmsAgent *OmsAgentObservation `json:"omsAgent,omitempty" tf:"oms_agent,omitempty"`

	// Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
	OpenServiceMeshEnabled *bool `json:"openServiceMeshEnabled,omitempty" tf:"open_service_mesh_enabled,omitempty"`

	// The FQDN for the Azure Portal resources when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
	PortalFqdn *string `json:"portalFqdn,omitempty" tf:"portal_fqdn,omitempty"`

	// Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
	PrivateClusterEnabled *bool `json:"privateClusterEnabled,omitempty" tf:"private_cluster_enabled,omitempty"`

	// Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to false.
	PrivateClusterPublicFqdnEnabled *bool `json:"privateClusterPublicFqdnEnabled,omitempty" tf:"private_cluster_public_fqdn_enabled,omitempty"`

	// Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
	PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`

	// The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.
	PrivateFqdn *string `json:"privateFqdn,omitempty" tf:"private_fqdn,omitempty"`

	// Whether public network access is allowed for this Kubernetes Cluster. Defaults to true.
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
	RoleBasedAccessControlEnabled *bool `json:"roleBasedAccessControlEnabled,omitempty" tf:"role_based_access_control_enabled,omitempty"`

	// Whether to enable run command for the cluster or not. Defaults to true.
	RunCommandEnabled *bool `json:"runCommandEnabled,omitempty" tf:"run_command_enabled,omitempty"`

	// A service_mesh_profile block as defined below.
	ServiceMeshProfile *ServiceMeshProfileObservation `json:"serviceMeshProfile,omitempty" tf:"service_mesh_profile,omitempty"`

	// A service_principal block as documented below. One of either identity or service_principal must be specified.
	ServicePrincipal *ServicePrincipalObservation `json:"servicePrincipal,omitempty" tf:"service_principal,omitempty"`

	// The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free, Standard (which includes the Uptime SLA) and Premium. Defaults to Free.
	SkuTier *string `json:"skuTier,omitempty" tf:"sku_tier,omitempty"`

	// A storage_profile block as defined below.
	StorageProfile *StorageProfileObservation `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"`

	// Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficial and AKSLongTermSupport. Defaults to KubernetesOfficial.
	SupportPlan *string `json:"supportPlan,omitempty" tf:"support_plan,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A web_app_routing block as defined below.
	WebAppRouting *WebAppRoutingObservation `json:"webAppRouting,omitempty" tf:"web_app_routing,omitempty"`

	// A windows_profile block as defined below.
	WindowsProfile *WindowsProfileObservation `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// A workload_autoscaler_profile block defined below.
	WorkloadAutoscalerProfile *WorkloadAutoscalerProfileObservation `json:"workloadAutoscalerProfile,omitempty" tf:"workload_autoscaler_profile,omitempty"`

	// Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to false.
	WorkloadIdentityEnabled *bool `json:"workloadIdentityEnabled,omitempty" tf:"workload_identity_enabled,omitempty"`
}

func (*KubernetesClusterObservation) DeepCopy

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

func (*KubernetesClusterObservation) DeepCopyInto

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

type KubernetesClusterParameters

type KubernetesClusterParameters struct {

	// An api_server_access_profile block as defined below.
	// +kubebuilder:validation:Optional
	APIServerAccessProfile *APIServerAccessProfileParameters `json:"apiServerAccessProfile,omitempty" tf:"api_server_access_profile,omitempty"`

	// Deprecated in favor of `spec.forProvider.apiServerAccessProfile[0].authorizedIpRanges`
	// +kubebuilder:validation:Optional
	// +listType=set
	APIServerAuthorizedIPRanges []*string `json:"apiServerAuthorizedIpRanges,omitempty" tf:"api_server_authorized_ip_ranges,omitempty"`

	// A aci_connector_linux block as defined below. For more details, please visit Create and configure an AKS cluster to use virtual nodes.
	// +kubebuilder:validation:Optional
	AciConnectorLinux *AciConnectorLinuxParameters `json:"aciConnectorLinux,omitempty" tf:"aci_connector_linux,omitempty"`

	// A auto_scaler_profile block as defined below.
	// +kubebuilder:validation:Optional
	AutoScalerProfile *AutoScalerProfileParameters `json:"autoScalerProfile,omitempty" tf:"auto_scaler_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster. Possible values are patch, rapid, node-image and stable. Omitting this field sets this value to none.
	// +kubebuilder:validation:Optional
	AutomaticChannelUpgrade *string `json:"automaticChannelUpgrade,omitempty" tf:"automatic_channel_upgrade,omitempty"`

	// A azure_active_directory_role_based_access_control block as defined below.
	// +kubebuilder:validation:Optional
	AzureActiveDirectoryRoleBasedAccessControl *AzureActiveDirectoryRoleBasedAccessControlParameters `json:"azureActiveDirectoryRoleBasedAccessControl,omitempty" tf:"azure_active_directory_role_based_access_control,omitempty"`

	// Should the Azure Policy Add-On be enabled? For more details please visit Understand Azure Policy for Azure Kubernetes Service
	// +kubebuilder:validation:Optional
	AzurePolicyEnabled *bool `json:"azurePolicyEnabled,omitempty" tf:"azure_policy_enabled,omitempty"`

	// A confidential_computing block as defined below. For more details please the documentation
	// +kubebuilder:validation:Optional
	ConfidentialComputing *ConfidentialComputingParameters `json:"confidentialComputing,omitempty" tf:"confidential_computing,omitempty"`

	// Should cost analysis be enabled for this Kubernetes Cluster? Defaults to false. The sku_tier must be set to Standard or Premium to enable this feature. Enabling this will add Kubernetes Namespace and Deployment details to the Cost Analysis views in the Azure portal.
	// +kubebuilder:validation:Optional
	CostAnalysisEnabled *bool `json:"costAnalysisEnabled,omitempty" tf:"cost_analysis_enabled,omitempty"`

	// A list of up to 10 base64 encoded CAs that will be added to the trust store on nodes with the custom_ca_trust_enabled feature enabled.
	// +kubebuilder:validation:Optional
	CustomCATrustCertificatesBase64 []*string `json:"customCaTrustCertificatesBase64,omitempty" tf:"custom_ca_trust_certificates_base64,omitempty"`

	// DNS prefix specified when creating the managed cluster. Possible values must begin and end with a letter or number, contain only letters, numbers, and hyphens and be between 1 and 54 characters in length. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DNSPrefix *string `json:"dnsPrefix,omitempty" tf:"dns_prefix,omitempty"`

	// Specifies the DNS prefix to use with private clusters. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DNSPrefixPrivateCluster *string `json:"dnsPrefixPrivateCluster,omitempty" tf:"dns_prefix_private_cluster,omitempty"`

	// A default_node_pool block as defined below.
	// +kubebuilder:validation:Optional
	DefaultNodePool *DefaultNodePoolParameters `json:"defaultNodePool,omitempty" tf:"default_node_pool,omitempty"`

	// The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DiskEncryptionSetID *string `json:"diskEncryptionSetId,omitempty" tf:"disk_encryption_set_id,omitempty"`

	// Specifies the Edge Zone within the Azure Region where this Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	EdgeZone *string `json:"edgeZone,omitempty" tf:"edge_zone,omitempty"`

	// +kubebuilder:validation:Optional
	EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty" tf:"enable_pod_security_policy,omitempty"`

	// Should HTTP Application Routing be enabled?
	// +kubebuilder:validation:Optional
	HTTPApplicationRoutingEnabled *bool `json:"httpApplicationRoutingEnabled,omitempty" tf:"http_application_routing_enabled,omitempty"`

	// A http_proxy_config block as defined below.
	// +kubebuilder:validation:Optional
	HTTPProxyConfig *HTTPProxyConfigParameters `json:"httpProxyConfig,omitempty" tf:"http_proxy_config,omitempty"`

	// An identity block as defined below. One of either identity or service_principal must be specified.
	// +kubebuilder:validation:Optional
	Identity *IdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// Specifies whether Image Cleaner is enabled.
	// +kubebuilder:validation:Optional
	ImageCleanerEnabled *bool `json:"imageCleanerEnabled,omitempty" tf:"image_cleaner_enabled,omitempty"`

	// Specifies the interval in hours when images should be cleaned up. Defaults to 48.
	// +kubebuilder:validation:Optional
	ImageCleanerIntervalHours *float64 `json:"imageCleanerIntervalHours,omitempty" tf:"image_cleaner_interval_hours,omitempty"`

	// An ingress_application_gateway block as defined below.
	// +kubebuilder:validation:Optional
	IngressApplicationGateway *IngressApplicationGatewayParameters `json:"ingressApplicationGateway,omitempty" tf:"ingress_application_gateway,omitempty"`

	// A key_management_service block as defined below. For more details, please visit Key Management Service (KMS) etcd encryption to an AKS cluster.
	// +kubebuilder:validation:Optional
	KeyManagementService *KeyManagementServiceParameters `json:"keyManagementService,omitempty" tf:"key_management_service,omitempty"`

	// A key_vault_secrets_provider block as defined below.
	// +kubebuilder:validation:Optional
	KeyVaultSecretsProvider *KeyVaultSecretsProviderParameters `json:"keyVaultSecretsProvider,omitempty" tf:"key_vault_secrets_provider,omitempty"`

	// A kubelet_identity block as defined below.
	// +kubebuilder:validation:Optional
	KubeletIdentity *KubeletIdentityParameters `json:"kubeletIdentity,omitempty" tf:"kubelet_identity,omitempty"`

	// Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won't auto-upgrade). AKS does not require an exact patch version to be specified, minor version aliases such as 1.22 are also supported. - The minor version's latest GA patch is automatically chosen in that case. More details can be found in the documentation.
	// +kubebuilder:validation:Optional
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" tf:"kubernetes_version,omitempty"`

	// A linux_profile block as defined below.
	// +kubebuilder:validation:Optional
	LinuxProfile *LinuxProfileParameters `json:"linuxProfile,omitempty" tf:"linux_profile,omitempty"`

	// If true local accounts will be disabled. See the documentation for more information.
	// +kubebuilder:validation:Optional
	LocalAccountDisabled *bool `json:"localAccountDisabled,omitempty" tf:"local_account_disabled,omitempty"`

	// The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A maintenance_window block as defined below.
	// +kubebuilder:validation:Optional
	MaintenanceWindow *MaintenanceWindowParameters `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// A maintenance_window_auto_upgrade block as defined below.
	// +kubebuilder:validation:Optional
	MaintenanceWindowAutoUpgrade *MaintenanceWindowAutoUpgradeParameters `json:"maintenanceWindowAutoUpgrade,omitempty" tf:"maintenance_window_auto_upgrade,omitempty"`

	// A maintenance_window_node_os block as defined below.
	// +kubebuilder:validation:Optional
	MaintenanceWindowNodeOs *MaintenanceWindowNodeOsParameters `json:"maintenanceWindowNodeOs,omitempty" tf:"maintenance_window_node_os,omitempty"`

	// A microsoft_defender block as defined below.
	// +kubebuilder:validation:Optional
	MicrosoftDefender *MicrosoftDefenderParameters `json:"microsoftDefender,omitempty" tf:"microsoft_defender,omitempty"`

	// Specifies a Prometheus add-on profile for the Kubernetes Cluster. A monitor_metrics block as defined below.
	// +kubebuilder:validation:Optional
	MonitorMetrics *MonitorMetricsParameters `json:"monitorMetrics,omitempty" tf:"monitor_metrics,omitempty"`

	// A network_profile block as defined below.
	// +kubebuilder:validation:Optional
	NetworkProfile *NetworkProfileParameters `json:"networkProfile,omitempty" tf:"network_profile,omitempty"`

	// The upgrade channel for this Kubernetes Cluster Nodes' OS Image. Possible values are Unmanaged, SecurityPatch, NodeImage and None.
	// +kubebuilder:validation:Optional
	NodeOsChannelUpgrade *string `json:"nodeOsChannelUpgrade,omitempty" tf:"node_os_channel_upgrade,omitempty"`

	// The auto-generated Resource Group which contains the resources for this Managed Kubernetes Cluster.
	// +kubebuilder:validation:Optional
	NodeResourceGroup *string `json:"nodeResourceGroup,omitempty" tf:"node_resource_group,omitempty"`

	// Enable or Disable the OIDC issuer URL
	// +kubebuilder:validation:Optional
	OidcIssuerEnabled *bool `json:"oidcIssuerEnabled,omitempty" tf:"oidc_issuer_enabled,omitempty"`

	// An oms_agent block as defined below.
	// +kubebuilder:validation:Optional
	OmsAgent *OmsAgentParameters `json:"omsAgent,omitempty" tf:"oms_agent,omitempty"`

	// Is Open Service Mesh enabled? For more details, please visit Open Service Mesh for AKS.
	// +kubebuilder:validation:Optional
	OpenServiceMeshEnabled *bool `json:"openServiceMeshEnabled,omitempty" tf:"open_service_mesh_enabled,omitempty"`

	// Should this Kubernetes Cluster have its API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PrivateClusterEnabled *bool `json:"privateClusterEnabled,omitempty" tf:"private_cluster_enabled,omitempty"`

	// Specifies whether a Public FQDN for this Private Cluster should be added. Defaults to false.
	// +kubebuilder:validation:Optional
	PrivateClusterPublicFqdnEnabled *bool `json:"privateClusterPublicFqdnEnabled,omitempty" tf:"private_cluster_public_fqdn_enabled,omitempty"`

	// Either the ID of Private DNS Zone which should be delegated to this Cluster, System to have AKS manage this or None. In case of None you will need to bring your own DNS server and set up resolving, otherwise, the cluster will have issues after provisioning. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.PrivateDNSZone
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	PrivateDNSZoneID *string `json:"privateDnsZoneId,omitempty" tf:"private_dns_zone_id,omitempty"`

	// Reference to a PrivateDNSZone in network to populate privateDnsZoneId.
	// +kubebuilder:validation:Optional
	PrivateDNSZoneIDRef *v1.Reference `json:"privateDnsZoneIdRef,omitempty" tf:"-"`

	// Selector for a PrivateDNSZone in network to populate privateDnsZoneId.
	// +kubebuilder:validation:Optional
	PrivateDNSZoneIDSelector *v1.Selector `json:"privateDnsZoneIdSelector,omitempty" tf:"-"`

	// Whether public network access is allowed for this Kubernetes Cluster. Defaults to true.
	// +kubebuilder:validation:Optional
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// Whether Role Based Access Control for the Kubernetes Cluster should be enabled. Defaults to true. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	RoleBasedAccessControlEnabled *bool `json:"roleBasedAccessControlEnabled,omitempty" tf:"role_based_access_control_enabled,omitempty"`

	// Whether to enable run command for the cluster or not. Defaults to true.
	// +kubebuilder:validation:Optional
	RunCommandEnabled *bool `json:"runCommandEnabled,omitempty" tf:"run_command_enabled,omitempty"`

	// A service_mesh_profile block as defined below.
	// +kubebuilder:validation:Optional
	ServiceMeshProfile *ServiceMeshProfileParameters `json:"serviceMeshProfile,omitempty" tf:"service_mesh_profile,omitempty"`

	// A service_principal block as documented below. One of either identity or service_principal must be specified.
	// +kubebuilder:validation:Optional
	ServicePrincipal *ServicePrincipalParameters `json:"servicePrincipal,omitempty" tf:"service_principal,omitempty"`

	// The SKU Tier that should be used for this Kubernetes Cluster. Possible values are Free, Standard (which includes the Uptime SLA) and Premium. Defaults to Free.
	// +kubebuilder:validation:Optional
	SkuTier *string `json:"skuTier,omitempty" tf:"sku_tier,omitempty"`

	// A storage_profile block as defined below.
	// +kubebuilder:validation:Optional
	StorageProfile *StorageProfileParameters `json:"storageProfile,omitempty" tf:"storage_profile,omitempty"`

	// Specifies the support plan which should be used for this Kubernetes Cluster. Possible values are KubernetesOfficial and AKSLongTermSupport. Defaults to KubernetesOfficial.
	// +kubebuilder:validation:Optional
	SupportPlan *string `json:"supportPlan,omitempty" tf:"support_plan,omitempty"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A web_app_routing block as defined below.
	// +kubebuilder:validation:Optional
	WebAppRouting *WebAppRoutingParameters `json:"webAppRouting,omitempty" tf:"web_app_routing,omitempty"`

	// A windows_profile block as defined below.
	// +kubebuilder:validation:Optional
	WindowsProfile *WindowsProfileParameters `json:"windowsProfile,omitempty" tf:"windows_profile,omitempty"`

	// A workload_autoscaler_profile block defined below.
	// +kubebuilder:validation:Optional
	WorkloadAutoscalerProfile *WorkloadAutoscalerProfileParameters `json:"workloadAutoscalerProfile,omitempty" tf:"workload_autoscaler_profile,omitempty"`

	// Specifies whether Azure AD Workload Identity should be enabled for the Cluster. Defaults to false.
	// +kubebuilder:validation:Optional
	WorkloadIdentityEnabled *bool `json:"workloadIdentityEnabled,omitempty" tf:"workload_identity_enabled,omitempty"`
}

func (*KubernetesClusterParameters) DeepCopy

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

func (*KubernetesClusterParameters) DeepCopyInto

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

type KubernetesClusterSpec

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

KubernetesClusterSpec defines the desired state of KubernetesCluster

func (*KubernetesClusterSpec) DeepCopy

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

func (*KubernetesClusterSpec) DeepCopyInto

func (in *KubernetesClusterSpec) DeepCopyInto(out *KubernetesClusterSpec)

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

type KubernetesClusterStatus

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

KubernetesClusterStatus defines the observed state of KubernetesCluster.

func (*KubernetesClusterStatus) DeepCopy

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

func (*KubernetesClusterStatus) DeepCopyInto

func (in *KubernetesClusterStatus) DeepCopyInto(out *KubernetesClusterStatus)

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

type KubernetesFleetManager

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

KubernetesFleetManager is the Schema for the KubernetesFleetManagers API. Manages a Kubernetes Fleet Manager. +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,azure}

func (*KubernetesFleetManager) DeepCopy

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

func (*KubernetesFleetManager) DeepCopyInto

func (in *KubernetesFleetManager) DeepCopyInto(out *KubernetesFleetManager)

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

func (*KubernetesFleetManager) DeepCopyObject

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

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

func (*KubernetesFleetManager) GetCondition

GetCondition of this KubernetesFleetManager.

func (*KubernetesFleetManager) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this KubernetesFleetManager

func (*KubernetesFleetManager) GetDeletionPolicy

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

GetDeletionPolicy of this KubernetesFleetManager.

func (*KubernetesFleetManager) GetID

func (tr *KubernetesFleetManager) GetID() string

GetID returns ID of underlying Terraform resource of this KubernetesFleetManager

func (*KubernetesFleetManager) GetInitParameters

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

GetInitParameters of this KubernetesFleetManager

func (*KubernetesFleetManager) GetManagementPolicies

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

GetManagementPolicies of this KubernetesFleetManager.

func (*KubernetesFleetManager) GetMergedParameters

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

GetInitParameters of this KubernetesFleetManager

func (*KubernetesFleetManager) GetObservation

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

GetObservation of this KubernetesFleetManager

func (*KubernetesFleetManager) GetParameters

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

GetParameters of this KubernetesFleetManager

func (*KubernetesFleetManager) GetProviderConfigReference

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

GetProviderConfigReference of this KubernetesFleetManager.

func (*KubernetesFleetManager) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this KubernetesFleetManager.

func (*KubernetesFleetManager) GetTerraformResourceType

func (mg *KubernetesFleetManager) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this KubernetesFleetManager

func (*KubernetesFleetManager) GetTerraformSchemaVersion

func (tr *KubernetesFleetManager) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*KubernetesFleetManager) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this KubernetesFleetManager.

func (*KubernetesFleetManager) Hub

func (tr *KubernetesFleetManager) Hub()

Hub marks this type as a conversion hub.

func (*KubernetesFleetManager) LateInitialize

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

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

func (*KubernetesFleetManager) ResolveReferences

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

ResolveReferences of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetConditions

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

SetConditions of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetDeletionPolicy

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

SetDeletionPolicy of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetManagementPolicies

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

SetManagementPolicies of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetObservation

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

SetObservation for this KubernetesFleetManager

func (*KubernetesFleetManager) SetParameters

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

SetParameters for this KubernetesFleetManager

func (*KubernetesFleetManager) SetProviderConfigReference

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

SetProviderConfigReference of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this KubernetesFleetManager.

func (*KubernetesFleetManager) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this KubernetesFleetManager.

type KubernetesFleetManagerInitParameters

type KubernetesFleetManagerInitParameters struct {
	HubProfile *HubProfileInitParameters `json:"hubProfile,omitempty" tf:"hub_profile,omitempty"`

	// The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// A mapping of tags which should be assigned to the Kubernetes Fleet Manager.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KubernetesFleetManagerInitParameters) DeepCopy

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

func (*KubernetesFleetManagerInitParameters) DeepCopyInto

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

type KubernetesFleetManagerList

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

KubernetesFleetManagerList contains a list of KubernetesFleetManagers

func (*KubernetesFleetManagerList) DeepCopy

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

func (*KubernetesFleetManagerList) DeepCopyInto

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

func (*KubernetesFleetManagerList) DeepCopyObject

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

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

func (*KubernetesFleetManagerList) GetItems

GetItems of this KubernetesFleetManagerList.

type KubernetesFleetManagerObservation

type KubernetesFleetManagerObservation struct {
	HubProfile *HubProfileObservation `json:"hubProfile,omitempty" tf:"hub_profile,omitempty"`

	// The ID of the Kubernetes Fleet Manager.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Specifies the name of the Resource Group within which this Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// A mapping of tags which should be assigned to the Kubernetes Fleet Manager.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KubernetesFleetManagerObservation) DeepCopy

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

func (*KubernetesFleetManagerObservation) DeepCopyInto

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

type KubernetesFleetManagerParameters

type KubernetesFleetManagerParameters struct {

	// +kubebuilder:validation:Optional
	HubProfile *HubProfileParameters `json:"hubProfile,omitempty" tf:"hub_profile,omitempty"`

	// The Azure Region where the Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Specifies the name of the Resource Group within which this Kubernetes Fleet Manager should exist. Changing this forces a new Kubernetes Fleet Manager to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// A mapping of tags which should be assigned to the Kubernetes Fleet Manager.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KubernetesFleetManagerParameters) DeepCopy

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

func (*KubernetesFleetManagerParameters) DeepCopyInto

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

type KubernetesFleetManagerSpec

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

KubernetesFleetManagerSpec defines the desired state of KubernetesFleetManager

func (*KubernetesFleetManagerSpec) DeepCopy

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

func (*KubernetesFleetManagerSpec) DeepCopyInto

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

type KubernetesFleetManagerStatus

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

KubernetesFleetManagerStatus defines the observed state of KubernetesFleetManager.

func (*KubernetesFleetManagerStatus) DeepCopy

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

func (*KubernetesFleetManagerStatus) DeepCopyInto

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

type LinuxOsConfigInitParameters

type LinuxOsConfigInitParameters struct {

	// Specifies the size of the swap file on each node in MB.
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below.
	SysctlConfig *SysctlConfigInitParameters `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never.
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never.
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*LinuxOsConfigInitParameters) DeepCopy

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

func (*LinuxOsConfigInitParameters) DeepCopyInto

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

type LinuxOsConfigObservation

type LinuxOsConfigObservation struct {

	// Specifies the size of the swap file on each node in MB.
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below.
	SysctlConfig *SysctlConfigObservation `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never.
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never.
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*LinuxOsConfigObservation) DeepCopy

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

func (*LinuxOsConfigObservation) DeepCopyInto

func (in *LinuxOsConfigObservation) DeepCopyInto(out *LinuxOsConfigObservation)

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

type LinuxOsConfigParameters

type LinuxOsConfigParameters struct {

	// Specifies the size of the swap file on each node in MB.
	// +kubebuilder:validation:Optional
	SwapFileSizeMb *float64 `json:"swapFileSizeMb,omitempty" tf:"swap_file_size_mb,omitempty"`

	// A sysctl_config block as defined below.
	// +kubebuilder:validation:Optional
	SysctlConfig *SysctlConfigParameters `json:"sysctlConfig,omitempty" tf:"sysctl_config,omitempty"`

	// specifies the defrag configuration for Transparent Huge Page. Possible values are always, defer, defer+madvise, madvise and never.
	// +kubebuilder:validation:Optional
	TransparentHugePageDefrag *string `json:"transparentHugePageDefrag,omitempty" tf:"transparent_huge_page_defrag,omitempty"`

	// Specifies the Transparent Huge Page enabled configuration. Possible values are always, madvise and never.
	// +kubebuilder:validation:Optional
	TransparentHugePageEnabled *string `json:"transparentHugePageEnabled,omitempty" tf:"transparent_huge_page_enabled,omitempty"`
}

func (*LinuxOsConfigParameters) DeepCopy

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

func (*LinuxOsConfigParameters) DeepCopyInto

func (in *LinuxOsConfigParameters) DeepCopyInto(out *LinuxOsConfigParameters)

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

type LinuxOsConfigSysctlConfigInitParameters

type LinuxOsConfigSysctlConfigInitParameters struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*LinuxOsConfigSysctlConfigInitParameters) DeepCopy

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

func (*LinuxOsConfigSysctlConfigInitParameters) DeepCopyInto

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

type LinuxOsConfigSysctlConfigObservation

type LinuxOsConfigSysctlConfigObservation struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*LinuxOsConfigSysctlConfigObservation) DeepCopy

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

func (*LinuxOsConfigSysctlConfigObservation) DeepCopyInto

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

type LinuxOsConfigSysctlConfigParameters

type LinuxOsConfigSysctlConfigParameters struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*LinuxOsConfigSysctlConfigParameters) DeepCopy

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

func (*LinuxOsConfigSysctlConfigParameters) DeepCopyInto

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

type LinuxProfileInitParameters

type LinuxProfileInitParameters struct {

	// The Admin Username for the Cluster. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An ssh_key block as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
	SSHKey *SSHKeyInitParameters `json:"sshKey,omitempty" tf:"ssh_key,omitempty"`
}

func (*LinuxProfileInitParameters) DeepCopy

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

func (*LinuxProfileInitParameters) DeepCopyInto

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

type LinuxProfileObservation

type LinuxProfileObservation struct {

	// The Admin Username for the Cluster. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// An ssh_key block as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
	SSHKey *SSHKeyObservation `json:"sshKey,omitempty" tf:"ssh_key,omitempty"`
}

func (*LinuxProfileObservation) DeepCopy

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

func (*LinuxProfileObservation) DeepCopyInto

func (in *LinuxProfileObservation) DeepCopyInto(out *LinuxProfileObservation)

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

type LinuxProfileParameters

type LinuxProfileParameters struct {

	// The Admin Username for the Cluster. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername" tf:"admin_username,omitempty"`

	// An ssh_key block as defined below. Only one is currently allowed. Changing this will update the key on all node pools. More information can be found in the documentation.
	// +kubebuilder:validation:Optional
	SSHKey *SSHKeyParameters `json:"sshKey" tf:"ssh_key,omitempty"`
}

func (*LinuxProfileParameters) DeepCopy

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

func (*LinuxProfileParameters) DeepCopyInto

func (in *LinuxProfileParameters) DeepCopyInto(out *LinuxProfileParameters)

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

type LoadBalancerProfileInitParameters

type LoadBalancerProfileInitParameters struct {

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`

	// The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
	ManagedOutboundIPv6Count *float64 `json:"managedOutboundIpv6Count,omitempty" tf:"managed_outbound_ipv6_count,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
	OutboundPortsAllocated *float64 `json:"outboundPortsAllocated,omitempty" tf:"outbound_ports_allocated,omitempty"`
}

func (*LoadBalancerProfileInitParameters) DeepCopy

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

func (*LoadBalancerProfileInitParameters) DeepCopyInto

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

type LoadBalancerProfileObservation

type LoadBalancerProfileObservation struct {

	// The outcome (resource IDs) of the specified arguments.
	// +listType=set
	EffectiveOutboundIps []*string `json:"effectiveOutboundIps,omitempty" tf:"effective_outbound_ips,omitempty"`

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`

	// The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
	ManagedOutboundIPv6Count *float64 `json:"managedOutboundIpv6Count,omitempty" tf:"managed_outbound_ipv6_count,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
	OutboundPortsAllocated *float64 `json:"outboundPortsAllocated,omitempty" tf:"outbound_ports_allocated,omitempty"`
}

func (*LoadBalancerProfileObservation) DeepCopy

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

func (*LoadBalancerProfileObservation) DeepCopyInto

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

type LoadBalancerProfileParameters

type LoadBalancerProfileParameters struct {

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	// +kubebuilder:validation:Optional
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	// +kubebuilder:validation:Optional
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`

	// The desired number of IPv6 outbound IPs created and managed by Azure for the cluster load balancer. Must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack.
	// +kubebuilder:validation:Optional
	ManagedOutboundIPv6Count *float64 `json:"managedOutboundIpv6Count,omitempty" tf:"managed_outbound_ipv6_count,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +kubebuilder:validation:Optional
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +kubebuilder:validation:Optional
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.
	// +kubebuilder:validation:Optional
	OutboundPortsAllocated *float64 `json:"outboundPortsAllocated,omitempty" tf:"outbound_ports_allocated,omitempty"`
}

func (*LoadBalancerProfileParameters) DeepCopy

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

func (*LoadBalancerProfileParameters) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeInitParameters

type MaintenanceWindowAutoUpgradeInitParameters struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	Duration *float64 `json:"duration,omitempty" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Weekly, AbsoluteMonthly and RelativeMonthly.
	Frequency *string `json:"frequency,omitempty" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	Interval *float64 `json:"interval,omitempty" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []MaintenanceWindowAutoUpgradeNotAllowedInitParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// Specifies on which instance of the allowed days specified in day_of_week the maintenance occurs. Options are First, Second, Third, Fourth, and Last.
	// Required in combination with relative monthly frequency.
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeInitParameters) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeInitParameters) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeNotAllowedInitParameters

type MaintenanceWindowAutoUpgradeNotAllowedInitParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeNotAllowedInitParameters) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeNotAllowedInitParameters) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeNotAllowedObservation

type MaintenanceWindowAutoUpgradeNotAllowedObservation struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeNotAllowedObservation) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeNotAllowedObservation) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeNotAllowedParameters

type MaintenanceWindowAutoUpgradeNotAllowedParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	End *string `json:"end" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	Start *string `json:"start" tf:"start,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeNotAllowedParameters) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeNotAllowedParameters) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeObservation

type MaintenanceWindowAutoUpgradeObservation struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	Duration *float64 `json:"duration,omitempty" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Weekly, AbsoluteMonthly and RelativeMonthly.
	Frequency *string `json:"frequency,omitempty" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	Interval *float64 `json:"interval,omitempty" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []MaintenanceWindowAutoUpgradeNotAllowedObservation `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// Specifies on which instance of the allowed days specified in day_of_week the maintenance occurs. Options are First, Second, Third, Fourth, and Last.
	// Required in combination with relative monthly frequency.
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeObservation) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeObservation) DeepCopyInto

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

type MaintenanceWindowAutoUpgradeParameters

type MaintenanceWindowAutoUpgradeParameters struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	// +kubebuilder:validation:Optional
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	// +kubebuilder:validation:Optional
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	// +kubebuilder:validation:Optional
	Duration *float64 `json:"duration" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Weekly, AbsoluteMonthly and RelativeMonthly.
	// +kubebuilder:validation:Optional
	Frequency *string `json:"frequency" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	// +kubebuilder:validation:Optional
	Interval *float64 `json:"interval" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	// +kubebuilder:validation:Optional
	NotAllowed []MaintenanceWindowAutoUpgradeNotAllowedParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	// +kubebuilder:validation:Optional
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	// +kubebuilder:validation:Optional
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// Specifies on which instance of the allowed days specified in day_of_week the maintenance occurs. Options are First, Second, Third, Fourth, and Last.
	// Required in combination with relative monthly frequency.
	// +kubebuilder:validation:Optional
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowAutoUpgradeParameters) DeepCopy

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

func (*MaintenanceWindowAutoUpgradeParameters) DeepCopyInto

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

type MaintenanceWindowInitParameters

type MaintenanceWindowInitParameters struct {

	// One or more allowed blocks as defined below.
	Allowed []AllowedInitParameters `json:"allowed,omitempty" tf:"allowed,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []NotAllowedInitParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`
}

func (*MaintenanceWindowInitParameters) DeepCopy

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

func (*MaintenanceWindowInitParameters) DeepCopyInto

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

type MaintenanceWindowNodeOsInitParameters

type MaintenanceWindowNodeOsInitParameters struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	Duration *float64 `json:"duration,omitempty" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Daily, Weekly, AbsoluteMonthly and RelativeMonthly.
	Frequency *string `json:"frequency,omitempty" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	Interval *float64 `json:"interval,omitempty" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []MaintenanceWindowNodeOsNotAllowedInitParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// The week in the month used for the maintenance run. Options are First, Second, Third, Fourth, and Last.
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowNodeOsInitParameters) DeepCopy

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

func (*MaintenanceWindowNodeOsInitParameters) DeepCopyInto

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

type MaintenanceWindowNodeOsNotAllowedInitParameters

type MaintenanceWindowNodeOsNotAllowedInitParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*MaintenanceWindowNodeOsNotAllowedInitParameters) DeepCopy

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

func (*MaintenanceWindowNodeOsNotAllowedInitParameters) DeepCopyInto

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

type MaintenanceWindowNodeOsNotAllowedObservation

type MaintenanceWindowNodeOsNotAllowedObservation struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*MaintenanceWindowNodeOsNotAllowedObservation) DeepCopy

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

func (*MaintenanceWindowNodeOsNotAllowedObservation) DeepCopyInto

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

type MaintenanceWindowNodeOsNotAllowedParameters

type MaintenanceWindowNodeOsNotAllowedParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	End *string `json:"end" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	Start *string `json:"start" tf:"start,omitempty"`
}

func (*MaintenanceWindowNodeOsNotAllowedParameters) DeepCopy

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

func (*MaintenanceWindowNodeOsNotAllowedParameters) DeepCopyInto

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

type MaintenanceWindowNodeOsObservation

type MaintenanceWindowNodeOsObservation struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	Duration *float64 `json:"duration,omitempty" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Daily, Weekly, AbsoluteMonthly and RelativeMonthly.
	Frequency *string `json:"frequency,omitempty" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	Interval *float64 `json:"interval,omitempty" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []MaintenanceWindowNodeOsNotAllowedObservation `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// The week in the month used for the maintenance run. Options are First, Second, Third, Fourth, and Last.
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowNodeOsObservation) DeepCopy

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

func (*MaintenanceWindowNodeOsObservation) DeepCopyInto

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

type MaintenanceWindowNodeOsParameters

type MaintenanceWindowNodeOsParameters struct {

	// The day of the month for the maintenance run. Required in combination with AbsoluteMonthly frequency. Value between 0 and 31 (inclusive).
	// +kubebuilder:validation:Optional
	DayOfMonth *float64 `json:"dayOfMonth,omitempty" tf:"day_of_month,omitempty"`

	// The day of the week for the maintenance run. Required in combination with weekly frequency. Possible values are Friday, Monday, Saturday, Sunday, Thursday, Tuesday and Wednesday.
	// +kubebuilder:validation:Optional
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The duration of the window for maintenance to run in hours.
	// +kubebuilder:validation:Optional
	Duration *float64 `json:"duration" tf:"duration,omitempty"`

	// Frequency of maintenance. Possible options are Daily, Weekly, AbsoluteMonthly and RelativeMonthly.
	// +kubebuilder:validation:Optional
	Frequency *string `json:"frequency" tf:"frequency,omitempty"`

	// The interval for maintenance runs. Depending on the frequency this interval is week or month based.
	// +kubebuilder:validation:Optional
	Interval *float64 `json:"interval" tf:"interval,omitempty"`

	// One or more not_allowed block as defined below.
	// +kubebuilder:validation:Optional
	NotAllowed []MaintenanceWindowNodeOsNotAllowedParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`

	// The date on which the maintenance window begins to take effect.
	// +kubebuilder:validation:Optional
	StartDate *string `json:"startDate,omitempty" tf:"start_date,omitempty"`

	// The time for maintenance to begin, based on the timezone determined by utc_offset. Format is HH:mm.
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Used to determine the timezone for cluster maintenance.
	// +kubebuilder:validation:Optional
	UtcOffset *string `json:"utcOffset,omitempty" tf:"utc_offset,omitempty"`

	// The week in the month used for the maintenance run. Options are First, Second, Third, Fourth, and Last.
	// +kubebuilder:validation:Optional
	WeekIndex *string `json:"weekIndex,omitempty" tf:"week_index,omitempty"`
}

func (*MaintenanceWindowNodeOsParameters) DeepCopy

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

func (*MaintenanceWindowNodeOsParameters) DeepCopyInto

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

type MaintenanceWindowObservation

type MaintenanceWindowObservation struct {

	// One or more allowed blocks as defined below.
	Allowed []AllowedObservation `json:"allowed,omitempty" tf:"allowed,omitempty"`

	// One or more not_allowed block as defined below.
	NotAllowed []NotAllowedObservation `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`
}

func (*MaintenanceWindowObservation) DeepCopy

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

func (*MaintenanceWindowObservation) DeepCopyInto

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

type MaintenanceWindowParameters

type MaintenanceWindowParameters struct {

	// One or more allowed blocks as defined below.
	// +kubebuilder:validation:Optional
	Allowed []AllowedParameters `json:"allowed,omitempty" tf:"allowed,omitempty"`

	// One or more not_allowed block as defined below.
	// +kubebuilder:validation:Optional
	NotAllowed []NotAllowedParameters `json:"notAllowed,omitempty" tf:"not_allowed,omitempty"`
}

func (*MaintenanceWindowParameters) DeepCopy

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

func (*MaintenanceWindowParameters) DeepCopyInto

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

type MicrosoftDefenderInitParameters

type MicrosoftDefenderInitParameters struct {

	// Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId,omitempty" tf:"log_analytics_workspace_id,omitempty"`
}

func (*MicrosoftDefenderInitParameters) DeepCopy

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

func (*MicrosoftDefenderInitParameters) DeepCopyInto

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

type MicrosoftDefenderObservation

type MicrosoftDefenderObservation struct {

	// Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId,omitempty" tf:"log_analytics_workspace_id,omitempty"`
}

func (*MicrosoftDefenderObservation) DeepCopy

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

func (*MicrosoftDefenderObservation) DeepCopyInto

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

type MicrosoftDefenderParameters

type MicrosoftDefenderParameters struct {

	// Specifies the ID of the Log Analytics Workspace where the audit logs collected by Microsoft Defender should be sent to.
	// +kubebuilder:validation:Optional
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId" tf:"log_analytics_workspace_id,omitempty"`
}

func (*MicrosoftDefenderParameters) DeepCopy

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

func (*MicrosoftDefenderParameters) DeepCopyInto

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

type MonitorMetricsInitParameters

type MonitorMetricsInitParameters struct {

	// Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
	AnnotationsAllowed *string `json:"annotationsAllowed,omitempty" tf:"annotations_allowed,omitempty"`

	// Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric.
	LabelsAllowed *string `json:"labelsAllowed,omitempty" tf:"labels_allowed,omitempty"`
}

func (*MonitorMetricsInitParameters) DeepCopy

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

func (*MonitorMetricsInitParameters) DeepCopyInto

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

type MonitorMetricsObservation

type MonitorMetricsObservation struct {

	// Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
	AnnotationsAllowed *string `json:"annotationsAllowed,omitempty" tf:"annotations_allowed,omitempty"`

	// Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric.
	LabelsAllowed *string `json:"labelsAllowed,omitempty" tf:"labels_allowed,omitempty"`
}

func (*MonitorMetricsObservation) DeepCopy

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

func (*MonitorMetricsObservation) DeepCopyInto

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

type MonitorMetricsParameters

type MonitorMetricsParameters struct {

	// Specifies a comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric.
	// +kubebuilder:validation:Optional
	AnnotationsAllowed *string `json:"annotationsAllowed,omitempty" tf:"annotations_allowed,omitempty"`

	// Specifies a Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric.
	// +kubebuilder:validation:Optional
	LabelsAllowed *string `json:"labelsAllowed,omitempty" tf:"labels_allowed,omitempty"`
}

func (*MonitorMetricsParameters) DeepCopy

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

func (*MonitorMetricsParameters) DeepCopyInto

func (in *MonitorMetricsParameters) DeepCopyInto(out *MonitorMetricsParameters)

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

type NATGatewayProfileInitParameters

type NATGatewayProfileInitParameters struct {

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`
}

func (*NATGatewayProfileInitParameters) DeepCopy

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

func (*NATGatewayProfileInitParameters) DeepCopyInto

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

type NATGatewayProfileObservation

type NATGatewayProfileObservation struct {

	// The outcome (resource IDs) of the specified arguments.
	// +listType=set
	EffectiveOutboundIps []*string `json:"effectiveOutboundIps,omitempty" tf:"effective_outbound_ips,omitempty"`

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`
}

func (*NATGatewayProfileObservation) DeepCopy

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

func (*NATGatewayProfileObservation) DeepCopyInto

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

type NATGatewayProfileParameters

type NATGatewayProfileParameters struct {

	// Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 4.
	// +kubebuilder:validation:Optional
	IdleTimeoutInMinutes *float64 `json:"idleTimeoutInMinutes,omitempty" tf:"idle_timeout_in_minutes,omitempty"`

	// Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.
	// +kubebuilder:validation:Optional
	ManagedOutboundIPCount *float64 `json:"managedOutboundIpCount,omitempty" tf:"managed_outbound_ip_count,omitempty"`
}

func (*NATGatewayProfileParameters) DeepCopy

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

func (*NATGatewayProfileParameters) DeepCopyInto

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

type NetworkProfileInitParameters

type NetworkProfileInitParameters struct {

	// IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
	DNSServiceIP *string `json:"dnsServiceIp,omitempty" tf:"dns_service_ip,omitempty"`

	// IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
	DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty" tf:"docker_bridge_cidr,omitempty"`

	EbpfDataPlane *string `json:"ebpfDataPlane,omitempty" tf:"ebpf_data_plane,omitempty"`

	// Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are IPv4 and/or IPv6. IPv4 must always be specified. Changing this forces a new resource to be created.
	IPVersions []*string `json:"ipVersions,omitempty" tf:"ip_versions,omitempty"`

	// A load_balancer_profile block as defined below. This can only be specified when load_balancer_sku is set to standard. Changing this forces a new resource to be created.
	LoadBalancerProfile *LoadBalancerProfileInitParameters `json:"loadBalancerProfile,omitempty" tf:"load_balancer_profile,omitempty"`

	// Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basic and standard. Defaults to standard. Changing this forces a new resource to be created.
	LoadBalancerSku *string `json:"loadBalancerSku,omitempty" tf:"load_balancer_sku,omitempty"`

	// A nat_gateway_profile block as defined below. This can only be specified when load_balancer_sku is set to standard and outbound_type is set to managedNATGateway or userAssignedNATGateway. Changing this forces a new resource to be created.
	NATGatewayProfile *NATGatewayProfileInitParameters `json:"natGatewayProfile,omitempty" tf:"nat_gateway_profile,omitempty"`

	// Specifies the data plane used for building the Kubernetes network. Possible values are azure and cilium. Defaults to azure. Disabling this forces a new resource to be created.
	NetworkDataPlane *string `json:"networkDataPlane,omitempty" tf:"network_data_plane,omitempty"`

	// Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
	NetworkMode *string `json:"networkMode,omitempty" tf:"network_mode,omitempty"`

	// Network plugin to use for networking. Currently supported values are azure, kubenet and none. Changing this forces a new resource to be created.
	NetworkPlugin *string `json:"networkPlugin,omitempty" tf:"network_plugin,omitempty"`

	// Specifies the network plugin mode used for building the Kubernetes network. Possible value is overlay.
	NetworkPluginMode *string `json:"networkPluginMode,omitempty" tf:"network_plugin_mode,omitempty"`

	// Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico, azure and cilium.
	NetworkPolicy *string `json:"networkPolicy,omitempty" tf:"network_policy,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer, userDefinedRouting, managedNATGateway and userAssignedNATGateway. Defaults to loadBalancer. More information on supported migration paths for outbound_type can be found in this documentation.
	OutboundType *string `json:"outboundType,omitempty" tf:"outbound_type,omitempty"`

	// The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet or network_plugin_mode is set to overlay. Changing this forces a new resource to be created.
	PodCidr *string `json:"podCidr,omitempty" tf:"pod_cidr,omitempty"`

	// A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	PodCidrs []*string `json:"podCidrs,omitempty" tf:"pod_cidrs,omitempty"`

	// The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
	ServiceCidr *string `json:"serviceCidr,omitempty" tf:"service_cidr,omitempty"`

	// A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	ServiceCidrs []*string `json:"serviceCidrs,omitempty" tf:"service_cidrs,omitempty"`
}

func (*NetworkProfileInitParameters) DeepCopy

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

func (*NetworkProfileInitParameters) DeepCopyInto

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

type NetworkProfileObservation

type NetworkProfileObservation struct {

	// IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
	DNSServiceIP *string `json:"dnsServiceIp,omitempty" tf:"dns_service_ip,omitempty"`

	// IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
	DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty" tf:"docker_bridge_cidr,omitempty"`

	EbpfDataPlane *string `json:"ebpfDataPlane,omitempty" tf:"ebpf_data_plane,omitempty"`

	// Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are IPv4 and/or IPv6. IPv4 must always be specified. Changing this forces a new resource to be created.
	IPVersions []*string `json:"ipVersions,omitempty" tf:"ip_versions,omitempty"`

	// A load_balancer_profile block as defined below. This can only be specified when load_balancer_sku is set to standard. Changing this forces a new resource to be created.
	LoadBalancerProfile *LoadBalancerProfileObservation `json:"loadBalancerProfile,omitempty" tf:"load_balancer_profile,omitempty"`

	// Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basic and standard. Defaults to standard. Changing this forces a new resource to be created.
	LoadBalancerSku *string `json:"loadBalancerSku,omitempty" tf:"load_balancer_sku,omitempty"`

	// A nat_gateway_profile block as defined below. This can only be specified when load_balancer_sku is set to standard and outbound_type is set to managedNATGateway or userAssignedNATGateway. Changing this forces a new resource to be created.
	NATGatewayProfile *NATGatewayProfileObservation `json:"natGatewayProfile,omitempty" tf:"nat_gateway_profile,omitempty"`

	// Specifies the data plane used for building the Kubernetes network. Possible values are azure and cilium. Defaults to azure. Disabling this forces a new resource to be created.
	NetworkDataPlane *string `json:"networkDataPlane,omitempty" tf:"network_data_plane,omitempty"`

	// Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
	NetworkMode *string `json:"networkMode,omitempty" tf:"network_mode,omitempty"`

	// Network plugin to use for networking. Currently supported values are azure, kubenet and none. Changing this forces a new resource to be created.
	NetworkPlugin *string `json:"networkPlugin,omitempty" tf:"network_plugin,omitempty"`

	// Specifies the network plugin mode used for building the Kubernetes network. Possible value is overlay.
	NetworkPluginMode *string `json:"networkPluginMode,omitempty" tf:"network_plugin_mode,omitempty"`

	// Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico, azure and cilium.
	NetworkPolicy *string `json:"networkPolicy,omitempty" tf:"network_policy,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer, userDefinedRouting, managedNATGateway and userAssignedNATGateway. Defaults to loadBalancer. More information on supported migration paths for outbound_type can be found in this documentation.
	OutboundType *string `json:"outboundType,omitempty" tf:"outbound_type,omitempty"`

	// The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet or network_plugin_mode is set to overlay. Changing this forces a new resource to be created.
	PodCidr *string `json:"podCidr,omitempty" tf:"pod_cidr,omitempty"`

	// A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	PodCidrs []*string `json:"podCidrs,omitempty" tf:"pod_cidrs,omitempty"`

	// The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
	ServiceCidr *string `json:"serviceCidr,omitempty" tf:"service_cidr,omitempty"`

	// A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	ServiceCidrs []*string `json:"serviceCidrs,omitempty" tf:"service_cidrs,omitempty"`
}

func (*NetworkProfileObservation) DeepCopy

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

func (*NetworkProfileObservation) DeepCopyInto

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

type NetworkProfileParameters

type NetworkProfileParameters struct {

	// IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DNSServiceIP *string `json:"dnsServiceIp,omitempty" tf:"dns_service_ip,omitempty"`

	// IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty" tf:"docker_bridge_cidr,omitempty"`

	// +kubebuilder:validation:Optional
	EbpfDataPlane *string `json:"ebpfDataPlane,omitempty" tf:"ebpf_data_plane,omitempty"`

	// Specifies a list of IP versions the Kubernetes Cluster will use to assign IP addresses to its nodes and pods. Possible values are IPv4 and/or IPv6. IPv4 must always be specified. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	IPVersions []*string `json:"ipVersions,omitempty" tf:"ip_versions,omitempty"`

	// A load_balancer_profile block as defined below. This can only be specified when load_balancer_sku is set to standard. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	LoadBalancerProfile *LoadBalancerProfileParameters `json:"loadBalancerProfile,omitempty" tf:"load_balancer_profile,omitempty"`

	// Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are basic and standard. Defaults to standard. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	LoadBalancerSku *string `json:"loadBalancerSku,omitempty" tf:"load_balancer_sku,omitempty"`

	// A nat_gateway_profile block as defined below. This can only be specified when load_balancer_sku is set to standard and outbound_type is set to managedNATGateway or userAssignedNATGateway. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NATGatewayProfile *NATGatewayProfileParameters `json:"natGatewayProfile,omitempty" tf:"nat_gateway_profile,omitempty"`

	// Specifies the data plane used for building the Kubernetes network. Possible values are azure and cilium. Defaults to azure. Disabling this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetworkDataPlane *string `json:"networkDataPlane,omitempty" tf:"network_data_plane,omitempty"`

	// Network mode to be used with Azure CNI. Possible values are bridge and transparent. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetworkMode *string `json:"networkMode,omitempty" tf:"network_mode,omitempty"`

	// Network plugin to use for networking. Currently supported values are azure, kubenet and none. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	NetworkPlugin *string `json:"networkPlugin" tf:"network_plugin,omitempty"`

	// Specifies the network plugin mode used for building the Kubernetes network. Possible value is overlay.
	// +kubebuilder:validation:Optional
	NetworkPluginMode *string `json:"networkPluginMode,omitempty" tf:"network_plugin_mode,omitempty"`

	// Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico, azure and cilium.
	// +kubebuilder:validation:Optional
	NetworkPolicy *string `json:"networkPolicy,omitempty" tf:"network_policy,omitempty"`

	// The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.
	// +kubebuilder:validation:Optional
	// +listType=set
	OutboundIPAddressIds []*string `json:"outboundIpAddressIds,omitempty" tf:"outbound_ip_address_ids,omitempty"`

	// The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.
	// +kubebuilder:validation:Optional
	// +listType=set
	OutboundIPPrefixIds []*string `json:"outboundIpPrefixIds,omitempty" tf:"outbound_ip_prefix_ids,omitempty"`

	// The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer, userDefinedRouting, managedNATGateway and userAssignedNATGateway. Defaults to loadBalancer. More information on supported migration paths for outbound_type can be found in this documentation.
	// +kubebuilder:validation:Optional
	OutboundType *string `json:"outboundType,omitempty" tf:"outbound_type,omitempty"`

	// The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet or network_plugin_mode is set to overlay. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PodCidr *string `json:"podCidr,omitempty" tf:"pod_cidr,omitempty"`

	// A list of CIDRs to use for pod IP addresses. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PodCidrs []*string `json:"podCidrs,omitempty" tf:"pod_cidrs,omitempty"`

	// The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ServiceCidr *string `json:"serviceCidr,omitempty" tf:"service_cidr,omitempty"`

	// A list of CIDRs to use for Kubernetes services. For single-stack networking a single IPv4 CIDR is expected. For dual-stack networking an IPv4 and IPv6 CIDR are expected. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	ServiceCidrs []*string `json:"serviceCidrs,omitempty" tf:"service_cidrs,omitempty"`
}

func (*NetworkProfileParameters) DeepCopy

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

func (*NetworkProfileParameters) DeepCopyInto

func (in *NetworkProfileParameters) DeepCopyInto(out *NetworkProfileParameters)

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

type NodeNetworkProfileAllowedHostPortsInitParameters

type NodeNetworkProfileAllowedHostPortsInitParameters struct {

	// Specifies the end of the port range.
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*NodeNetworkProfileAllowedHostPortsInitParameters) DeepCopy

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

func (*NodeNetworkProfileAllowedHostPortsInitParameters) DeepCopyInto

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

type NodeNetworkProfileAllowedHostPortsObservation

type NodeNetworkProfileAllowedHostPortsObservation struct {

	// Specifies the end of the port range.
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*NodeNetworkProfileAllowedHostPortsObservation) DeepCopy

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

func (*NodeNetworkProfileAllowedHostPortsObservation) DeepCopyInto

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

type NodeNetworkProfileAllowedHostPortsParameters

type NodeNetworkProfileAllowedHostPortsParameters struct {

	// Specifies the end of the port range.
	// +kubebuilder:validation:Optional
	PortEnd *float64 `json:"portEnd,omitempty" tf:"port_end,omitempty"`

	// Specifies the start of the port range.
	// +kubebuilder:validation:Optional
	PortStart *float64 `json:"portStart,omitempty" tf:"port_start,omitempty"`

	// Specifies the protocol of the port range. Possible values are TCP and UDP.
	// +kubebuilder:validation:Optional
	Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
}

func (*NodeNetworkProfileAllowedHostPortsParameters) DeepCopy

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

func (*NodeNetworkProfileAllowedHostPortsParameters) DeepCopyInto

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

type NodeNetworkProfileInitParameters

type NodeNetworkProfileInitParameters struct {

	// One or more allowed_host_ports blocks as defined below.
	AllowedHostPorts []AllowedHostPortsInitParameters `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*NodeNetworkProfileInitParameters) DeepCopy

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

func (*NodeNetworkProfileInitParameters) DeepCopyInto

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

type NodeNetworkProfileObservation

type NodeNetworkProfileObservation struct {

	// One or more allowed_host_ports blocks as defined below.
	AllowedHostPorts []AllowedHostPortsObservation `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*NodeNetworkProfileObservation) DeepCopy

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

func (*NodeNetworkProfileObservation) DeepCopyInto

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

type NodeNetworkProfileParameters

type NodeNetworkProfileParameters struct {

	// One or more allowed_host_ports blocks as defined below.
	// +kubebuilder:validation:Optional
	AllowedHostPorts []AllowedHostPortsParameters `json:"allowedHostPorts,omitempty" tf:"allowed_host_ports,omitempty"`

	// A list of Application Security Group IDs which should be associated with this Node Pool.
	// +kubebuilder:validation:Optional
	ApplicationSecurityGroupIds []*string `json:"applicationSecurityGroupIds,omitempty" tf:"application_security_group_ids,omitempty"`

	// Specifies a mapping of tags to the instance-level public IPs. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	NodePublicIPTags map[string]*string `json:"nodePublicIpTags,omitempty" tf:"node_public_ip_tags,omitempty"`
}

func (*NodeNetworkProfileParameters) DeepCopy

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

func (*NodeNetworkProfileParameters) DeepCopyInto

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

type NotAllowedInitParameters

type NotAllowedInitParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*NotAllowedInitParameters) DeepCopy

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

func (*NotAllowedInitParameters) DeepCopyInto

func (in *NotAllowedInitParameters) DeepCopyInto(out *NotAllowedInitParameters)

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

type NotAllowedObservation

type NotAllowedObservation struct {

	// The end of a time span, formatted as an RFC3339 string.
	End *string `json:"end,omitempty" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	Start *string `json:"start,omitempty" tf:"start,omitempty"`
}

func (*NotAllowedObservation) DeepCopy

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

func (*NotAllowedObservation) DeepCopyInto

func (in *NotAllowedObservation) DeepCopyInto(out *NotAllowedObservation)

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

type NotAllowedParameters

type NotAllowedParameters struct {

	// The end of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	End *string `json:"end" tf:"end,omitempty"`

	// The start of a time span, formatted as an RFC3339 string.
	// +kubebuilder:validation:Optional
	Start *string `json:"start" tf:"start,omitempty"`
}

func (*NotAllowedParameters) DeepCopy

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

func (*NotAllowedParameters) DeepCopyInto

func (in *NotAllowedParameters) DeepCopyInto(out *NotAllowedParameters)

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

type OmsAgentIdentityInitParameters

type OmsAgentIdentityInitParameters struct {
}

func (*OmsAgentIdentityInitParameters) DeepCopy

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

func (*OmsAgentIdentityInitParameters) DeepCopyInto

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

type OmsAgentIdentityObservation

type OmsAgentIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity used by the OMS Agents.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity used by the OMS Agents.
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity used by the OMS Agents.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*OmsAgentIdentityObservation) DeepCopy

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

func (*OmsAgentIdentityObservation) DeepCopyInto

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

type OmsAgentIdentityParameters

type OmsAgentIdentityParameters struct {
}

func (*OmsAgentIdentityParameters) DeepCopy

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

func (*OmsAgentIdentityParameters) DeepCopyInto

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

type OmsAgentInitParameters

type OmsAgentInitParameters struct {

	// The ID of the Log Analytics Workspace which the OMS Agent should send data to.
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId,omitempty" tf:"log_analytics_workspace_id,omitempty"`

	// Is managed identity authentication for monitoring enabled?
	MsiAuthForMonitoringEnabled *bool `json:"msiAuthForMonitoringEnabled,omitempty" tf:"msi_auth_for_monitoring_enabled,omitempty"`
}

func (*OmsAgentInitParameters) DeepCopy

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

func (*OmsAgentInitParameters) DeepCopyInto

func (in *OmsAgentInitParameters) DeepCopyInto(out *OmsAgentInitParameters)

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

type OmsAgentObservation

type OmsAgentObservation struct {

	// The ID of the Log Analytics Workspace which the OMS Agent should send data to.
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId,omitempty" tf:"log_analytics_workspace_id,omitempty"`

	// Is managed identity authentication for monitoring enabled?
	MsiAuthForMonitoringEnabled *bool `json:"msiAuthForMonitoringEnabled,omitempty" tf:"msi_auth_for_monitoring_enabled,omitempty"`

	// An oms_agent_identity block is exported. The exported attributes are defined below.
	OmsAgentIdentity []OmsAgentIdentityObservation `json:"omsAgentIdentity,omitempty" tf:"oms_agent_identity,omitempty"`
}

func (*OmsAgentObservation) DeepCopy

func (in *OmsAgentObservation) DeepCopy() *OmsAgentObservation

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

func (*OmsAgentObservation) DeepCopyInto

func (in *OmsAgentObservation) DeepCopyInto(out *OmsAgentObservation)

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

type OmsAgentParameters

type OmsAgentParameters struct {

	// The ID of the Log Analytics Workspace which the OMS Agent should send data to.
	// +kubebuilder:validation:Optional
	LogAnalyticsWorkspaceID *string `json:"logAnalyticsWorkspaceId" tf:"log_analytics_workspace_id,omitempty"`

	// Is managed identity authentication for monitoring enabled?
	// +kubebuilder:validation:Optional
	MsiAuthForMonitoringEnabled *bool `json:"msiAuthForMonitoringEnabled,omitempty" tf:"msi_auth_for_monitoring_enabled,omitempty"`
}

func (*OmsAgentParameters) DeepCopy

func (in *OmsAgentParameters) DeepCopy() *OmsAgentParameters

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

func (*OmsAgentParameters) DeepCopyInto

func (in *OmsAgentParameters) DeepCopyInto(out *OmsAgentParameters)

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

type SSHKeyInitParameters

type SSHKeyInitParameters struct {

	// The Public SSH Key used to access the cluster.
	KeyData *string `json:"keyData,omitempty" tf:"key_data,omitempty"`
}

func (*SSHKeyInitParameters) DeepCopy

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

func (*SSHKeyInitParameters) DeepCopyInto

func (in *SSHKeyInitParameters) DeepCopyInto(out *SSHKeyInitParameters)

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

type SSHKeyObservation

type SSHKeyObservation struct {

	// The Public SSH Key used to access the cluster.
	KeyData *string `json:"keyData,omitempty" tf:"key_data,omitempty"`
}

func (*SSHKeyObservation) DeepCopy

func (in *SSHKeyObservation) DeepCopy() *SSHKeyObservation

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

func (*SSHKeyObservation) DeepCopyInto

func (in *SSHKeyObservation) DeepCopyInto(out *SSHKeyObservation)

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

type SSHKeyParameters

type SSHKeyParameters struct {

	// The Public SSH Key used to access the cluster.
	// +kubebuilder:validation:Optional
	KeyData *string `json:"keyData" tf:"key_data,omitempty"`
}

func (*SSHKeyParameters) DeepCopy

func (in *SSHKeyParameters) DeepCopy() *SSHKeyParameters

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

func (*SSHKeyParameters) DeepCopyInto

func (in *SSHKeyParameters) DeepCopyInto(out *SSHKeyParameters)

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

type SecretIdentityInitParameters

type SecretIdentityInitParameters struct {
}

func (*SecretIdentityInitParameters) DeepCopy

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

func (*SecretIdentityInitParameters) DeepCopyInto

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

type SecretIdentityObservation

type SecretIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity used by the Secret Provider.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity used by the Secret Provider.
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity used by the Secret Provider.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*SecretIdentityObservation) DeepCopy

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

func (*SecretIdentityObservation) DeepCopyInto

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

type SecretIdentityParameters

type SecretIdentityParameters struct {
}

func (*SecretIdentityParameters) DeepCopy

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

func (*SecretIdentityParameters) DeepCopyInto

func (in *SecretIdentityParameters) DeepCopyInto(out *SecretIdentityParameters)

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

type ServiceMeshProfileInitParameters

type ServiceMeshProfileInitParameters struct {

	// Is Istio External Ingress Gateway enabled?
	ExternalIngressGatewayEnabled *bool `json:"externalIngressGatewayEnabled,omitempty" tf:"external_ingress_gateway_enabled,omitempty"`

	// Is Istio Internal Ingress Gateway enabled?
	InternalIngressGatewayEnabled *bool `json:"internalIngressGatewayEnabled,omitempty" tf:"internal_ingress_gateway_enabled,omitempty"`

	// The mode of the service mesh. Possible value is Istio.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
}

func (*ServiceMeshProfileInitParameters) DeepCopy

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

func (*ServiceMeshProfileInitParameters) DeepCopyInto

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

type ServiceMeshProfileObservation

type ServiceMeshProfileObservation struct {

	// Is Istio External Ingress Gateway enabled?
	ExternalIngressGatewayEnabled *bool `json:"externalIngressGatewayEnabled,omitempty" tf:"external_ingress_gateway_enabled,omitempty"`

	// Is Istio Internal Ingress Gateway enabled?
	InternalIngressGatewayEnabled *bool `json:"internalIngressGatewayEnabled,omitempty" tf:"internal_ingress_gateway_enabled,omitempty"`

	// The mode of the service mesh. Possible value is Istio.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`
}

func (*ServiceMeshProfileObservation) DeepCopy

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

func (*ServiceMeshProfileObservation) DeepCopyInto

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

type ServiceMeshProfileParameters

type ServiceMeshProfileParameters struct {

	// Is Istio External Ingress Gateway enabled?
	// +kubebuilder:validation:Optional
	ExternalIngressGatewayEnabled *bool `json:"externalIngressGatewayEnabled,omitempty" tf:"external_ingress_gateway_enabled,omitempty"`

	// Is Istio Internal Ingress Gateway enabled?
	// +kubebuilder:validation:Optional
	InternalIngressGatewayEnabled *bool `json:"internalIngressGatewayEnabled,omitempty" tf:"internal_ingress_gateway_enabled,omitempty"`

	// The mode of the service mesh. Possible value is Istio.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode" tf:"mode,omitempty"`
}

func (*ServiceMeshProfileParameters) DeepCopy

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

func (*ServiceMeshProfileParameters) DeepCopyInto

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

type ServicePrincipalInitParameters

type ServicePrincipalInitParameters struct {

	// The Client ID for the Service Principal.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Client Secret for the Service Principal.
	ClientSecretSecretRef v1.SecretKeySelector `json:"clientSecretSecretRef" tf:"-"`
}

func (*ServicePrincipalInitParameters) DeepCopy

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

func (*ServicePrincipalInitParameters) DeepCopyInto

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

type ServicePrincipalObservation

type ServicePrincipalObservation struct {

	// The Client ID for the Service Principal.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`
}

func (*ServicePrincipalObservation) DeepCopy

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

func (*ServicePrincipalObservation) DeepCopyInto

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

type ServicePrincipalParameters

type ServicePrincipalParameters struct {

	// The Client ID for the Service Principal.
	// +kubebuilder:validation:Optional
	ClientID *string `json:"clientId" tf:"client_id,omitempty"`

	// The Client Secret for the Service Principal.
	// +kubebuilder:validation:Optional
	ClientSecretSecretRef v1.SecretKeySelector `json:"clientSecretSecretRef" tf:"-"`
}

func (*ServicePrincipalParameters) DeepCopy

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

func (*ServicePrincipalParameters) DeepCopyInto

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

type StorageProfileInitParameters

type StorageProfileInitParameters struct {

	// Is the Blob CSI driver enabled? Defaults to false.
	BlobDriverEnabled *bool `json:"blobDriverEnabled,omitempty" tf:"blob_driver_enabled,omitempty"`

	// Is the Disk CSI driver enabled? Defaults to true.
	DiskDriverEnabled *bool `json:"diskDriverEnabled,omitempty" tf:"disk_driver_enabled,omitempty"`

	// Disk CSI Driver version to be used. Possible values are v1 and v2. Defaults to v1.
	DiskDriverVersion *string `json:"diskDriverVersion,omitempty" tf:"disk_driver_version,omitempty"`

	// Is the File CSI driver enabled? Defaults to true.
	FileDriverEnabled *bool `json:"fileDriverEnabled,omitempty" tf:"file_driver_enabled,omitempty"`

	// Is the Snapshot Controller enabled? Defaults to true.
	SnapshotControllerEnabled *bool `json:"snapshotControllerEnabled,omitempty" tf:"snapshot_controller_enabled,omitempty"`
}

func (*StorageProfileInitParameters) DeepCopy

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

func (*StorageProfileInitParameters) DeepCopyInto

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

type StorageProfileObservation

type StorageProfileObservation struct {

	// Is the Blob CSI driver enabled? Defaults to false.
	BlobDriverEnabled *bool `json:"blobDriverEnabled,omitempty" tf:"blob_driver_enabled,omitempty"`

	// Is the Disk CSI driver enabled? Defaults to true.
	DiskDriverEnabled *bool `json:"diskDriverEnabled,omitempty" tf:"disk_driver_enabled,omitempty"`

	// Disk CSI Driver version to be used. Possible values are v1 and v2. Defaults to v1.
	DiskDriverVersion *string `json:"diskDriverVersion,omitempty" tf:"disk_driver_version,omitempty"`

	// Is the File CSI driver enabled? Defaults to true.
	FileDriverEnabled *bool `json:"fileDriverEnabled,omitempty" tf:"file_driver_enabled,omitempty"`

	// Is the Snapshot Controller enabled? Defaults to true.
	SnapshotControllerEnabled *bool `json:"snapshotControllerEnabled,omitempty" tf:"snapshot_controller_enabled,omitempty"`
}

func (*StorageProfileObservation) DeepCopy

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

func (*StorageProfileObservation) DeepCopyInto

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

type StorageProfileParameters

type StorageProfileParameters struct {

	// Is the Blob CSI driver enabled? Defaults to false.
	// +kubebuilder:validation:Optional
	BlobDriverEnabled *bool `json:"blobDriverEnabled,omitempty" tf:"blob_driver_enabled,omitempty"`

	// Is the Disk CSI driver enabled? Defaults to true.
	// +kubebuilder:validation:Optional
	DiskDriverEnabled *bool `json:"diskDriverEnabled,omitempty" tf:"disk_driver_enabled,omitempty"`

	// Disk CSI Driver version to be used. Possible values are v1 and v2. Defaults to v1.
	// +kubebuilder:validation:Optional
	DiskDriverVersion *string `json:"diskDriverVersion,omitempty" tf:"disk_driver_version,omitempty"`

	// Is the File CSI driver enabled? Defaults to true.
	// +kubebuilder:validation:Optional
	FileDriverEnabled *bool `json:"fileDriverEnabled,omitempty" tf:"file_driver_enabled,omitempty"`

	// Is the Snapshot Controller enabled? Defaults to true.
	// +kubebuilder:validation:Optional
	SnapshotControllerEnabled *bool `json:"snapshotControllerEnabled,omitempty" tf:"snapshot_controller_enabled,omitempty"`
}

func (*StorageProfileParameters) DeepCopy

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

func (*StorageProfileParameters) DeepCopyInto

func (in *StorageProfileParameters) DeepCopyInto(out *StorageProfileParameters)

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

type SysctlConfigInitParameters

type SysctlConfigInitParameters struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500.
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500.
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152.
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500.
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785.
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000.
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304.
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728.
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728.
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000.
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728.
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728.
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535.
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999.
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000.
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000.
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000.
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120.
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90.
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15.
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000.
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000.
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000.
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// The sysctl setting net.ipv4.tcp_tw_reuse.
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288.
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152.
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100.
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100.
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*SysctlConfigInitParameters) DeepCopy

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

func (*SysctlConfigInitParameters) DeepCopyInto

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

type SysctlConfigObservation

type SysctlConfigObservation struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500.
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500.
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152.
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500.
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785.
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000.
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304.
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728.
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728.
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000.
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728.
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728.
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535.
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999.
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000.
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000.
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000.
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120.
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90.
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15.
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000.
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000.
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000.
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// The sysctl setting net.ipv4.tcp_tw_reuse.
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288.
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152.
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144.
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100.
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100.
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*SysctlConfigObservation) DeepCopy

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

func (*SysctlConfigObservation) DeepCopyInto

func (in *SysctlConfigObservation) DeepCopyInto(out *SysctlConfigObservation)

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

type SysctlConfigParameters

type SysctlConfigParameters struct {

	// The sysctl setting fs.aio-max-nr. Must be between 65536 and 6553500.
	// +kubebuilder:validation:Optional
	FsAioMaxNr *float64 `json:"fsAioMaxNr,omitempty" tf:"fs_aio_max_nr,omitempty"`

	// The sysctl setting fs.file-max. Must be between 8192 and 12000500.
	// +kubebuilder:validation:Optional
	FsFileMax *float64 `json:"fsFileMax,omitempty" tf:"fs_file_max,omitempty"`

	// The sysctl setting fs.inotify.max_user_watches. Must be between 781250 and 2097152.
	// +kubebuilder:validation:Optional
	FsInotifyMaxUserWatches *float64 `json:"fsInotifyMaxUserWatches,omitempty" tf:"fs_inotify_max_user_watches,omitempty"`

	// The sysctl setting fs.nr_open. Must be between 8192 and 20000500.
	// +kubebuilder:validation:Optional
	FsNrOpen *float64 `json:"fsNrOpen,omitempty" tf:"fs_nr_open,omitempty"`

	// The sysctl setting kernel.threads-max. Must be between 20 and 513785.
	// +kubebuilder:validation:Optional
	KernelThreadsMax *float64 `json:"kernelThreadsMax,omitempty" tf:"kernel_threads_max,omitempty"`

	// The sysctl setting net.core.netdev_max_backlog. Must be between 1000 and 3240000.
	// +kubebuilder:validation:Optional
	NetCoreNetdevMaxBacklog *float64 `json:"netCoreNetdevMaxBacklog,omitempty" tf:"net_core_netdev_max_backlog,omitempty"`

	// The sysctl setting net.core.optmem_max. Must be between 20480 and 4194304.
	// +kubebuilder:validation:Optional
	NetCoreOptmemMax *float64 `json:"netCoreOptmemMax,omitempty" tf:"net_core_optmem_max,omitempty"`

	// The sysctl setting net.core.rmem_default. Must be between 212992 and 134217728.
	// +kubebuilder:validation:Optional
	NetCoreRmemDefault *float64 `json:"netCoreRmemDefault,omitempty" tf:"net_core_rmem_default,omitempty"`

	// The sysctl setting net.core.rmem_max. Must be between 212992 and 134217728.
	// +kubebuilder:validation:Optional
	NetCoreRmemMax *float64 `json:"netCoreRmemMax,omitempty" tf:"net_core_rmem_max,omitempty"`

	// The sysctl setting net.core.somaxconn. Must be between 4096 and 3240000.
	// +kubebuilder:validation:Optional
	NetCoreSomaxconn *float64 `json:"netCoreSomaxconn,omitempty" tf:"net_core_somaxconn,omitempty"`

	// The sysctl setting net.core.wmem_default. Must be between 212992 and 134217728.
	// +kubebuilder:validation:Optional
	NetCoreWmemDefault *float64 `json:"netCoreWmemDefault,omitempty" tf:"net_core_wmem_default,omitempty"`

	// The sysctl setting net.core.wmem_max. Must be between 212992 and 134217728.
	// +kubebuilder:validation:Optional
	NetCoreWmemMax *float64 `json:"netCoreWmemMax,omitempty" tf:"net_core_wmem_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range max value. Must be between 32768 and 65535.
	// +kubebuilder:validation:Optional
	NetIPv4IPLocalPortRangeMax *float64 `json:"netIpv4IpLocalPortRangeMax,omitempty" tf:"net_ipv4_ip_local_port_range_max,omitempty"`

	// The sysctl setting net.ipv4.ip_local_port_range min value. Must be between 1024 and 60999.
	// +kubebuilder:validation:Optional
	NetIPv4IPLocalPortRangeMin *float64 `json:"netIpv4IpLocalPortRangeMin,omitempty" tf:"net_ipv4_ip_local_port_range_min,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between 128 and 80000.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh1 *float64 `json:"netIpv4NeighDefaultGcThresh1,omitempty" tf:"net_ipv4_neigh_default_gc_thresh1,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between 512 and 90000.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh2 *float64 `json:"netIpv4NeighDefaultGcThresh2,omitempty" tf:"net_ipv4_neigh_default_gc_thresh2,omitempty"`

	// The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between 1024 and 100000.
	// +kubebuilder:validation:Optional
	NetIPv4NeighDefaultGcThresh3 *float64 `json:"netIpv4NeighDefaultGcThresh3,omitempty" tf:"net_ipv4_neigh_default_gc_thresh3,omitempty"`

	// The sysctl setting net.ipv4.tcp_fin_timeout. Must be between 5 and 120.
	// +kubebuilder:validation:Optional
	NetIPv4TCPFinTimeout *float64 `json:"netIpv4TcpFinTimeout,omitempty" tf:"net_ipv4_tcp_fin_timeout,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between 10 and 90.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveIntvl *float64 `json:"netIpv4TcpKeepaliveIntvl,omitempty" tf:"net_ipv4_tcp_keepalive_intvl,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between 1 and 15.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveProbes *float64 `json:"netIpv4TcpKeepaliveProbes,omitempty" tf:"net_ipv4_tcp_keepalive_probes,omitempty"`

	// The sysctl setting net.ipv4.tcp_keepalive_time. Must be between 30 and 432000.
	// +kubebuilder:validation:Optional
	NetIPv4TCPKeepaliveTime *float64 `json:"netIpv4TcpKeepaliveTime,omitempty" tf:"net_ipv4_tcp_keepalive_time,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between 128 and 3240000.
	// +kubebuilder:validation:Optional
	NetIPv4TCPMaxSynBacklog *float64 `json:"netIpv4TcpMaxSynBacklog,omitempty" tf:"net_ipv4_tcp_max_syn_backlog,omitempty"`

	// The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between 8000 and 1440000.
	// +kubebuilder:validation:Optional
	NetIPv4TCPMaxTwBuckets *float64 `json:"netIpv4TcpMaxTwBuckets,omitempty" tf:"net_ipv4_tcp_max_tw_buckets,omitempty"`

	// The sysctl setting net.ipv4.tcp_tw_reuse.
	// +kubebuilder:validation:Optional
	NetIPv4TCPTwReuse *bool `json:"netIpv4TcpTwReuse,omitempty" tf:"net_ipv4_tcp_tw_reuse,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between 65536 and 524288.
	// +kubebuilder:validation:Optional
	NetNetfilterNfConntrackBuckets *float64 `json:"netNetfilterNfConntrackBuckets,omitempty" tf:"net_netfilter_nf_conntrack_buckets,omitempty"`

	// The sysctl setting net.netfilter.nf_conntrack_max. Must be between 131072 and 2097152.
	// +kubebuilder:validation:Optional
	NetNetfilterNfConntrackMax *float64 `json:"netNetfilterNfConntrackMax,omitempty" tf:"net_netfilter_nf_conntrack_max,omitempty"`

	// The sysctl setting vm.max_map_count. Must be between 65530 and 262144.
	// +kubebuilder:validation:Optional
	VMMaxMapCount *float64 `json:"vmMaxMapCount,omitempty" tf:"vm_max_map_count,omitempty"`

	// The sysctl setting vm.swappiness. Must be between 0 and 100.
	// +kubebuilder:validation:Optional
	VMSwappiness *float64 `json:"vmSwappiness,omitempty" tf:"vm_swappiness,omitempty"`

	// The sysctl setting vm.vfs_cache_pressure. Must be between 0 and 100.
	// +kubebuilder:validation:Optional
	VMVfsCachePressure *float64 `json:"vmVfsCachePressure,omitempty" tf:"vm_vfs_cache_pressure,omitempty"`
}

func (*SysctlConfigParameters) DeepCopy

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

func (*SysctlConfigParameters) DeepCopyInto

func (in *SysctlConfigParameters) DeepCopyInto(out *SysctlConfigParameters)

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

type UpgradeSettingsInitParameters

type UpgradeSettingsInitParameters struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	MaxSurge *string `json:"maxSurge,omitempty" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*UpgradeSettingsInitParameters) DeepCopy

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

func (*UpgradeSettingsInitParameters) DeepCopyInto

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

type UpgradeSettingsObservation

type UpgradeSettingsObservation struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	MaxSurge *string `json:"maxSurge,omitempty" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*UpgradeSettingsObservation) DeepCopy

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

func (*UpgradeSettingsObservation) DeepCopyInto

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

type UpgradeSettingsParameters

type UpgradeSettingsParameters struct {

	// The amount of time in minutes to wait on eviction of pods and graceful termination per node. This eviction wait time honors pod disruption budgets for upgrades. If this time is exceeded, the upgrade fails. Unsetting this after configuring it will force a new resource to be created.
	// +kubebuilder:validation:Optional
	DrainTimeoutInMinutes *float64 `json:"drainTimeoutInMinutes,omitempty" tf:"drain_timeout_in_minutes,omitempty"`

	// The maximum number or percentage of nodes which will be added to the Node Pool size during an upgrade.
	// +kubebuilder:validation:Optional
	MaxSurge *string `json:"maxSurge" tf:"max_surge,omitempty"`

	// The amount of time in minutes to wait after draining a node and before reimaging and moving on to next node. Defaults to 0.
	// +kubebuilder:validation:Optional
	NodeSoakDurationInMinutes *float64 `json:"nodeSoakDurationInMinutes,omitempty" tf:"node_soak_duration_in_minutes,omitempty"`
}

func (*UpgradeSettingsParameters) DeepCopy

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

func (*UpgradeSettingsParameters) DeepCopyInto

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

type WebAppRoutingIdentityInitParameters

type WebAppRoutingIdentityInitParameters struct {
}

func (*WebAppRoutingIdentityInitParameters) DeepCopy

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

func (*WebAppRoutingIdentityInitParameters) DeepCopyInto

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

type WebAppRoutingIdentityObservation

type WebAppRoutingIdentityObservation struct {

	// The Client ID of the user-defined Managed Identity used for Web App Routing.
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// The Object ID of the user-defined Managed Identity used for Web App Routing
	ObjectID *string `json:"objectId,omitempty" tf:"object_id,omitempty"`

	// The ID of the User Assigned Identity used for Web App Routing.
	UserAssignedIdentityID *string `json:"userAssignedIdentityId,omitempty" tf:"user_assigned_identity_id,omitempty"`
}

func (*WebAppRoutingIdentityObservation) DeepCopy

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

func (*WebAppRoutingIdentityObservation) DeepCopyInto

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

type WebAppRoutingIdentityParameters

type WebAppRoutingIdentityParameters struct {
}

func (*WebAppRoutingIdentityParameters) DeepCopy

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

func (*WebAppRoutingIdentityParameters) DeepCopyInto

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

type WebAppRoutingInitParameters

type WebAppRoutingInitParameters struct {

	// The Kubernetes Managed Cluster ID.
	DNSZoneID *string `json:"dnsZoneId,omitempty" tf:"dns_zone_id,omitempty"`

	// Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
	DNSZoneIds []*string `json:"dnsZoneIds,omitempty" tf:"dns_zone_ids,omitempty"`
}

func (*WebAppRoutingInitParameters) DeepCopy

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

func (*WebAppRoutingInitParameters) DeepCopyInto

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

type WebAppRoutingObservation

type WebAppRoutingObservation struct {

	// The Kubernetes Managed Cluster ID.
	DNSZoneID *string `json:"dnsZoneId,omitempty" tf:"dns_zone_id,omitempty"`

	// Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
	DNSZoneIds []*string `json:"dnsZoneIds,omitempty" tf:"dns_zone_ids,omitempty"`

	// A web_app_routing_identity block is exported. The exported attributes are defined below.
	WebAppRoutingIdentity []WebAppRoutingIdentityObservation `json:"webAppRoutingIdentity,omitempty" tf:"web_app_routing_identity,omitempty"`
}

func (*WebAppRoutingObservation) DeepCopy

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

func (*WebAppRoutingObservation) DeepCopyInto

func (in *WebAppRoutingObservation) DeepCopyInto(out *WebAppRoutingObservation)

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

type WebAppRoutingParameters

type WebAppRoutingParameters struct {

	// The Kubernetes Managed Cluster ID.
	// +kubebuilder:validation:Optional
	DNSZoneID *string `json:"dnsZoneId,omitempty" tf:"dns_zone_id,omitempty"`

	// Specifies the list of the DNS Zone IDs in which DNS entries are created for applications deployed to the cluster when Web App Routing is enabled. If not using Bring-Your-Own DNS zones this property should be set to an empty list.
	// +kubebuilder:validation:Optional
	DNSZoneIds []*string `json:"dnsZoneIds,omitempty" tf:"dns_zone_ids,omitempty"`
}

func (*WebAppRoutingParameters) DeepCopy

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

func (*WebAppRoutingParameters) DeepCopyInto

func (in *WebAppRoutingParameters) DeepCopyInto(out *WebAppRoutingParameters)

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

type WindowsProfileInitParameters

type WindowsProfileInitParameters struct {

	// The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// The Admin Username for Windows VMs. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// A gmsa block as defined below.
	Gmsa *GmsaInitParameters `json:"gmsa,omitempty" tf:"gmsa,omitempty"`

	// Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
	License *string `json:"license,omitempty" tf:"license,omitempty"`
}

func (*WindowsProfileInitParameters) DeepCopy

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

func (*WindowsProfileInitParameters) DeepCopyInto

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

type WindowsProfileObservation

type WindowsProfileObservation struct {

	// The Admin Username for Windows VMs. Changing this forces a new resource to be created.
	AdminUsername *string `json:"adminUsername,omitempty" tf:"admin_username,omitempty"`

	// A gmsa block as defined below.
	Gmsa *GmsaObservation `json:"gmsa,omitempty" tf:"gmsa,omitempty"`

	// Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
	License *string `json:"license,omitempty" tf:"license,omitempty"`
}

func (*WindowsProfileObservation) DeepCopy

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

func (*WindowsProfileObservation) DeepCopyInto

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

type WindowsProfileParameters

type WindowsProfileParameters struct {

	// The Admin Password for Windows VMs. Length must be between 14 and 123 characters.
	// +kubebuilder:validation:Optional
	AdminPasswordSecretRef *v1.SecretKeySelector `json:"adminPasswordSecretRef,omitempty" tf:"-"`

	// The Admin Username for Windows VMs. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	AdminUsername *string `json:"adminUsername" tf:"admin_username,omitempty"`

	// A gmsa block as defined below.
	// +kubebuilder:validation:Optional
	Gmsa *GmsaParameters `json:"gmsa,omitempty" tf:"gmsa,omitempty"`

	// Specifies the type of on-premise license which should be used for Node Pool Windows Virtual Machine. At this time the only possible value is Windows_Server.
	// +kubebuilder:validation:Optional
	License *string `json:"license,omitempty" tf:"license,omitempty"`
}

func (*WindowsProfileParameters) DeepCopy

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

func (*WindowsProfileParameters) DeepCopyInto

func (in *WindowsProfileParameters) DeepCopyInto(out *WindowsProfileParameters)

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

type WorkloadAutoscalerProfileInitParameters

type WorkloadAutoscalerProfileInitParameters struct {

	// Specifies whether KEDA Autoscaler can be used for workloads.
	KedaEnabled *bool `json:"kedaEnabled,omitempty" tf:"keda_enabled,omitempty"`

	// Specifies whether Vertical Pod Autoscaler should be enabled.
	VerticalPodAutoscalerEnabled *bool `json:"verticalPodAutoscalerEnabled,omitempty" tf:"vertical_pod_autoscaler_enabled,omitempty"`
}

func (*WorkloadAutoscalerProfileInitParameters) DeepCopy

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

func (*WorkloadAutoscalerProfileInitParameters) DeepCopyInto

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

type WorkloadAutoscalerProfileObservation

type WorkloadAutoscalerProfileObservation struct {

	// Specifies whether KEDA Autoscaler can be used for workloads.
	KedaEnabled *bool `json:"kedaEnabled,omitempty" tf:"keda_enabled,omitempty"`

	VerticalPodAutoscalerControlledValues *string `json:"verticalPodAutoscalerControlledValues,omitempty" tf:"vertical_pod_autoscaler_controlled_values,omitempty"`

	// Specifies whether Vertical Pod Autoscaler should be enabled.
	VerticalPodAutoscalerEnabled *bool `json:"verticalPodAutoscalerEnabled,omitempty" tf:"vertical_pod_autoscaler_enabled,omitempty"`

	VerticalPodAutoscalerUpdateMode *string `json:"verticalPodAutoscalerUpdateMode,omitempty" tf:"vertical_pod_autoscaler_update_mode,omitempty"`
}

func (*WorkloadAutoscalerProfileObservation) DeepCopy

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

func (*WorkloadAutoscalerProfileObservation) DeepCopyInto

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

type WorkloadAutoscalerProfileParameters

type WorkloadAutoscalerProfileParameters struct {

	// Specifies whether KEDA Autoscaler can be used for workloads.
	// +kubebuilder:validation:Optional
	KedaEnabled *bool `json:"kedaEnabled,omitempty" tf:"keda_enabled,omitempty"`

	// Specifies whether Vertical Pod Autoscaler should be enabled.
	// +kubebuilder:validation:Optional
	VerticalPodAutoscalerEnabled *bool `json:"verticalPodAutoscalerEnabled,omitempty" tf:"vertical_pod_autoscaler_enabled,omitempty"`
}

func (*WorkloadAutoscalerProfileParameters) DeepCopy

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

func (*WorkloadAutoscalerProfileParameters) DeepCopyInto

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