kubernetescluster

package
v7.0.8 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2023 License: MPL-2.0 Imports: 7 Imported by: 1

README

azurerm_kubernetes_cluster

Refer to the Terraform Registory for docs: azurerm_kubernetes_cluster.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func KubernetesCluster_IsConstruct

func KubernetesCluster_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func KubernetesCluster_IsTerraformElement

func KubernetesCluster_IsTerraformElement(x interface{}) *bool

Experimental.

func KubernetesCluster_IsTerraformResource

func KubernetesCluster_IsTerraformResource(x interface{}) *bool

Experimental.

func KubernetesCluster_TfResourceType

func KubernetesCluster_TfResourceType() *string

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityList_Override

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityList_Override(k KubernetesClusterAciConnectorLinuxConnectorIdentityList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference_Override

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference_Override(k KubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterAciConnectorLinuxOutputReference_Override

func NewKubernetesClusterAciConnectorLinuxOutputReference_Override(k KubernetesClusterAciConnectorLinuxOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterApiServerAccessProfileOutputReference_Override

func NewKubernetesClusterApiServerAccessProfileOutputReference_Override(k KubernetesClusterApiServerAccessProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterAutoScalerProfileOutputReference_Override

func NewKubernetesClusterAutoScalerProfileOutputReference_Override(k KubernetesClusterAutoScalerProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference_Override

func NewKubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference_Override(k KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterConfidentialComputingOutputReference_Override

func NewKubernetesClusterConfidentialComputingOutputReference_Override(k KubernetesClusterConfidentialComputingOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolKubeletConfigOutputReference_Override

func NewKubernetesClusterDefaultNodePoolKubeletConfigOutputReference_Override(k KubernetesClusterDefaultNodePoolKubeletConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference_Override

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference_Override(k KubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference_Override

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference_Override(k KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference_Override

func NewKubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference_Override(k KubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolOutputReference_Override

func NewKubernetesClusterDefaultNodePoolOutputReference_Override(k KubernetesClusterDefaultNodePoolOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference_Override

func NewKubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference_Override(k KubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterHttpProxyConfigOutputReference_Override

func NewKubernetesClusterHttpProxyConfigOutputReference_Override(k KubernetesClusterHttpProxyConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterIdentityOutputReference_Override

func NewKubernetesClusterIdentityOutputReference_Override(k KubernetesClusterIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList_Override

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList_Override(k KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference_Override

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference_Override(k KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterIngressApplicationGatewayOutputReference_Override

func NewKubernetesClusterIngressApplicationGatewayOutputReference_Override(k KubernetesClusterIngressApplicationGatewayOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterKeyManagementServiceOutputReference_Override

func NewKubernetesClusterKeyManagementServiceOutputReference_Override(k KubernetesClusterKeyManagementServiceOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterKeyVaultSecretsProviderOutputReference_Override

func NewKubernetesClusterKeyVaultSecretsProviderOutputReference_Override(k KubernetesClusterKeyVaultSecretsProviderOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityList_Override

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityList_Override(k KubernetesClusterKeyVaultSecretsProviderSecretIdentityList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference_Override

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference_Override(k KubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterKubeAdminConfigList_Override

func NewKubernetesClusterKubeAdminConfigList_Override(k KubernetesClusterKubeAdminConfigList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterKubeAdminConfigOutputReference_Override

func NewKubernetesClusterKubeAdminConfigOutputReference_Override(k KubernetesClusterKubeAdminConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterKubeConfigList_Override

func NewKubernetesClusterKubeConfigList_Override(k KubernetesClusterKubeConfigList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterKubeConfigOutputReference_Override

func NewKubernetesClusterKubeConfigOutputReference_Override(k KubernetesClusterKubeConfigOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterKubeletIdentityOutputReference_Override

func NewKubernetesClusterKubeletIdentityOutputReference_Override(k KubernetesClusterKubeletIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterLinuxProfileOutputReference_Override

func NewKubernetesClusterLinuxProfileOutputReference_Override(k KubernetesClusterLinuxProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterLinuxProfileSshKeyOutputReference_Override

func NewKubernetesClusterLinuxProfileSshKeyOutputReference_Override(k KubernetesClusterLinuxProfileSshKeyOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterMaintenanceWindowAllowedList_Override

func NewKubernetesClusterMaintenanceWindowAllowedList_Override(k KubernetesClusterMaintenanceWindowAllowedList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterMaintenanceWindowAllowedOutputReference_Override

func NewKubernetesClusterMaintenanceWindowAllowedOutputReference_Override(k KubernetesClusterMaintenanceWindowAllowedOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterMaintenanceWindowNotAllowedList_Override

func NewKubernetesClusterMaintenanceWindowNotAllowedList_Override(k KubernetesClusterMaintenanceWindowNotAllowedList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterMaintenanceWindowNotAllowedOutputReference_Override

func NewKubernetesClusterMaintenanceWindowNotAllowedOutputReference_Override(k KubernetesClusterMaintenanceWindowNotAllowedOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterMaintenanceWindowOutputReference_Override

func NewKubernetesClusterMaintenanceWindowOutputReference_Override(k KubernetesClusterMaintenanceWindowOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterMicrosoftDefenderOutputReference_Override

func NewKubernetesClusterMicrosoftDefenderOutputReference_Override(k KubernetesClusterMicrosoftDefenderOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterMonitorMetricsOutputReference_Override

func NewKubernetesClusterMonitorMetricsOutputReference_Override(k KubernetesClusterMonitorMetricsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterNetworkProfileLoadBalancerProfileOutputReference_Override

func NewKubernetesClusterNetworkProfileLoadBalancerProfileOutputReference_Override(k KubernetesClusterNetworkProfileLoadBalancerProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterNetworkProfileNatGatewayProfileOutputReference_Override

func NewKubernetesClusterNetworkProfileNatGatewayProfileOutputReference_Override(k KubernetesClusterNetworkProfileNatGatewayProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterNetworkProfileOutputReference_Override

func NewKubernetesClusterNetworkProfileOutputReference_Override(k KubernetesClusterNetworkProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterOmsAgentOmsAgentIdentityList_Override

func NewKubernetesClusterOmsAgentOmsAgentIdentityList_Override(k KubernetesClusterOmsAgentOmsAgentIdentityList, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool)

func NewKubernetesClusterOmsAgentOmsAgentIdentityOutputReference_Override

func NewKubernetesClusterOmsAgentOmsAgentIdentityOutputReference_Override(k KubernetesClusterOmsAgentOmsAgentIdentityOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool)

func NewKubernetesClusterOmsAgentOutputReference_Override

func NewKubernetesClusterOmsAgentOutputReference_Override(k KubernetesClusterOmsAgentOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterServiceMeshProfileOutputReference_Override added in v7.0.2

func NewKubernetesClusterServiceMeshProfileOutputReference_Override(k KubernetesClusterServiceMeshProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterServicePrincipalOutputReference_Override

func NewKubernetesClusterServicePrincipalOutputReference_Override(k KubernetesClusterServicePrincipalOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterStorageProfileOutputReference_Override

func NewKubernetesClusterStorageProfileOutputReference_Override(k KubernetesClusterStorageProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterTimeoutsOutputReference_Override

func NewKubernetesClusterTimeoutsOutputReference_Override(k KubernetesClusterTimeoutsOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterWebAppRoutingOutputReference_Override

func NewKubernetesClusterWebAppRoutingOutputReference_Override(k KubernetesClusterWebAppRoutingOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterWindowsProfileGmsaOutputReference_Override

func NewKubernetesClusterWindowsProfileGmsaOutputReference_Override(k KubernetesClusterWindowsProfileGmsaOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterWindowsProfileOutputReference_Override

func NewKubernetesClusterWindowsProfileOutputReference_Override(k KubernetesClusterWindowsProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesClusterWorkloadAutoscalerProfileOutputReference_Override

func NewKubernetesClusterWorkloadAutoscalerProfileOutputReference_Override(k KubernetesClusterWorkloadAutoscalerProfileOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewKubernetesCluster_Override

func NewKubernetesCluster_Override(k KubernetesCluster, scope constructs.Construct, id *string, config *KubernetesClusterConfig)

Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster azurerm_kubernetes_cluster} Resource.

Types

type KubernetesCluster

type KubernetesCluster interface {
	cdktf.TerraformResource
	AciConnectorLinux() KubernetesClusterAciConnectorLinuxOutputReference
	AciConnectorLinuxInput() *KubernetesClusterAciConnectorLinux
	ApiServerAccessProfile() KubernetesClusterApiServerAccessProfileOutputReference
	ApiServerAccessProfileInput() *KubernetesClusterApiServerAccessProfile
	ApiServerAuthorizedIpRanges() *[]*string
	SetApiServerAuthorizedIpRanges(val *[]*string)
	ApiServerAuthorizedIpRangesInput() *[]*string
	AutomaticChannelUpgrade() *string
	SetAutomaticChannelUpgrade(val *string)
	AutomaticChannelUpgradeInput() *string
	AutoScalerProfile() KubernetesClusterAutoScalerProfileOutputReference
	AutoScalerProfileInput() *KubernetesClusterAutoScalerProfile
	AzureActiveDirectoryRoleBasedAccessControl() KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference
	AzureActiveDirectoryRoleBasedAccessControlInput() *KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl
	AzurePolicyEnabled() interface{}
	SetAzurePolicyEnabled(val interface{})
	AzurePolicyEnabledInput() interface{}
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	ConfidentialComputing() KubernetesClusterConfidentialComputingOutputReference
	ConfidentialComputingInput() *KubernetesClusterConfidentialComputing
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	DefaultNodePool() KubernetesClusterDefaultNodePoolOutputReference
	DefaultNodePoolInput() *KubernetesClusterDefaultNodePool
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	DiskEncryptionSetId() *string
	SetDiskEncryptionSetId(val *string)
	DiskEncryptionSetIdInput() *string
	DnsPrefix() *string
	SetDnsPrefix(val *string)
	DnsPrefixInput() *string
	DnsPrefixPrivateCluster() *string
	SetDnsPrefixPrivateCluster(val *string)
	DnsPrefixPrivateClusterInput() *string
	EdgeZone() *string
	SetEdgeZone(val *string)
	EdgeZoneInput() *string
	EnablePodSecurityPolicy() interface{}
	SetEnablePodSecurityPolicy(val interface{})
	EnablePodSecurityPolicyInput() interface{}
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	Fqdn() *string
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	HttpApplicationRoutingEnabled() interface{}
	SetHttpApplicationRoutingEnabled(val interface{})
	HttpApplicationRoutingEnabledInput() interface{}
	HttpApplicationRoutingZoneName() *string
	HttpProxyConfig() KubernetesClusterHttpProxyConfigOutputReference
	HttpProxyConfigInput() *KubernetesClusterHttpProxyConfig
	Id() *string
	SetId(val *string)
	Identity() KubernetesClusterIdentityOutputReference
	IdentityInput() *KubernetesClusterIdentity
	IdInput() *string
	ImageCleanerEnabled() interface{}
	SetImageCleanerEnabled(val interface{})
	ImageCleanerEnabledInput() interface{}
	ImageCleanerIntervalHours() *float64
	SetImageCleanerIntervalHours(val *float64)
	ImageCleanerIntervalHoursInput() *float64
	IngressApplicationGateway() KubernetesClusterIngressApplicationGatewayOutputReference
	IngressApplicationGatewayInput() *KubernetesClusterIngressApplicationGateway
	KeyManagementService() KubernetesClusterKeyManagementServiceOutputReference
	KeyManagementServiceInput() *KubernetesClusterKeyManagementService
	KeyVaultSecretsProvider() KubernetesClusterKeyVaultSecretsProviderOutputReference
	KeyVaultSecretsProviderInput() *KubernetesClusterKeyVaultSecretsProvider
	KubeAdminConfig() KubernetesClusterKubeAdminConfigList
	KubeAdminConfigRaw() *string
	KubeConfig() KubernetesClusterKubeConfigList
	KubeConfigRaw() *string
	KubeletIdentity() KubernetesClusterKubeletIdentityOutputReference
	KubeletIdentityInput() *KubernetesClusterKubeletIdentity
	KubernetesVersion() *string
	SetKubernetesVersion(val *string)
	KubernetesVersionInput() *string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	LinuxProfile() KubernetesClusterLinuxProfileOutputReference
	LinuxProfileInput() *KubernetesClusterLinuxProfile
	LocalAccountDisabled() interface{}
	SetLocalAccountDisabled(val interface{})
	LocalAccountDisabledInput() interface{}
	Location() *string
	SetLocation(val *string)
	LocationInput() *string
	MaintenanceWindow() KubernetesClusterMaintenanceWindowOutputReference
	MaintenanceWindowInput() *KubernetesClusterMaintenanceWindow
	MicrosoftDefender() KubernetesClusterMicrosoftDefenderOutputReference
	MicrosoftDefenderInput() *KubernetesClusterMicrosoftDefender
	MonitorMetrics() KubernetesClusterMonitorMetricsOutputReference
	MonitorMetricsInput() *KubernetesClusterMonitorMetrics
	Name() *string
	SetName(val *string)
	NameInput() *string
	NetworkProfile() KubernetesClusterNetworkProfileOutputReference
	NetworkProfileInput() *KubernetesClusterNetworkProfile
	// The tree node.
	Node() constructs.Node
	NodeResourceGroup() *string
	SetNodeResourceGroup(val *string)
	NodeResourceGroupId() *string
	NodeResourceGroupInput() *string
	OidcIssuerEnabled() interface{}
	SetOidcIssuerEnabled(val interface{})
	OidcIssuerEnabledInput() interface{}
	OidcIssuerUrl() *string
	OmsAgent() KubernetesClusterOmsAgentOutputReference
	OmsAgentInput() *KubernetesClusterOmsAgent
	OpenServiceMeshEnabled() interface{}
	SetOpenServiceMeshEnabled(val interface{})
	OpenServiceMeshEnabledInput() interface{}
	PortalFqdn() *string
	PrivateClusterEnabled() interface{}
	SetPrivateClusterEnabled(val interface{})
	PrivateClusterEnabledInput() interface{}
	PrivateClusterPublicFqdnEnabled() interface{}
	SetPrivateClusterPublicFqdnEnabled(val interface{})
	PrivateClusterPublicFqdnEnabledInput() interface{}
	PrivateDnsZoneId() *string
	SetPrivateDnsZoneId(val *string)
	PrivateDnsZoneIdInput() *string
	PrivateFqdn() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	PublicNetworkAccessEnabled() interface{}
	SetPublicNetworkAccessEnabled(val interface{})
	PublicNetworkAccessEnabledInput() interface{}
	// Experimental.
	RawOverrides() interface{}
	ResourceGroupName() *string
	SetResourceGroupName(val *string)
	ResourceGroupNameInput() *string
	RoleBasedAccessControlEnabled() interface{}
	SetRoleBasedAccessControlEnabled(val interface{})
	RoleBasedAccessControlEnabledInput() interface{}
	RunCommandEnabled() interface{}
	SetRunCommandEnabled(val interface{})
	RunCommandEnabledInput() interface{}
	ServiceMeshProfile() KubernetesClusterServiceMeshProfileOutputReference
	ServiceMeshProfileInput() *KubernetesClusterServiceMeshProfile
	ServicePrincipal() KubernetesClusterServicePrincipalOutputReference
	ServicePrincipalInput() *KubernetesClusterServicePrincipal
	SkuTier() *string
	SetSkuTier(val *string)
	SkuTierInput() *string
	StorageProfile() KubernetesClusterStorageProfileOutputReference
	StorageProfileInput() *KubernetesClusterStorageProfile
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	TagsInput() *map[string]*string
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Timeouts() KubernetesClusterTimeoutsOutputReference
	TimeoutsInput() interface{}
	WebAppRouting() KubernetesClusterWebAppRoutingOutputReference
	WebAppRoutingInput() *KubernetesClusterWebAppRouting
	WindowsProfile() KubernetesClusterWindowsProfileOutputReference
	WindowsProfileInput() *KubernetesClusterWindowsProfile
	WorkloadAutoscalerProfile() KubernetesClusterWorkloadAutoscalerProfileOutputReference
	WorkloadAutoscalerProfileInput() *KubernetesClusterWorkloadAutoscalerProfile
	WorkloadIdentityEnabled() interface{}
	SetWorkloadIdentityEnabled(val interface{})
	WorkloadIdentityEnabledInput() interface{}
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutAciConnectorLinux(value *KubernetesClusterAciConnectorLinux)
	PutApiServerAccessProfile(value *KubernetesClusterApiServerAccessProfile)
	PutAutoScalerProfile(value *KubernetesClusterAutoScalerProfile)
	PutAzureActiveDirectoryRoleBasedAccessControl(value *KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl)
	PutConfidentialComputing(value *KubernetesClusterConfidentialComputing)
	PutDefaultNodePool(value *KubernetesClusterDefaultNodePool)
	PutHttpProxyConfig(value *KubernetesClusterHttpProxyConfig)
	PutIdentity(value *KubernetesClusterIdentity)
	PutIngressApplicationGateway(value *KubernetesClusterIngressApplicationGateway)
	PutKeyManagementService(value *KubernetesClusterKeyManagementService)
	PutKeyVaultSecretsProvider(value *KubernetesClusterKeyVaultSecretsProvider)
	PutKubeletIdentity(value *KubernetesClusterKubeletIdentity)
	PutLinuxProfile(value *KubernetesClusterLinuxProfile)
	PutMaintenanceWindow(value *KubernetesClusterMaintenanceWindow)
	PutMicrosoftDefender(value *KubernetesClusterMicrosoftDefender)
	PutMonitorMetrics(value *KubernetesClusterMonitorMetrics)
	PutNetworkProfile(value *KubernetesClusterNetworkProfile)
	PutOmsAgent(value *KubernetesClusterOmsAgent)
	PutServiceMeshProfile(value *KubernetesClusterServiceMeshProfile)
	PutServicePrincipal(value *KubernetesClusterServicePrincipal)
	PutStorageProfile(value *KubernetesClusterStorageProfile)
	PutTimeouts(value *KubernetesClusterTimeouts)
	PutWebAppRouting(value *KubernetesClusterWebAppRouting)
	PutWindowsProfile(value *KubernetesClusterWindowsProfile)
	PutWorkloadAutoscalerProfile(value *KubernetesClusterWorkloadAutoscalerProfile)
	ResetAciConnectorLinux()
	ResetApiServerAccessProfile()
	ResetApiServerAuthorizedIpRanges()
	ResetAutomaticChannelUpgrade()
	ResetAutoScalerProfile()
	ResetAzureActiveDirectoryRoleBasedAccessControl()
	ResetAzurePolicyEnabled()
	ResetConfidentialComputing()
	ResetDiskEncryptionSetId()
	ResetDnsPrefix()
	ResetDnsPrefixPrivateCluster()
	ResetEdgeZone()
	ResetEnablePodSecurityPolicy()
	ResetHttpApplicationRoutingEnabled()
	ResetHttpProxyConfig()
	ResetId()
	ResetIdentity()
	ResetImageCleanerEnabled()
	ResetImageCleanerIntervalHours()
	ResetIngressApplicationGateway()
	ResetKeyManagementService()
	ResetKeyVaultSecretsProvider()
	ResetKubeletIdentity()
	ResetKubernetesVersion()
	ResetLinuxProfile()
	ResetLocalAccountDisabled()
	ResetMaintenanceWindow()
	ResetMicrosoftDefender()
	ResetMonitorMetrics()
	ResetNetworkProfile()
	ResetNodeResourceGroup()
	ResetOidcIssuerEnabled()
	ResetOmsAgent()
	ResetOpenServiceMeshEnabled()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetPrivateClusterEnabled()
	ResetPrivateClusterPublicFqdnEnabled()
	ResetPrivateDnsZoneId()
	ResetPublicNetworkAccessEnabled()
	ResetRoleBasedAccessControlEnabled()
	ResetRunCommandEnabled()
	ResetServiceMeshProfile()
	ResetServicePrincipal()
	ResetSkuTier()
	ResetStorageProfile()
	ResetTags()
	ResetTimeouts()
	ResetWebAppRouting()
	ResetWindowsProfile()
	ResetWorkloadAutoscalerProfile()
	ResetWorkloadIdentityEnabled()
	SynthesizeAttributes() *map[string]interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster azurerm_kubernetes_cluster}.

func NewKubernetesCluster

func NewKubernetesCluster(scope constructs.Construct, id *string, config *KubernetesClusterConfig) KubernetesCluster

Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster azurerm_kubernetes_cluster} Resource.

type KubernetesClusterAciConnectorLinux

type KubernetesClusterAciConnectorLinux struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#subnet_name KubernetesCluster#subnet_name}.
	SubnetName *string `field:"required" json:"subnetName" yaml:"subnetName"`
}

type KubernetesClusterAciConnectorLinuxConnectorIdentity

type KubernetesClusterAciConnectorLinuxConnectorIdentity struct {
}

type KubernetesClusterAciConnectorLinuxConnectorIdentityList

type KubernetesClusterAciConnectorLinuxConnectorIdentityList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityList

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterAciConnectorLinuxConnectorIdentityList

type KubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference

type KubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterAciConnectorLinuxConnectorIdentity
	SetInternalValue(val *KubernetesClusterAciConnectorLinuxConnectorIdentity)
	ObjectId() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UserAssignedIdentityId() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference

func NewKubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterAciConnectorLinuxConnectorIdentityOutputReference

type KubernetesClusterAciConnectorLinuxOutputReference

type KubernetesClusterAciConnectorLinuxOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	ConnectorIdentity() KubernetesClusterAciConnectorLinuxConnectorIdentityList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterAciConnectorLinux
	SetInternalValue(val *KubernetesClusterAciConnectorLinux)
	SubnetName() *string
	SetSubnetName(val *string)
	SubnetNameInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterAciConnectorLinuxOutputReference

func NewKubernetesClusterAciConnectorLinuxOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterAciConnectorLinuxOutputReference

type KubernetesClusterApiServerAccessProfile

type KubernetesClusterApiServerAccessProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#authorized_ip_ranges KubernetesCluster#authorized_ip_ranges}.
	AuthorizedIpRanges *[]*string `field:"optional" json:"authorizedIpRanges" yaml:"authorizedIpRanges"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#subnet_id KubernetesCluster#subnet_id}.
	SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vnet_integration_enabled KubernetesCluster#vnet_integration_enabled}.
	VnetIntegrationEnabled interface{} `field:"optional" json:"vnetIntegrationEnabled" yaml:"vnetIntegrationEnabled"`
}

type KubernetesClusterApiServerAccessProfileOutputReference

type KubernetesClusterApiServerAccessProfileOutputReference interface {
	cdktf.ComplexObject
	AuthorizedIpRanges() *[]*string
	SetAuthorizedIpRanges(val *[]*string)
	AuthorizedIpRangesInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterApiServerAccessProfile
	SetInternalValue(val *KubernetesClusterApiServerAccessProfile)
	SubnetId() *string
	SetSubnetId(val *string)
	SubnetIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	VnetIntegrationEnabled() interface{}
	SetVnetIntegrationEnabled(val interface{})
	VnetIntegrationEnabledInput() interface{}
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAuthorizedIpRanges()
	ResetSubnetId()
	ResetVnetIntegrationEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterApiServerAccessProfileOutputReference

func NewKubernetesClusterApiServerAccessProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterApiServerAccessProfileOutputReference

type KubernetesClusterAutoScalerProfile

type KubernetesClusterAutoScalerProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#balance_similar_node_groups KubernetesCluster#balance_similar_node_groups}.
	BalanceSimilarNodeGroups interface{} `field:"optional" json:"balanceSimilarNodeGroups" yaml:"balanceSimilarNodeGroups"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#empty_bulk_delete_max KubernetesCluster#empty_bulk_delete_max}.
	EmptyBulkDeleteMax *string `field:"optional" json:"emptyBulkDeleteMax" yaml:"emptyBulkDeleteMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#expander KubernetesCluster#expander}.
	Expander *string `field:"optional" json:"expander" yaml:"expander"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_graceful_termination_sec KubernetesCluster#max_graceful_termination_sec}.
	MaxGracefulTerminationSec *string `field:"optional" json:"maxGracefulTerminationSec" yaml:"maxGracefulTerminationSec"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_node_provisioning_time KubernetesCluster#max_node_provisioning_time}.
	MaxNodeProvisioningTime *string `field:"optional" json:"maxNodeProvisioningTime" yaml:"maxNodeProvisioningTime"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_unready_nodes KubernetesCluster#max_unready_nodes}.
	MaxUnreadyNodes *float64 `field:"optional" json:"maxUnreadyNodes" yaml:"maxUnreadyNodes"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_unready_percentage KubernetesCluster#max_unready_percentage}.
	MaxUnreadyPercentage *float64 `field:"optional" json:"maxUnreadyPercentage" yaml:"maxUnreadyPercentage"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#new_pod_scale_up_delay KubernetesCluster#new_pod_scale_up_delay}.
	NewPodScaleUpDelay *string `field:"optional" json:"newPodScaleUpDelay" yaml:"newPodScaleUpDelay"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_delay_after_add KubernetesCluster#scale_down_delay_after_add}.
	ScaleDownDelayAfterAdd *string `field:"optional" json:"scaleDownDelayAfterAdd" yaml:"scaleDownDelayAfterAdd"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_delay_after_delete KubernetesCluster#scale_down_delay_after_delete}.
	ScaleDownDelayAfterDelete *string `field:"optional" json:"scaleDownDelayAfterDelete" yaml:"scaleDownDelayAfterDelete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_delay_after_failure KubernetesCluster#scale_down_delay_after_failure}.
	ScaleDownDelayAfterFailure *string `field:"optional" json:"scaleDownDelayAfterFailure" yaml:"scaleDownDelayAfterFailure"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_unneeded KubernetesCluster#scale_down_unneeded}.
	ScaleDownUnneeded *string `field:"optional" json:"scaleDownUnneeded" yaml:"scaleDownUnneeded"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_unready KubernetesCluster#scale_down_unready}.
	ScaleDownUnready *string `field:"optional" json:"scaleDownUnready" yaml:"scaleDownUnready"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_utilization_threshold KubernetesCluster#scale_down_utilization_threshold}.
	ScaleDownUtilizationThreshold *string `field:"optional" json:"scaleDownUtilizationThreshold" yaml:"scaleDownUtilizationThreshold"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scan_interval KubernetesCluster#scan_interval}.
	ScanInterval *string `field:"optional" json:"scanInterval" yaml:"scanInterval"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#skip_nodes_with_local_storage KubernetesCluster#skip_nodes_with_local_storage}.
	SkipNodesWithLocalStorage interface{} `field:"optional" json:"skipNodesWithLocalStorage" yaml:"skipNodesWithLocalStorage"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#skip_nodes_with_system_pods KubernetesCluster#skip_nodes_with_system_pods}.
	SkipNodesWithSystemPods interface{} `field:"optional" json:"skipNodesWithSystemPods" yaml:"skipNodesWithSystemPods"`
}

type KubernetesClusterAutoScalerProfileOutputReference

type KubernetesClusterAutoScalerProfileOutputReference interface {
	cdktf.ComplexObject
	BalanceSimilarNodeGroups() interface{}
	SetBalanceSimilarNodeGroups(val interface{})
	BalanceSimilarNodeGroupsInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EmptyBulkDeleteMax() *string
	SetEmptyBulkDeleteMax(val *string)
	EmptyBulkDeleteMaxInput() *string
	Expander() *string
	SetExpander(val *string)
	ExpanderInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterAutoScalerProfile
	SetInternalValue(val *KubernetesClusterAutoScalerProfile)
	MaxGracefulTerminationSec() *string
	SetMaxGracefulTerminationSec(val *string)
	MaxGracefulTerminationSecInput() *string
	MaxNodeProvisioningTime() *string
	SetMaxNodeProvisioningTime(val *string)
	MaxNodeProvisioningTimeInput() *string
	MaxUnreadyNodes() *float64
	SetMaxUnreadyNodes(val *float64)
	MaxUnreadyNodesInput() *float64
	MaxUnreadyPercentage() *float64
	SetMaxUnreadyPercentage(val *float64)
	MaxUnreadyPercentageInput() *float64
	NewPodScaleUpDelay() *string
	SetNewPodScaleUpDelay(val *string)
	NewPodScaleUpDelayInput() *string
	ScaleDownDelayAfterAdd() *string
	SetScaleDownDelayAfterAdd(val *string)
	ScaleDownDelayAfterAddInput() *string
	ScaleDownDelayAfterDelete() *string
	SetScaleDownDelayAfterDelete(val *string)
	ScaleDownDelayAfterDeleteInput() *string
	ScaleDownDelayAfterFailure() *string
	SetScaleDownDelayAfterFailure(val *string)
	ScaleDownDelayAfterFailureInput() *string
	ScaleDownUnneeded() *string
	SetScaleDownUnneeded(val *string)
	ScaleDownUnneededInput() *string
	ScaleDownUnready() *string
	SetScaleDownUnready(val *string)
	ScaleDownUnreadyInput() *string
	ScaleDownUtilizationThreshold() *string
	SetScaleDownUtilizationThreshold(val *string)
	ScaleDownUtilizationThresholdInput() *string
	ScanInterval() *string
	SetScanInterval(val *string)
	ScanIntervalInput() *string
	SkipNodesWithLocalStorage() interface{}
	SetSkipNodesWithLocalStorage(val interface{})
	SkipNodesWithLocalStorageInput() interface{}
	SkipNodesWithSystemPods() interface{}
	SetSkipNodesWithSystemPods(val interface{})
	SkipNodesWithSystemPodsInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetBalanceSimilarNodeGroups()
	ResetEmptyBulkDeleteMax()
	ResetExpander()
	ResetMaxGracefulTerminationSec()
	ResetMaxNodeProvisioningTime()
	ResetMaxUnreadyNodes()
	ResetMaxUnreadyPercentage()
	ResetNewPodScaleUpDelay()
	ResetScaleDownDelayAfterAdd()
	ResetScaleDownDelayAfterDelete()
	ResetScaleDownDelayAfterFailure()
	ResetScaleDownUnneeded()
	ResetScaleDownUnready()
	ResetScaleDownUtilizationThreshold()
	ResetScanInterval()
	ResetSkipNodesWithLocalStorage()
	ResetSkipNodesWithSystemPods()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterAutoScalerProfileOutputReference

func NewKubernetesClusterAutoScalerProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterAutoScalerProfileOutputReference

type KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl

type KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#admin_group_object_ids KubernetesCluster#admin_group_object_ids}.
	AdminGroupObjectIds *[]*string `field:"optional" json:"adminGroupObjectIds" yaml:"adminGroupObjectIds"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#azure_rbac_enabled KubernetesCluster#azure_rbac_enabled}.
	AzureRbacEnabled interface{} `field:"optional" json:"azureRbacEnabled" yaml:"azureRbacEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#client_app_id KubernetesCluster#client_app_id}.
	ClientAppId *string `field:"optional" json:"clientAppId" yaml:"clientAppId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#managed KubernetesCluster#managed}.
	Managed interface{} `field:"optional" json:"managed" yaml:"managed"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#server_app_id KubernetesCluster#server_app_id}.
	ServerAppId *string `field:"optional" json:"serverAppId" yaml:"serverAppId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#server_app_secret KubernetesCluster#server_app_secret}.
	ServerAppSecret *string `field:"optional" json:"serverAppSecret" yaml:"serverAppSecret"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#tenant_id KubernetesCluster#tenant_id}.
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
}

type KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference

type KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference interface {
	cdktf.ComplexObject
	AdminGroupObjectIds() *[]*string
	SetAdminGroupObjectIds(val *[]*string)
	AdminGroupObjectIdsInput() *[]*string
	AzureRbacEnabled() interface{}
	SetAzureRbacEnabled(val interface{})
	AzureRbacEnabledInput() interface{}
	ClientAppId() *string
	SetClientAppId(val *string)
	ClientAppIdInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl
	SetInternalValue(val *KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl)
	Managed() interface{}
	SetManaged(val interface{})
	ManagedInput() interface{}
	ServerAppId() *string
	SetServerAppId(val *string)
	ServerAppIdInput() *string
	ServerAppSecret() *string
	SetServerAppSecret(val *string)
	ServerAppSecretInput() *string
	TenantId() *string
	SetTenantId(val *string)
	TenantIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAdminGroupObjectIds()
	ResetAzureRbacEnabled()
	ResetClientAppId()
	ResetManaged()
	ResetServerAppId()
	ResetServerAppSecret()
	ResetTenantId()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference

func NewKubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterAzureActiveDirectoryRoleBasedAccessControlOutputReference

type KubernetesClusterConfidentialComputing

type KubernetesClusterConfidentialComputing struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#sgx_quote_helper_enabled KubernetesCluster#sgx_quote_helper_enabled}.
	SgxQuoteHelperEnabled interface{} `field:"required" json:"sgxQuoteHelperEnabled" yaml:"sgxQuoteHelperEnabled"`
}

type KubernetesClusterConfidentialComputingOutputReference

type KubernetesClusterConfidentialComputingOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterConfidentialComputing
	SetInternalValue(val *KubernetesClusterConfidentialComputing)
	SgxQuoteHelperEnabled() interface{}
	SetSgxQuoteHelperEnabled(val interface{})
	SgxQuoteHelperEnabledInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterConfidentialComputingOutputReference

func NewKubernetesClusterConfidentialComputingOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterConfidentialComputingOutputReference

type KubernetesClusterConfig

type KubernetesClusterConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// default_node_pool block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#default_node_pool KubernetesCluster#default_node_pool}
	DefaultNodePool *KubernetesClusterDefaultNodePool `field:"required" json:"defaultNodePool" yaml:"defaultNodePool"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#location KubernetesCluster#location}.
	Location *string `field:"required" json:"location" yaml:"location"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#resource_group_name KubernetesCluster#resource_group_name}.
	ResourceGroupName *string `field:"required" json:"resourceGroupName" yaml:"resourceGroupName"`
	// aci_connector_linux block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#aci_connector_linux KubernetesCluster#aci_connector_linux}
	AciConnectorLinux *KubernetesClusterAciConnectorLinux `field:"optional" json:"aciConnectorLinux" yaml:"aciConnectorLinux"`
	// api_server_access_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#api_server_access_profile KubernetesCluster#api_server_access_profile}
	ApiServerAccessProfile *KubernetesClusterApiServerAccessProfile `field:"optional" json:"apiServerAccessProfile" yaml:"apiServerAccessProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#api_server_authorized_ip_ranges KubernetesCluster#api_server_authorized_ip_ranges}.
	ApiServerAuthorizedIpRanges *[]*string `field:"optional" json:"apiServerAuthorizedIpRanges" yaml:"apiServerAuthorizedIpRanges"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#automatic_channel_upgrade KubernetesCluster#automatic_channel_upgrade}.
	AutomaticChannelUpgrade *string `field:"optional" json:"automaticChannelUpgrade" yaml:"automaticChannelUpgrade"`
	// auto_scaler_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#auto_scaler_profile KubernetesCluster#auto_scaler_profile}
	AutoScalerProfile *KubernetesClusterAutoScalerProfile `field:"optional" json:"autoScalerProfile" yaml:"autoScalerProfile"`
	// azure_active_directory_role_based_access_control block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#azure_active_directory_role_based_access_control KubernetesCluster#azure_active_directory_role_based_access_control}
	AzureActiveDirectoryRoleBasedAccessControl *KubernetesClusterAzureActiveDirectoryRoleBasedAccessControl `field:"optional" json:"azureActiveDirectoryRoleBasedAccessControl" yaml:"azureActiveDirectoryRoleBasedAccessControl"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#azure_policy_enabled KubernetesCluster#azure_policy_enabled}.
	AzurePolicyEnabled interface{} `field:"optional" json:"azurePolicyEnabled" yaml:"azurePolicyEnabled"`
	// confidential_computing block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#confidential_computing KubernetesCluster#confidential_computing}
	ConfidentialComputing *KubernetesClusterConfidentialComputing `field:"optional" json:"confidentialComputing" yaml:"confidentialComputing"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#disk_encryption_set_id KubernetesCluster#disk_encryption_set_id}.
	DiskEncryptionSetId *string `field:"optional" json:"diskEncryptionSetId" yaml:"diskEncryptionSetId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#dns_prefix KubernetesCluster#dns_prefix}.
	DnsPrefix *string `field:"optional" json:"dnsPrefix" yaml:"dnsPrefix"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#dns_prefix_private_cluster KubernetesCluster#dns_prefix_private_cluster}.
	DnsPrefixPrivateCluster *string `field:"optional" json:"dnsPrefixPrivateCluster" yaml:"dnsPrefixPrivateCluster"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#edge_zone KubernetesCluster#edge_zone}.
	EdgeZone *string `field:"optional" json:"edgeZone" yaml:"edgeZone"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#enable_pod_security_policy KubernetesCluster#enable_pod_security_policy}.
	EnablePodSecurityPolicy interface{} `field:"optional" json:"enablePodSecurityPolicy" yaml:"enablePodSecurityPolicy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#http_application_routing_enabled KubernetesCluster#http_application_routing_enabled}.
	HttpApplicationRoutingEnabled interface{} `field:"optional" json:"httpApplicationRoutingEnabled" yaml:"httpApplicationRoutingEnabled"`
	// http_proxy_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#http_proxy_config KubernetesCluster#http_proxy_config}
	HttpProxyConfig *KubernetesClusterHttpProxyConfig `field:"optional" json:"httpProxyConfig" yaml:"httpProxyConfig"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#id KubernetesCluster#id}.
	//
	// Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
	// If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
	Id *string `field:"optional" json:"id" yaml:"id"`
	// identity block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#identity KubernetesCluster#identity}
	Identity *KubernetesClusterIdentity `field:"optional" json:"identity" yaml:"identity"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#image_cleaner_enabled KubernetesCluster#image_cleaner_enabled}.
	ImageCleanerEnabled interface{} `field:"optional" json:"imageCleanerEnabled" yaml:"imageCleanerEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#image_cleaner_interval_hours KubernetesCluster#image_cleaner_interval_hours}.
	ImageCleanerIntervalHours *float64 `field:"optional" json:"imageCleanerIntervalHours" yaml:"imageCleanerIntervalHours"`
	// ingress_application_gateway block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#ingress_application_gateway KubernetesCluster#ingress_application_gateway}
	IngressApplicationGateway *KubernetesClusterIngressApplicationGateway `field:"optional" json:"ingressApplicationGateway" yaml:"ingressApplicationGateway"`
	// key_management_service block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#key_management_service KubernetesCluster#key_management_service}
	KeyManagementService *KubernetesClusterKeyManagementService `field:"optional" json:"keyManagementService" yaml:"keyManagementService"`
	// key_vault_secrets_provider block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#key_vault_secrets_provider KubernetesCluster#key_vault_secrets_provider}
	KeyVaultSecretsProvider *KubernetesClusterKeyVaultSecretsProvider `field:"optional" json:"keyVaultSecretsProvider" yaml:"keyVaultSecretsProvider"`
	// kubelet_identity block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#kubelet_identity KubernetesCluster#kubelet_identity}
	KubeletIdentity *KubernetesClusterKubeletIdentity `field:"optional" json:"kubeletIdentity" yaml:"kubeletIdentity"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#kubernetes_version KubernetesCluster#kubernetes_version}.
	KubernetesVersion *string `field:"optional" json:"kubernetesVersion" yaml:"kubernetesVersion"`
	// linux_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#linux_profile KubernetesCluster#linux_profile}
	LinuxProfile *KubernetesClusterLinuxProfile `field:"optional" json:"linuxProfile" yaml:"linuxProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#local_account_disabled KubernetesCluster#local_account_disabled}.
	LocalAccountDisabled interface{} `field:"optional" json:"localAccountDisabled" yaml:"localAccountDisabled"`
	// maintenance_window block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#maintenance_window KubernetesCluster#maintenance_window}
	MaintenanceWindow *KubernetesClusterMaintenanceWindow `field:"optional" json:"maintenanceWindow" yaml:"maintenanceWindow"`
	// microsoft_defender block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#microsoft_defender KubernetesCluster#microsoft_defender}
	MicrosoftDefender *KubernetesClusterMicrosoftDefender `field:"optional" json:"microsoftDefender" yaml:"microsoftDefender"`
	// monitor_metrics block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#monitor_metrics KubernetesCluster#monitor_metrics}
	MonitorMetrics *KubernetesClusterMonitorMetrics `field:"optional" json:"monitorMetrics" yaml:"monitorMetrics"`
	// network_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#network_profile KubernetesCluster#network_profile}
	NetworkProfile *KubernetesClusterNetworkProfile `field:"optional" json:"networkProfile" yaml:"networkProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_resource_group KubernetesCluster#node_resource_group}.
	NodeResourceGroup *string `field:"optional" json:"nodeResourceGroup" yaml:"nodeResourceGroup"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#oidc_issuer_enabled KubernetesCluster#oidc_issuer_enabled}.
	OidcIssuerEnabled interface{} `field:"optional" json:"oidcIssuerEnabled" yaml:"oidcIssuerEnabled"`
	// oms_agent block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#oms_agent KubernetesCluster#oms_agent}
	OmsAgent *KubernetesClusterOmsAgent `field:"optional" json:"omsAgent" yaml:"omsAgent"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#open_service_mesh_enabled KubernetesCluster#open_service_mesh_enabled}.
	OpenServiceMeshEnabled interface{} `field:"optional" json:"openServiceMeshEnabled" yaml:"openServiceMeshEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#private_cluster_enabled KubernetesCluster#private_cluster_enabled}.
	PrivateClusterEnabled interface{} `field:"optional" json:"privateClusterEnabled" yaml:"privateClusterEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#private_cluster_public_fqdn_enabled KubernetesCluster#private_cluster_public_fqdn_enabled}.
	PrivateClusterPublicFqdnEnabled interface{} `field:"optional" json:"privateClusterPublicFqdnEnabled" yaml:"privateClusterPublicFqdnEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#private_dns_zone_id KubernetesCluster#private_dns_zone_id}.
	PrivateDnsZoneId *string `field:"optional" json:"privateDnsZoneId" yaml:"privateDnsZoneId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#public_network_access_enabled KubernetesCluster#public_network_access_enabled}.
	PublicNetworkAccessEnabled interface{} `field:"optional" json:"publicNetworkAccessEnabled" yaml:"publicNetworkAccessEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#role_based_access_control_enabled KubernetesCluster#role_based_access_control_enabled}.
	RoleBasedAccessControlEnabled interface{} `field:"optional" json:"roleBasedAccessControlEnabled" yaml:"roleBasedAccessControlEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#run_command_enabled KubernetesCluster#run_command_enabled}.
	RunCommandEnabled interface{} `field:"optional" json:"runCommandEnabled" yaml:"runCommandEnabled"`
	// service_mesh_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#service_mesh_profile KubernetesCluster#service_mesh_profile}
	ServiceMeshProfile *KubernetesClusterServiceMeshProfile `field:"optional" json:"serviceMeshProfile" yaml:"serviceMeshProfile"`
	// service_principal block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#service_principal KubernetesCluster#service_principal}
	ServicePrincipal *KubernetesClusterServicePrincipal `field:"optional" json:"servicePrincipal" yaml:"servicePrincipal"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#sku_tier KubernetesCluster#sku_tier}.
	SkuTier *string `field:"optional" json:"skuTier" yaml:"skuTier"`
	// storage_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#storage_profile KubernetesCluster#storage_profile}
	StorageProfile *KubernetesClusterStorageProfile `field:"optional" json:"storageProfile" yaml:"storageProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#tags KubernetesCluster#tags}.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// timeouts block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#timeouts KubernetesCluster#timeouts}
	Timeouts *KubernetesClusterTimeouts `field:"optional" json:"timeouts" yaml:"timeouts"`
	// web_app_routing block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#web_app_routing KubernetesCluster#web_app_routing}
	WebAppRouting *KubernetesClusterWebAppRouting `field:"optional" json:"webAppRouting" yaml:"webAppRouting"`
	// windows_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#windows_profile KubernetesCluster#windows_profile}
	WindowsProfile *KubernetesClusterWindowsProfile `field:"optional" json:"windowsProfile" yaml:"windowsProfile"`
	// workload_autoscaler_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#workload_autoscaler_profile KubernetesCluster#workload_autoscaler_profile}
	WorkloadAutoscalerProfile *KubernetesClusterWorkloadAutoscalerProfile `field:"optional" json:"workloadAutoscalerProfile" yaml:"workloadAutoscalerProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#workload_identity_enabled KubernetesCluster#workload_identity_enabled}.
	WorkloadIdentityEnabled interface{} `field:"optional" json:"workloadIdentityEnabled" yaml:"workloadIdentityEnabled"`
}

type KubernetesClusterDefaultNodePool

type KubernetesClusterDefaultNodePool struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#name KubernetesCluster#name}.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vm_size KubernetesCluster#vm_size}.
	VmSize *string `field:"required" json:"vmSize" yaml:"vmSize"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#capacity_reservation_group_id KubernetesCluster#capacity_reservation_group_id}.
	CapacityReservationGroupId *string `field:"optional" json:"capacityReservationGroupId" yaml:"capacityReservationGroupId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#custom_ca_trust_enabled KubernetesCluster#custom_ca_trust_enabled}.
	CustomCaTrustEnabled interface{} `field:"optional" json:"customCaTrustEnabled" yaml:"customCaTrustEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#enable_auto_scaling KubernetesCluster#enable_auto_scaling}.
	EnableAutoScaling interface{} `field:"optional" json:"enableAutoScaling" yaml:"enableAutoScaling"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#enable_host_encryption KubernetesCluster#enable_host_encryption}.
	EnableHostEncryption interface{} `field:"optional" json:"enableHostEncryption" yaml:"enableHostEncryption"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#enable_node_public_ip KubernetesCluster#enable_node_public_ip}.
	EnableNodePublicIp interface{} `field:"optional" json:"enableNodePublicIp" yaml:"enableNodePublicIp"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#fips_enabled KubernetesCluster#fips_enabled}.
	FipsEnabled interface{} `field:"optional" json:"fipsEnabled" yaml:"fipsEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#host_group_id KubernetesCluster#host_group_id}.
	HostGroupId *string `field:"optional" json:"hostGroupId" yaml:"hostGroupId"`
	// kubelet_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#kubelet_config KubernetesCluster#kubelet_config}
	KubeletConfig *KubernetesClusterDefaultNodePoolKubeletConfig `field:"optional" json:"kubeletConfig" yaml:"kubeletConfig"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#kubelet_disk_type KubernetesCluster#kubelet_disk_type}.
	KubeletDiskType *string `field:"optional" json:"kubeletDiskType" yaml:"kubeletDiskType"`
	// linux_os_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#linux_os_config KubernetesCluster#linux_os_config}
	LinuxOsConfig *KubernetesClusterDefaultNodePoolLinuxOsConfig `field:"optional" json:"linuxOsConfig" yaml:"linuxOsConfig"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_count KubernetesCluster#max_count}.
	MaxCount *float64 `field:"optional" json:"maxCount" yaml:"maxCount"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_pods KubernetesCluster#max_pods}.
	MaxPods *float64 `field:"optional" json:"maxPods" yaml:"maxPods"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#message_of_the_day KubernetesCluster#message_of_the_day}.
	MessageOfTheDay *string `field:"optional" json:"messageOfTheDay" yaml:"messageOfTheDay"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#min_count KubernetesCluster#min_count}.
	MinCount *float64 `field:"optional" json:"minCount" yaml:"minCount"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_count KubernetesCluster#node_count}.
	NodeCount *float64 `field:"optional" json:"nodeCount" yaml:"nodeCount"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_labels KubernetesCluster#node_labels}.
	NodeLabels *map[string]*string `field:"optional" json:"nodeLabels" yaml:"nodeLabels"`
	// node_network_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_network_profile KubernetesCluster#node_network_profile}
	NodeNetworkProfile *KubernetesClusterDefaultNodePoolNodeNetworkProfile `field:"optional" json:"nodeNetworkProfile" yaml:"nodeNetworkProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_public_ip_prefix_id KubernetesCluster#node_public_ip_prefix_id}.
	NodePublicIpPrefixId *string `field:"optional" json:"nodePublicIpPrefixId" yaml:"nodePublicIpPrefixId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_taints KubernetesCluster#node_taints}.
	NodeTaints *[]*string `field:"optional" json:"nodeTaints" yaml:"nodeTaints"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#only_critical_addons_enabled KubernetesCluster#only_critical_addons_enabled}.
	OnlyCriticalAddonsEnabled interface{} `field:"optional" json:"onlyCriticalAddonsEnabled" yaml:"onlyCriticalAddonsEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#orchestrator_version KubernetesCluster#orchestrator_version}.
	OrchestratorVersion *string `field:"optional" json:"orchestratorVersion" yaml:"orchestratorVersion"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#os_disk_size_gb KubernetesCluster#os_disk_size_gb}.
	OsDiskSizeGb *float64 `field:"optional" json:"osDiskSizeGb" yaml:"osDiskSizeGb"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#os_disk_type KubernetesCluster#os_disk_type}.
	OsDiskType *string `field:"optional" json:"osDiskType" yaml:"osDiskType"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#os_sku KubernetesCluster#os_sku}.
	OsSku *string `field:"optional" json:"osSku" yaml:"osSku"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#pod_subnet_id KubernetesCluster#pod_subnet_id}.
	PodSubnetId *string `field:"optional" json:"podSubnetId" yaml:"podSubnetId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#proximity_placement_group_id KubernetesCluster#proximity_placement_group_id}.
	ProximityPlacementGroupId *string `field:"optional" json:"proximityPlacementGroupId" yaml:"proximityPlacementGroupId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#scale_down_mode KubernetesCluster#scale_down_mode}.
	ScaleDownMode *string `field:"optional" json:"scaleDownMode" yaml:"scaleDownMode"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#tags KubernetesCluster#tags}.
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#temporary_name_for_rotation KubernetesCluster#temporary_name_for_rotation}.
	TemporaryNameForRotation *string `field:"optional" json:"temporaryNameForRotation" yaml:"temporaryNameForRotation"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#type KubernetesCluster#type}.
	Type *string `field:"optional" json:"type" yaml:"type"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#ultra_ssd_enabled KubernetesCluster#ultra_ssd_enabled}.
	UltraSsdEnabled interface{} `field:"optional" json:"ultraSsdEnabled" yaml:"ultraSsdEnabled"`
	// upgrade_settings block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#upgrade_settings KubernetesCluster#upgrade_settings}
	UpgradeSettings *KubernetesClusterDefaultNodePoolUpgradeSettings `field:"optional" json:"upgradeSettings" yaml:"upgradeSettings"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vnet_subnet_id KubernetesCluster#vnet_subnet_id}.
	VnetSubnetId *string `field:"optional" json:"vnetSubnetId" yaml:"vnetSubnetId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#workload_runtime KubernetesCluster#workload_runtime}.
	WorkloadRuntime *string `field:"optional" json:"workloadRuntime" yaml:"workloadRuntime"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#zones KubernetesCluster#zones}.
	Zones *[]*string `field:"optional" json:"zones" yaml:"zones"`
}

type KubernetesClusterDefaultNodePoolKubeletConfig

type KubernetesClusterDefaultNodePoolKubeletConfig struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#allowed_unsafe_sysctls KubernetesCluster#allowed_unsafe_sysctls}.
	AllowedUnsafeSysctls *[]*string `field:"optional" json:"allowedUnsafeSysctls" yaml:"allowedUnsafeSysctls"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#container_log_max_line KubernetesCluster#container_log_max_line}.
	ContainerLogMaxLine *float64 `field:"optional" json:"containerLogMaxLine" yaml:"containerLogMaxLine"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#container_log_max_size_mb KubernetesCluster#container_log_max_size_mb}.
	ContainerLogMaxSizeMb *float64 `field:"optional" json:"containerLogMaxSizeMb" yaml:"containerLogMaxSizeMb"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#cpu_cfs_quota_enabled KubernetesCluster#cpu_cfs_quota_enabled}.
	CpuCfsQuotaEnabled interface{} `field:"optional" json:"cpuCfsQuotaEnabled" yaml:"cpuCfsQuotaEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#cpu_cfs_quota_period KubernetesCluster#cpu_cfs_quota_period}.
	CpuCfsQuotaPeriod *string `field:"optional" json:"cpuCfsQuotaPeriod" yaml:"cpuCfsQuotaPeriod"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#cpu_manager_policy KubernetesCluster#cpu_manager_policy}.
	CpuManagerPolicy *string `field:"optional" json:"cpuManagerPolicy" yaml:"cpuManagerPolicy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#image_gc_high_threshold KubernetesCluster#image_gc_high_threshold}.
	ImageGcHighThreshold *float64 `field:"optional" json:"imageGcHighThreshold" yaml:"imageGcHighThreshold"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#image_gc_low_threshold KubernetesCluster#image_gc_low_threshold}.
	ImageGcLowThreshold *float64 `field:"optional" json:"imageGcLowThreshold" yaml:"imageGcLowThreshold"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#pod_max_pid KubernetesCluster#pod_max_pid}.
	PodMaxPid *float64 `field:"optional" json:"podMaxPid" yaml:"podMaxPid"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#topology_manager_policy KubernetesCluster#topology_manager_policy}.
	TopologyManagerPolicy *string `field:"optional" json:"topologyManagerPolicy" yaml:"topologyManagerPolicy"`
}

type KubernetesClusterDefaultNodePoolKubeletConfigOutputReference

type KubernetesClusterDefaultNodePoolKubeletConfigOutputReference interface {
	cdktf.ComplexObject
	AllowedUnsafeSysctls() *[]*string
	SetAllowedUnsafeSysctls(val *[]*string)
	AllowedUnsafeSysctlsInput() *[]*string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	ContainerLogMaxLine() *float64
	SetContainerLogMaxLine(val *float64)
	ContainerLogMaxLineInput() *float64
	ContainerLogMaxSizeMb() *float64
	SetContainerLogMaxSizeMb(val *float64)
	ContainerLogMaxSizeMbInput() *float64
	CpuCfsQuotaEnabled() interface{}
	SetCpuCfsQuotaEnabled(val interface{})
	CpuCfsQuotaEnabledInput() interface{}
	CpuCfsQuotaPeriod() *string
	SetCpuCfsQuotaPeriod(val *string)
	CpuCfsQuotaPeriodInput() *string
	CpuManagerPolicy() *string
	SetCpuManagerPolicy(val *string)
	CpuManagerPolicyInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	ImageGcHighThreshold() *float64
	SetImageGcHighThreshold(val *float64)
	ImageGcHighThresholdInput() *float64
	ImageGcLowThreshold() *float64
	SetImageGcLowThreshold(val *float64)
	ImageGcLowThresholdInput() *float64
	InternalValue() *KubernetesClusterDefaultNodePoolKubeletConfig
	SetInternalValue(val *KubernetesClusterDefaultNodePoolKubeletConfig)
	PodMaxPid() *float64
	SetPodMaxPid(val *float64)
	PodMaxPidInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	TopologyManagerPolicy() *string
	SetTopologyManagerPolicy(val *string)
	TopologyManagerPolicyInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAllowedUnsafeSysctls()
	ResetContainerLogMaxLine()
	ResetContainerLogMaxSizeMb()
	ResetCpuCfsQuotaEnabled()
	ResetCpuCfsQuotaPeriod()
	ResetCpuManagerPolicy()
	ResetImageGcHighThreshold()
	ResetImageGcLowThreshold()
	ResetPodMaxPid()
	ResetTopologyManagerPolicy()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolKubeletConfigOutputReference

func NewKubernetesClusterDefaultNodePoolKubeletConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolKubeletConfigOutputReference

type KubernetesClusterDefaultNodePoolLinuxOsConfig

type KubernetesClusterDefaultNodePoolLinuxOsConfig struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#swap_file_size_mb KubernetesCluster#swap_file_size_mb}.
	SwapFileSizeMb *float64 `field:"optional" json:"swapFileSizeMb" yaml:"swapFileSizeMb"`
	// sysctl_config block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#sysctl_config KubernetesCluster#sysctl_config}
	SysctlConfig *KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig `field:"optional" json:"sysctlConfig" yaml:"sysctlConfig"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#transparent_huge_page_defrag KubernetesCluster#transparent_huge_page_defrag}.
	TransparentHugePageDefrag *string `field:"optional" json:"transparentHugePageDefrag" yaml:"transparentHugePageDefrag"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#transparent_huge_page_enabled KubernetesCluster#transparent_huge_page_enabled}.
	TransparentHugePageEnabled *string `field:"optional" json:"transparentHugePageEnabled" yaml:"transparentHugePageEnabled"`
}

type KubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference

type KubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterDefaultNodePoolLinuxOsConfig
	SetInternalValue(val *KubernetesClusterDefaultNodePoolLinuxOsConfig)
	SwapFileSizeMb() *float64
	SetSwapFileSizeMb(val *float64)
	SwapFileSizeMbInput() *float64
	SysctlConfig() KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference
	SysctlConfigInput() *KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	TransparentHugePageDefrag() *string
	SetTransparentHugePageDefrag(val *string)
	TransparentHugePageDefragInput() *string
	TransparentHugePageEnabled() *string
	SetTransparentHugePageEnabled(val *string)
	TransparentHugePageEnabledInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutSysctlConfig(value *KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig)
	ResetSwapFileSizeMb()
	ResetSysctlConfig()
	ResetTransparentHugePageDefrag()
	ResetTransparentHugePageEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference

type KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig

type KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#fs_aio_max_nr KubernetesCluster#fs_aio_max_nr}.
	FsAioMaxNr *float64 `field:"optional" json:"fsAioMaxNr" yaml:"fsAioMaxNr"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#fs_file_max KubernetesCluster#fs_file_max}.
	FsFileMax *float64 `field:"optional" json:"fsFileMax" yaml:"fsFileMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#fs_inotify_max_user_watches KubernetesCluster#fs_inotify_max_user_watches}.
	FsInotifyMaxUserWatches *float64 `field:"optional" json:"fsInotifyMaxUserWatches" yaml:"fsInotifyMaxUserWatches"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#fs_nr_open KubernetesCluster#fs_nr_open}.
	FsNrOpen *float64 `field:"optional" json:"fsNrOpen" yaml:"fsNrOpen"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#kernel_threads_max KubernetesCluster#kernel_threads_max}.
	KernelThreadsMax *float64 `field:"optional" json:"kernelThreadsMax" yaml:"kernelThreadsMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_netdev_max_backlog KubernetesCluster#net_core_netdev_max_backlog}.
	NetCoreNetdevMaxBacklog *float64 `field:"optional" json:"netCoreNetdevMaxBacklog" yaml:"netCoreNetdevMaxBacklog"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_optmem_max KubernetesCluster#net_core_optmem_max}.
	NetCoreOptmemMax *float64 `field:"optional" json:"netCoreOptmemMax" yaml:"netCoreOptmemMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_rmem_default KubernetesCluster#net_core_rmem_default}.
	NetCoreRmemDefault *float64 `field:"optional" json:"netCoreRmemDefault" yaml:"netCoreRmemDefault"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_rmem_max KubernetesCluster#net_core_rmem_max}.
	NetCoreRmemMax *float64 `field:"optional" json:"netCoreRmemMax" yaml:"netCoreRmemMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_somaxconn KubernetesCluster#net_core_somaxconn}.
	NetCoreSomaxconn *float64 `field:"optional" json:"netCoreSomaxconn" yaml:"netCoreSomaxconn"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_wmem_default KubernetesCluster#net_core_wmem_default}.
	NetCoreWmemDefault *float64 `field:"optional" json:"netCoreWmemDefault" yaml:"netCoreWmemDefault"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_core_wmem_max KubernetesCluster#net_core_wmem_max}.
	NetCoreWmemMax *float64 `field:"optional" json:"netCoreWmemMax" yaml:"netCoreWmemMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_ip_local_port_range_max KubernetesCluster#net_ipv4_ip_local_port_range_max}.
	NetIpv4IpLocalPortRangeMax *float64 `field:"optional" json:"netIpv4IpLocalPortRangeMax" yaml:"netIpv4IpLocalPortRangeMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_ip_local_port_range_min KubernetesCluster#net_ipv4_ip_local_port_range_min}.
	NetIpv4IpLocalPortRangeMin *float64 `field:"optional" json:"netIpv4IpLocalPortRangeMin" yaml:"netIpv4IpLocalPortRangeMin"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_neigh_default_gc_thresh1 KubernetesCluster#net_ipv4_neigh_default_gc_thresh1}.
	NetIpv4NeighDefaultGcThresh1 *float64 `field:"optional" json:"netIpv4NeighDefaultGcThresh1" yaml:"netIpv4NeighDefaultGcThresh1"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_neigh_default_gc_thresh2 KubernetesCluster#net_ipv4_neigh_default_gc_thresh2}.
	NetIpv4NeighDefaultGcThresh2 *float64 `field:"optional" json:"netIpv4NeighDefaultGcThresh2" yaml:"netIpv4NeighDefaultGcThresh2"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_neigh_default_gc_thresh3 KubernetesCluster#net_ipv4_neigh_default_gc_thresh3}.
	NetIpv4NeighDefaultGcThresh3 *float64 `field:"optional" json:"netIpv4NeighDefaultGcThresh3" yaml:"netIpv4NeighDefaultGcThresh3"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_fin_timeout KubernetesCluster#net_ipv4_tcp_fin_timeout}.
	NetIpv4TcpFinTimeout *float64 `field:"optional" json:"netIpv4TcpFinTimeout" yaml:"netIpv4TcpFinTimeout"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_keepalive_intvl KubernetesCluster#net_ipv4_tcp_keepalive_intvl}.
	NetIpv4TcpKeepaliveIntvl *float64 `field:"optional" json:"netIpv4TcpKeepaliveIntvl" yaml:"netIpv4TcpKeepaliveIntvl"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_keepalive_probes KubernetesCluster#net_ipv4_tcp_keepalive_probes}.
	NetIpv4TcpKeepaliveProbes *float64 `field:"optional" json:"netIpv4TcpKeepaliveProbes" yaml:"netIpv4TcpKeepaliveProbes"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_keepalive_time KubernetesCluster#net_ipv4_tcp_keepalive_time}.
	NetIpv4TcpKeepaliveTime *float64 `field:"optional" json:"netIpv4TcpKeepaliveTime" yaml:"netIpv4TcpKeepaliveTime"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_max_syn_backlog KubernetesCluster#net_ipv4_tcp_max_syn_backlog}.
	NetIpv4TcpMaxSynBacklog *float64 `field:"optional" json:"netIpv4TcpMaxSynBacklog" yaml:"netIpv4TcpMaxSynBacklog"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_max_tw_buckets KubernetesCluster#net_ipv4_tcp_max_tw_buckets}.
	NetIpv4TcpMaxTwBuckets *float64 `field:"optional" json:"netIpv4TcpMaxTwBuckets" yaml:"netIpv4TcpMaxTwBuckets"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_ipv4_tcp_tw_reuse KubernetesCluster#net_ipv4_tcp_tw_reuse}.
	NetIpv4TcpTwReuse interface{} `field:"optional" json:"netIpv4TcpTwReuse" yaml:"netIpv4TcpTwReuse"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_netfilter_nf_conntrack_buckets KubernetesCluster#net_netfilter_nf_conntrack_buckets}.
	NetNetfilterNfConntrackBuckets *float64 `field:"optional" json:"netNetfilterNfConntrackBuckets" yaml:"netNetfilterNfConntrackBuckets"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#net_netfilter_nf_conntrack_max KubernetesCluster#net_netfilter_nf_conntrack_max}.
	NetNetfilterNfConntrackMax *float64 `field:"optional" json:"netNetfilterNfConntrackMax" yaml:"netNetfilterNfConntrackMax"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vm_max_map_count KubernetesCluster#vm_max_map_count}.
	VmMaxMapCount *float64 `field:"optional" json:"vmMaxMapCount" yaml:"vmMaxMapCount"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vm_swappiness KubernetesCluster#vm_swappiness}.
	VmSwappiness *float64 `field:"optional" json:"vmSwappiness" yaml:"vmSwappiness"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vm_vfs_cache_pressure KubernetesCluster#vm_vfs_cache_pressure}.
	VmVfsCachePressure *float64 `field:"optional" json:"vmVfsCachePressure" yaml:"vmVfsCachePressure"`
}

type KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference

type KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	FsAioMaxNr() *float64
	SetFsAioMaxNr(val *float64)
	FsAioMaxNrInput() *float64
	FsFileMax() *float64
	SetFsFileMax(val *float64)
	FsFileMaxInput() *float64
	FsInotifyMaxUserWatches() *float64
	SetFsInotifyMaxUserWatches(val *float64)
	FsInotifyMaxUserWatchesInput() *float64
	FsNrOpen() *float64
	SetFsNrOpen(val *float64)
	FsNrOpenInput() *float64
	InternalValue() *KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig
	SetInternalValue(val *KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfig)
	KernelThreadsMax() *float64
	SetKernelThreadsMax(val *float64)
	KernelThreadsMaxInput() *float64
	NetCoreNetdevMaxBacklog() *float64
	SetNetCoreNetdevMaxBacklog(val *float64)
	NetCoreNetdevMaxBacklogInput() *float64
	NetCoreOptmemMax() *float64
	SetNetCoreOptmemMax(val *float64)
	NetCoreOptmemMaxInput() *float64
	NetCoreRmemDefault() *float64
	SetNetCoreRmemDefault(val *float64)
	NetCoreRmemDefaultInput() *float64
	NetCoreRmemMax() *float64
	SetNetCoreRmemMax(val *float64)
	NetCoreRmemMaxInput() *float64
	NetCoreSomaxconn() *float64
	SetNetCoreSomaxconn(val *float64)
	NetCoreSomaxconnInput() *float64
	NetCoreWmemDefault() *float64
	SetNetCoreWmemDefault(val *float64)
	NetCoreWmemDefaultInput() *float64
	NetCoreWmemMax() *float64
	SetNetCoreWmemMax(val *float64)
	NetCoreWmemMaxInput() *float64
	NetIpv4IpLocalPortRangeMax() *float64
	SetNetIpv4IpLocalPortRangeMax(val *float64)
	NetIpv4IpLocalPortRangeMaxInput() *float64
	NetIpv4IpLocalPortRangeMin() *float64
	SetNetIpv4IpLocalPortRangeMin(val *float64)
	NetIpv4IpLocalPortRangeMinInput() *float64
	NetIpv4NeighDefaultGcThresh1() *float64
	SetNetIpv4NeighDefaultGcThresh1(val *float64)
	NetIpv4NeighDefaultGcThresh1Input() *float64
	NetIpv4NeighDefaultGcThresh2() *float64
	SetNetIpv4NeighDefaultGcThresh2(val *float64)
	NetIpv4NeighDefaultGcThresh2Input() *float64
	NetIpv4NeighDefaultGcThresh3() *float64
	SetNetIpv4NeighDefaultGcThresh3(val *float64)
	NetIpv4NeighDefaultGcThresh3Input() *float64
	NetIpv4TcpFinTimeout() *float64
	SetNetIpv4TcpFinTimeout(val *float64)
	NetIpv4TcpFinTimeoutInput() *float64
	NetIpv4TcpKeepaliveIntvl() *float64
	SetNetIpv4TcpKeepaliveIntvl(val *float64)
	NetIpv4TcpKeepaliveIntvlInput() *float64
	NetIpv4TcpKeepaliveProbes() *float64
	SetNetIpv4TcpKeepaliveProbes(val *float64)
	NetIpv4TcpKeepaliveProbesInput() *float64
	NetIpv4TcpKeepaliveTime() *float64
	SetNetIpv4TcpKeepaliveTime(val *float64)
	NetIpv4TcpKeepaliveTimeInput() *float64
	NetIpv4TcpMaxSynBacklog() *float64
	SetNetIpv4TcpMaxSynBacklog(val *float64)
	NetIpv4TcpMaxSynBacklogInput() *float64
	NetIpv4TcpMaxTwBuckets() *float64
	SetNetIpv4TcpMaxTwBuckets(val *float64)
	NetIpv4TcpMaxTwBucketsInput() *float64
	NetIpv4TcpTwReuse() interface{}
	SetNetIpv4TcpTwReuse(val interface{})
	NetIpv4TcpTwReuseInput() interface{}
	NetNetfilterNfConntrackBuckets() *float64
	SetNetNetfilterNfConntrackBuckets(val *float64)
	NetNetfilterNfConntrackBucketsInput() *float64
	NetNetfilterNfConntrackMax() *float64
	SetNetNetfilterNfConntrackMax(val *float64)
	NetNetfilterNfConntrackMaxInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	VmMaxMapCount() *float64
	SetVmMaxMapCount(val *float64)
	VmMaxMapCountInput() *float64
	VmSwappiness() *float64
	SetVmSwappiness(val *float64)
	VmSwappinessInput() *float64
	VmVfsCachePressure() *float64
	SetVmVfsCachePressure(val *float64)
	VmVfsCachePressureInput() *float64
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetFsAioMaxNr()
	ResetFsFileMax()
	ResetFsInotifyMaxUserWatches()
	ResetFsNrOpen()
	ResetKernelThreadsMax()
	ResetNetCoreNetdevMaxBacklog()
	ResetNetCoreOptmemMax()
	ResetNetCoreRmemDefault()
	ResetNetCoreRmemMax()
	ResetNetCoreSomaxconn()
	ResetNetCoreWmemDefault()
	ResetNetCoreWmemMax()
	ResetNetIpv4IpLocalPortRangeMax()
	ResetNetIpv4IpLocalPortRangeMin()
	ResetNetIpv4NeighDefaultGcThresh1()
	ResetNetIpv4NeighDefaultGcThresh2()
	ResetNetIpv4NeighDefaultGcThresh3()
	ResetNetIpv4TcpFinTimeout()
	ResetNetIpv4TcpKeepaliveIntvl()
	ResetNetIpv4TcpKeepaliveProbes()
	ResetNetIpv4TcpKeepaliveTime()
	ResetNetIpv4TcpMaxSynBacklog()
	ResetNetIpv4TcpMaxTwBuckets()
	ResetNetIpv4TcpTwReuse()
	ResetNetNetfilterNfConntrackBuckets()
	ResetNetNetfilterNfConntrackMax()
	ResetVmMaxMapCount()
	ResetVmSwappiness()
	ResetVmVfsCachePressure()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference

func NewKubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolLinuxOsConfigSysctlConfigOutputReference

type KubernetesClusterDefaultNodePoolNodeNetworkProfile

type KubernetesClusterDefaultNodePoolNodeNetworkProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#node_public_ip_tags KubernetesCluster#node_public_ip_tags}.
	NodePublicIpTags *map[string]*string `field:"optional" json:"nodePublicIpTags" yaml:"nodePublicIpTags"`
}

type KubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference

type KubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterDefaultNodePoolNodeNetworkProfile
	SetInternalValue(val *KubernetesClusterDefaultNodePoolNodeNetworkProfile)
	NodePublicIpTags() *map[string]*string
	SetNodePublicIpTags(val *map[string]*string)
	NodePublicIpTagsInput() *map[string]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetNodePublicIpTags()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference

func NewKubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference

type KubernetesClusterDefaultNodePoolOutputReference

type KubernetesClusterDefaultNodePoolOutputReference interface {
	cdktf.ComplexObject
	CapacityReservationGroupId() *string
	SetCapacityReservationGroupId(val *string)
	CapacityReservationGroupIdInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	CustomCaTrustEnabled() interface{}
	SetCustomCaTrustEnabled(val interface{})
	CustomCaTrustEnabledInput() interface{}
	EnableAutoScaling() interface{}
	SetEnableAutoScaling(val interface{})
	EnableAutoScalingInput() interface{}
	EnableHostEncryption() interface{}
	SetEnableHostEncryption(val interface{})
	EnableHostEncryptionInput() interface{}
	EnableNodePublicIp() interface{}
	SetEnableNodePublicIp(val interface{})
	EnableNodePublicIpInput() interface{}
	FipsEnabled() interface{}
	SetFipsEnabled(val interface{})
	FipsEnabledInput() interface{}
	// Experimental.
	Fqn() *string
	HostGroupId() *string
	SetHostGroupId(val *string)
	HostGroupIdInput() *string
	InternalValue() *KubernetesClusterDefaultNodePool
	SetInternalValue(val *KubernetesClusterDefaultNodePool)
	KubeletConfig() KubernetesClusterDefaultNodePoolKubeletConfigOutputReference
	KubeletConfigInput() *KubernetesClusterDefaultNodePoolKubeletConfig
	KubeletDiskType() *string
	SetKubeletDiskType(val *string)
	KubeletDiskTypeInput() *string
	LinuxOsConfig() KubernetesClusterDefaultNodePoolLinuxOsConfigOutputReference
	LinuxOsConfigInput() *KubernetesClusterDefaultNodePoolLinuxOsConfig
	MaxCount() *float64
	SetMaxCount(val *float64)
	MaxCountInput() *float64
	MaxPods() *float64
	SetMaxPods(val *float64)
	MaxPodsInput() *float64
	MessageOfTheDay() *string
	SetMessageOfTheDay(val *string)
	MessageOfTheDayInput() *string
	MinCount() *float64
	SetMinCount(val *float64)
	MinCountInput() *float64
	Name() *string
	SetName(val *string)
	NameInput() *string
	NodeCount() *float64
	SetNodeCount(val *float64)
	NodeCountInput() *float64
	NodeLabels() *map[string]*string
	SetNodeLabels(val *map[string]*string)
	NodeLabelsInput() *map[string]*string
	NodeNetworkProfile() KubernetesClusterDefaultNodePoolNodeNetworkProfileOutputReference
	NodeNetworkProfileInput() *KubernetesClusterDefaultNodePoolNodeNetworkProfile
	NodePublicIpPrefixId() *string
	SetNodePublicIpPrefixId(val *string)
	NodePublicIpPrefixIdInput() *string
	NodeTaints() *[]*string
	SetNodeTaints(val *[]*string)
	NodeTaintsInput() *[]*string
	OnlyCriticalAddonsEnabled() interface{}
	SetOnlyCriticalAddonsEnabled(val interface{})
	OnlyCriticalAddonsEnabledInput() interface{}
	OrchestratorVersion() *string
	SetOrchestratorVersion(val *string)
	OrchestratorVersionInput() *string
	OsDiskSizeGb() *float64
	SetOsDiskSizeGb(val *float64)
	OsDiskSizeGbInput() *float64
	OsDiskType() *string
	SetOsDiskType(val *string)
	OsDiskTypeInput() *string
	OsSku() *string
	SetOsSku(val *string)
	OsSkuInput() *string
	PodSubnetId() *string
	SetPodSubnetId(val *string)
	PodSubnetIdInput() *string
	ProximityPlacementGroupId() *string
	SetProximityPlacementGroupId(val *string)
	ProximityPlacementGroupIdInput() *string
	ScaleDownMode() *string
	SetScaleDownMode(val *string)
	ScaleDownModeInput() *string
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	TagsInput() *map[string]*string
	TemporaryNameForRotation() *string
	SetTemporaryNameForRotation(val *string)
	TemporaryNameForRotationInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Type() *string
	SetType(val *string)
	TypeInput() *string
	UltraSsdEnabled() interface{}
	SetUltraSsdEnabled(val interface{})
	UltraSsdEnabledInput() interface{}
	UpgradeSettings() KubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference
	UpgradeSettingsInput() *KubernetesClusterDefaultNodePoolUpgradeSettings
	VmSize() *string
	SetVmSize(val *string)
	VmSizeInput() *string
	VnetSubnetId() *string
	SetVnetSubnetId(val *string)
	VnetSubnetIdInput() *string
	WorkloadRuntime() *string
	SetWorkloadRuntime(val *string)
	WorkloadRuntimeInput() *string
	Zones() *[]*string
	SetZones(val *[]*string)
	ZonesInput() *[]*string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutKubeletConfig(value *KubernetesClusterDefaultNodePoolKubeletConfig)
	PutLinuxOsConfig(value *KubernetesClusterDefaultNodePoolLinuxOsConfig)
	PutNodeNetworkProfile(value *KubernetesClusterDefaultNodePoolNodeNetworkProfile)
	PutUpgradeSettings(value *KubernetesClusterDefaultNodePoolUpgradeSettings)
	ResetCapacityReservationGroupId()
	ResetCustomCaTrustEnabled()
	ResetEnableAutoScaling()
	ResetEnableHostEncryption()
	ResetEnableNodePublicIp()
	ResetFipsEnabled()
	ResetHostGroupId()
	ResetKubeletConfig()
	ResetKubeletDiskType()
	ResetLinuxOsConfig()
	ResetMaxCount()
	ResetMaxPods()
	ResetMessageOfTheDay()
	ResetMinCount()
	ResetNodeCount()
	ResetNodeLabels()
	ResetNodeNetworkProfile()
	ResetNodePublicIpPrefixId()
	ResetNodeTaints()
	ResetOnlyCriticalAddonsEnabled()
	ResetOrchestratorVersion()
	ResetOsDiskSizeGb()
	ResetOsDiskType()
	ResetOsSku()
	ResetPodSubnetId()
	ResetProximityPlacementGroupId()
	ResetScaleDownMode()
	ResetTags()
	ResetTemporaryNameForRotation()
	ResetType()
	ResetUltraSsdEnabled()
	ResetUpgradeSettings()
	ResetVnetSubnetId()
	ResetWorkloadRuntime()
	ResetZones()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolOutputReference

func NewKubernetesClusterDefaultNodePoolOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolOutputReference

type KubernetesClusterDefaultNodePoolUpgradeSettings

type KubernetesClusterDefaultNodePoolUpgradeSettings struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#max_surge KubernetesCluster#max_surge}.
	MaxSurge *string `field:"required" json:"maxSurge" yaml:"maxSurge"`
}

type KubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference

type KubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterDefaultNodePoolUpgradeSettings
	SetInternalValue(val *KubernetesClusterDefaultNodePoolUpgradeSettings)
	MaxSurge() *string
	SetMaxSurge(val *string)
	MaxSurgeInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference

func NewKubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterDefaultNodePoolUpgradeSettingsOutputReference

type KubernetesClusterHttpProxyConfig

type KubernetesClusterHttpProxyConfig struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#http_proxy KubernetesCluster#http_proxy}.
	HttpProxy *string `field:"optional" json:"httpProxy" yaml:"httpProxy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#https_proxy KubernetesCluster#https_proxy}.
	HttpsProxy *string `field:"optional" json:"httpsProxy" yaml:"httpsProxy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#no_proxy KubernetesCluster#no_proxy}.
	NoProxy *[]*string `field:"optional" json:"noProxy" yaml:"noProxy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#trusted_ca KubernetesCluster#trusted_ca}.
	TrustedCa *string `field:"optional" json:"trustedCa" yaml:"trustedCa"`
}

type KubernetesClusterHttpProxyConfigOutputReference

type KubernetesClusterHttpProxyConfigOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	HttpProxy() *string
	SetHttpProxy(val *string)
	HttpProxyInput() *string
	HttpsProxy() *string
	SetHttpsProxy(val *string)
	HttpsProxyInput() *string
	InternalValue() *KubernetesClusterHttpProxyConfig
	SetInternalValue(val *KubernetesClusterHttpProxyConfig)
	NoProxy() *[]*string
	SetNoProxy(val *[]*string)
	NoProxyInput() *[]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	TrustedCa() *string
	SetTrustedCa(val *string)
	TrustedCaInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetHttpProxy()
	ResetHttpsProxy()
	ResetNoProxy()
	ResetTrustedCa()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterHttpProxyConfigOutputReference

func NewKubernetesClusterHttpProxyConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterHttpProxyConfigOutputReference

type KubernetesClusterIdentity

type KubernetesClusterIdentity struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#type KubernetesCluster#type}.
	Type *string `field:"required" json:"type" yaml:"type"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#identity_ids KubernetesCluster#identity_ids}.
	IdentityIds *[]*string `field:"optional" json:"identityIds" yaml:"identityIds"`
}

type KubernetesClusterIdentityOutputReference

type KubernetesClusterIdentityOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	IdentityIds() *[]*string
	SetIdentityIds(val *[]*string)
	IdentityIdsInput() *[]*string
	InternalValue() *KubernetesClusterIdentity
	SetInternalValue(val *KubernetesClusterIdentity)
	PrincipalId() *string
	TenantId() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Type() *string
	SetType(val *string)
	TypeInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetIdentityIds()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterIdentityOutputReference

func NewKubernetesClusterIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterIdentityOutputReference

type KubernetesClusterIngressApplicationGateway

type KubernetesClusterIngressApplicationGateway struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#gateway_id KubernetesCluster#gateway_id}.
	GatewayId *string `field:"optional" json:"gatewayId" yaml:"gatewayId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#gateway_name KubernetesCluster#gateway_name}.
	GatewayName *string `field:"optional" json:"gatewayName" yaml:"gatewayName"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#subnet_cidr KubernetesCluster#subnet_cidr}.
	SubnetCidr *string `field:"optional" json:"subnetCidr" yaml:"subnetCidr"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#subnet_id KubernetesCluster#subnet_id}.
	SubnetId *string `field:"optional" json:"subnetId" yaml:"subnetId"`
}

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity struct {
}

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference

type KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity
	SetInternalValue(val *KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentity)
	ObjectId() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UserAssignedIdentityId() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference

func NewKubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityOutputReference

type KubernetesClusterIngressApplicationGatewayOutputReference

type KubernetesClusterIngressApplicationGatewayOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EffectiveGatewayId() *string
	// Experimental.
	Fqn() *string
	GatewayId() *string
	SetGatewayId(val *string)
	GatewayIdInput() *string
	GatewayName() *string
	SetGatewayName(val *string)
	GatewayNameInput() *string
	IngressApplicationGatewayIdentity() KubernetesClusterIngressApplicationGatewayIngressApplicationGatewayIdentityList
	InternalValue() *KubernetesClusterIngressApplicationGateway
	SetInternalValue(val *KubernetesClusterIngressApplicationGateway)
	SubnetCidr() *string
	SetSubnetCidr(val *string)
	SubnetCidrInput() *string
	SubnetId() *string
	SetSubnetId(val *string)
	SubnetIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetGatewayId()
	ResetGatewayName()
	ResetSubnetCidr()
	ResetSubnetId()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterIngressApplicationGatewayOutputReference

func NewKubernetesClusterIngressApplicationGatewayOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterIngressApplicationGatewayOutputReference

type KubernetesClusterKeyManagementService

type KubernetesClusterKeyManagementService struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#key_vault_key_id KubernetesCluster#key_vault_key_id}.
	KeyVaultKeyId *string `field:"required" json:"keyVaultKeyId" yaml:"keyVaultKeyId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#key_vault_network_access KubernetesCluster#key_vault_network_access}.
	KeyVaultNetworkAccess *string `field:"optional" json:"keyVaultNetworkAccess" yaml:"keyVaultNetworkAccess"`
}

type KubernetesClusterKeyManagementServiceOutputReference

type KubernetesClusterKeyManagementServiceOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterKeyManagementService
	SetInternalValue(val *KubernetesClusterKeyManagementService)
	KeyVaultKeyId() *string
	SetKeyVaultKeyId(val *string)
	KeyVaultKeyIdInput() *string
	KeyVaultNetworkAccess() *string
	SetKeyVaultNetworkAccess(val *string)
	KeyVaultNetworkAccessInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetKeyVaultNetworkAccess()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKeyManagementServiceOutputReference

func NewKubernetesClusterKeyManagementServiceOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterKeyManagementServiceOutputReference

type KubernetesClusterKeyVaultSecretsProvider

type KubernetesClusterKeyVaultSecretsProvider struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#secret_rotation_enabled KubernetesCluster#secret_rotation_enabled}.
	SecretRotationEnabled interface{} `field:"optional" json:"secretRotationEnabled" yaml:"secretRotationEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#secret_rotation_interval KubernetesCluster#secret_rotation_interval}.
	SecretRotationInterval *string `field:"optional" json:"secretRotationInterval" yaml:"secretRotationInterval"`
}

type KubernetesClusterKeyVaultSecretsProviderOutputReference

type KubernetesClusterKeyVaultSecretsProviderOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterKeyVaultSecretsProvider
	SetInternalValue(val *KubernetesClusterKeyVaultSecretsProvider)
	SecretIdentity() KubernetesClusterKeyVaultSecretsProviderSecretIdentityList
	SecretRotationEnabled() interface{}
	SetSecretRotationEnabled(val interface{})
	SecretRotationEnabledInput() interface{}
	SecretRotationInterval() *string
	SetSecretRotationInterval(val *string)
	SecretRotationIntervalInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetSecretRotationEnabled()
	ResetSecretRotationInterval()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKeyVaultSecretsProviderOutputReference

func NewKubernetesClusterKeyVaultSecretsProviderOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterKeyVaultSecretsProviderOutputReference

type KubernetesClusterKeyVaultSecretsProviderSecretIdentity

type KubernetesClusterKeyVaultSecretsProviderSecretIdentity struct {
}

type KubernetesClusterKeyVaultSecretsProviderSecretIdentityList

type KubernetesClusterKeyVaultSecretsProviderSecretIdentityList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityList

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterKeyVaultSecretsProviderSecretIdentityList

type KubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference

type KubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterKeyVaultSecretsProviderSecretIdentity
	SetInternalValue(val *KubernetesClusterKeyVaultSecretsProviderSecretIdentity)
	ObjectId() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UserAssignedIdentityId() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference

func NewKubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterKeyVaultSecretsProviderSecretIdentityOutputReference

type KubernetesClusterKubeAdminConfig

type KubernetesClusterKubeAdminConfig struct {
}

type KubernetesClusterKubeAdminConfigList

type KubernetesClusterKubeAdminConfigList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterKubeAdminConfigOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKubeAdminConfigList

func NewKubernetesClusterKubeAdminConfigList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterKubeAdminConfigList

type KubernetesClusterKubeAdminConfigOutputReference

type KubernetesClusterKubeAdminConfigOutputReference interface {
	cdktf.ComplexObject
	ClientCertificate() *string
	ClientKey() *string
	ClusterCaCertificate() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	Host() *string
	InternalValue() *KubernetesClusterKubeAdminConfig
	SetInternalValue(val *KubernetesClusterKubeAdminConfig)
	Password() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Username() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKubeAdminConfigOutputReference

func NewKubernetesClusterKubeAdminConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterKubeAdminConfigOutputReference

type KubernetesClusterKubeConfig

type KubernetesClusterKubeConfig struct {
}

type KubernetesClusterKubeConfigList

type KubernetesClusterKubeConfigList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterKubeConfigOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKubeConfigList

func NewKubernetesClusterKubeConfigList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterKubeConfigList

type KubernetesClusterKubeConfigOutputReference

type KubernetesClusterKubeConfigOutputReference interface {
	cdktf.ComplexObject
	ClientCertificate() *string
	ClientKey() *string
	ClusterCaCertificate() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	Host() *string
	InternalValue() *KubernetesClusterKubeConfig
	SetInternalValue(val *KubernetesClusterKubeConfig)
	Password() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Username() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKubeConfigOutputReference

func NewKubernetesClusterKubeConfigOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterKubeConfigOutputReference

type KubernetesClusterKubeletIdentity

type KubernetesClusterKubeletIdentity struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#client_id KubernetesCluster#client_id}.
	ClientId *string `field:"optional" json:"clientId" yaml:"clientId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#object_id KubernetesCluster#object_id}.
	ObjectId *string `field:"optional" json:"objectId" yaml:"objectId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#user_assigned_identity_id KubernetesCluster#user_assigned_identity_id}.
	UserAssignedIdentityId *string `field:"optional" json:"userAssignedIdentityId" yaml:"userAssignedIdentityId"`
}

type KubernetesClusterKubeletIdentityOutputReference

type KubernetesClusterKubeletIdentityOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	SetClientId(val *string)
	ClientIdInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterKubeletIdentity
	SetInternalValue(val *KubernetesClusterKubeletIdentity)
	ObjectId() *string
	SetObjectId(val *string)
	ObjectIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UserAssignedIdentityId() *string
	SetUserAssignedIdentityId(val *string)
	UserAssignedIdentityIdInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetClientId()
	ResetObjectId()
	ResetUserAssignedIdentityId()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterKubeletIdentityOutputReference

func NewKubernetesClusterKubeletIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterKubeletIdentityOutputReference

type KubernetesClusterLinuxProfile

type KubernetesClusterLinuxProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#admin_username KubernetesCluster#admin_username}.
	AdminUsername *string `field:"required" json:"adminUsername" yaml:"adminUsername"`
	// ssh_key block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#ssh_key KubernetesCluster#ssh_key}
	SshKey *KubernetesClusterLinuxProfileSshKey `field:"required" json:"sshKey" yaml:"sshKey"`
}

type KubernetesClusterLinuxProfileOutputReference

type KubernetesClusterLinuxProfileOutputReference interface {
	cdktf.ComplexObject
	AdminUsername() *string
	SetAdminUsername(val *string)
	AdminUsernameInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterLinuxProfile
	SetInternalValue(val *KubernetesClusterLinuxProfile)
	SshKey() KubernetesClusterLinuxProfileSshKeyOutputReference
	SshKeyInput() *KubernetesClusterLinuxProfileSshKey
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutSshKey(value *KubernetesClusterLinuxProfileSshKey)
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterLinuxProfileOutputReference

func NewKubernetesClusterLinuxProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterLinuxProfileOutputReference

type KubernetesClusterLinuxProfileSshKey

type KubernetesClusterLinuxProfileSshKey struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#key_data KubernetesCluster#key_data}.
	KeyData *string `field:"required" json:"keyData" yaml:"keyData"`
}

type KubernetesClusterLinuxProfileSshKeyOutputReference

type KubernetesClusterLinuxProfileSshKeyOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterLinuxProfileSshKey
	SetInternalValue(val *KubernetesClusterLinuxProfileSshKey)
	KeyData() *string
	SetKeyData(val *string)
	KeyDataInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterLinuxProfileSshKeyOutputReference

func NewKubernetesClusterLinuxProfileSshKeyOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterLinuxProfileSshKeyOutputReference

type KubernetesClusterMaintenanceWindow

type KubernetesClusterMaintenanceWindow struct {
	// allowed block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#allowed KubernetesCluster#allowed}
	Allowed interface{} `field:"optional" json:"allowed" yaml:"allowed"`
	// not_allowed block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#not_allowed KubernetesCluster#not_allowed}
	NotAllowed interface{} `field:"optional" json:"notAllowed" yaml:"notAllowed"`
}

type KubernetesClusterMaintenanceWindowAllowed

type KubernetesClusterMaintenanceWindowAllowed struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#day KubernetesCluster#day}.
	Day *string `field:"required" json:"day" yaml:"day"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#hours KubernetesCluster#hours}.
	Hours *[]*float64 `field:"required" json:"hours" yaml:"hours"`
}

type KubernetesClusterMaintenanceWindowAllowedList

type KubernetesClusterMaintenanceWindowAllowedList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterMaintenanceWindowAllowedOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMaintenanceWindowAllowedList

func NewKubernetesClusterMaintenanceWindowAllowedList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterMaintenanceWindowAllowedList

type KubernetesClusterMaintenanceWindowAllowedOutputReference

type KubernetesClusterMaintenanceWindowAllowedOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Day() *string
	SetDay(val *string)
	DayInput() *string
	// Experimental.
	Fqn() *string
	Hours() *[]*float64
	SetHours(val *[]*float64)
	HoursInput() *[]*float64
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMaintenanceWindowAllowedOutputReference

func NewKubernetesClusterMaintenanceWindowAllowedOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterMaintenanceWindowAllowedOutputReference

type KubernetesClusterMaintenanceWindowNotAllowed

type KubernetesClusterMaintenanceWindowNotAllowed struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#end KubernetesCluster#end}.
	End *string `field:"required" json:"end" yaml:"end"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#start KubernetesCluster#start}.
	Start *string `field:"required" json:"start" yaml:"start"`
}

type KubernetesClusterMaintenanceWindowNotAllowedList

type KubernetesClusterMaintenanceWindowNotAllowedList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterMaintenanceWindowNotAllowedOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMaintenanceWindowNotAllowedList

func NewKubernetesClusterMaintenanceWindowNotAllowedList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterMaintenanceWindowNotAllowedList

type KubernetesClusterMaintenanceWindowNotAllowedOutputReference

type KubernetesClusterMaintenanceWindowNotAllowedOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	End() *string
	SetEnd(val *string)
	EndInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Start() *string
	SetStart(val *string)
	StartInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMaintenanceWindowNotAllowedOutputReference

func NewKubernetesClusterMaintenanceWindowNotAllowedOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterMaintenanceWindowNotAllowedOutputReference

type KubernetesClusterMaintenanceWindowOutputReference

type KubernetesClusterMaintenanceWindowOutputReference interface {
	cdktf.ComplexObject
	Allowed() KubernetesClusterMaintenanceWindowAllowedList
	AllowedInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterMaintenanceWindow
	SetInternalValue(val *KubernetesClusterMaintenanceWindow)
	NotAllowed() KubernetesClusterMaintenanceWindowNotAllowedList
	NotAllowedInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutAllowed(value interface{})
	PutNotAllowed(value interface{})
	ResetAllowed()
	ResetNotAllowed()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMaintenanceWindowOutputReference

func NewKubernetesClusterMaintenanceWindowOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterMaintenanceWindowOutputReference

type KubernetesClusterMicrosoftDefender

type KubernetesClusterMicrosoftDefender struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#log_analytics_workspace_id KubernetesCluster#log_analytics_workspace_id}.
	LogAnalyticsWorkspaceId *string `field:"required" json:"logAnalyticsWorkspaceId" yaml:"logAnalyticsWorkspaceId"`
}

type KubernetesClusterMicrosoftDefenderOutputReference

type KubernetesClusterMicrosoftDefenderOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterMicrosoftDefender
	SetInternalValue(val *KubernetesClusterMicrosoftDefender)
	LogAnalyticsWorkspaceId() *string
	SetLogAnalyticsWorkspaceId(val *string)
	LogAnalyticsWorkspaceIdInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMicrosoftDefenderOutputReference

func NewKubernetesClusterMicrosoftDefenderOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterMicrosoftDefenderOutputReference

type KubernetesClusterMonitorMetrics

type KubernetesClusterMonitorMetrics struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#annotations_allowed KubernetesCluster#annotations_allowed}.
	AnnotationsAllowed *string `field:"optional" json:"annotationsAllowed" yaml:"annotationsAllowed"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#labels_allowed KubernetesCluster#labels_allowed}.
	LabelsAllowed *string `field:"optional" json:"labelsAllowed" yaml:"labelsAllowed"`
}

type KubernetesClusterMonitorMetricsOutputReference

type KubernetesClusterMonitorMetricsOutputReference interface {
	cdktf.ComplexObject
	AnnotationsAllowed() *string
	SetAnnotationsAllowed(val *string)
	AnnotationsAllowedInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterMonitorMetrics
	SetInternalValue(val *KubernetesClusterMonitorMetrics)
	LabelsAllowed() *string
	SetLabelsAllowed(val *string)
	LabelsAllowedInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetAnnotationsAllowed()
	ResetLabelsAllowed()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterMonitorMetricsOutputReference

func NewKubernetesClusterMonitorMetricsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterMonitorMetricsOutputReference

type KubernetesClusterNetworkProfile

type KubernetesClusterNetworkProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#network_plugin KubernetesCluster#network_plugin}.
	NetworkPlugin *string `field:"required" json:"networkPlugin" yaml:"networkPlugin"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#dns_service_ip KubernetesCluster#dns_service_ip}.
	DnsServiceIp *string `field:"optional" json:"dnsServiceIp" yaml:"dnsServiceIp"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#docker_bridge_cidr KubernetesCluster#docker_bridge_cidr}.
	DockerBridgeCidr *string `field:"optional" json:"dockerBridgeCidr" yaml:"dockerBridgeCidr"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#ebpf_data_plane KubernetesCluster#ebpf_data_plane}.
	EbpfDataPlane *string `field:"optional" json:"ebpfDataPlane" yaml:"ebpfDataPlane"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#ip_versions KubernetesCluster#ip_versions}.
	IpVersions *[]*string `field:"optional" json:"ipVersions" yaml:"ipVersions"`
	// load_balancer_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#load_balancer_profile KubernetesCluster#load_balancer_profile}
	LoadBalancerProfile *KubernetesClusterNetworkProfileLoadBalancerProfile `field:"optional" json:"loadBalancerProfile" yaml:"loadBalancerProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#load_balancer_sku KubernetesCluster#load_balancer_sku}.
	LoadBalancerSku *string `field:"optional" json:"loadBalancerSku" yaml:"loadBalancerSku"`
	// nat_gateway_profile block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#nat_gateway_profile KubernetesCluster#nat_gateway_profile}
	NatGatewayProfile *KubernetesClusterNetworkProfileNatGatewayProfile `field:"optional" json:"natGatewayProfile" yaml:"natGatewayProfile"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#network_mode KubernetesCluster#network_mode}.
	NetworkMode *string `field:"optional" json:"networkMode" yaml:"networkMode"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#network_plugin_mode KubernetesCluster#network_plugin_mode}.
	NetworkPluginMode *string `field:"optional" json:"networkPluginMode" yaml:"networkPluginMode"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#network_policy KubernetesCluster#network_policy}.
	NetworkPolicy *string `field:"optional" json:"networkPolicy" yaml:"networkPolicy"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#outbound_type KubernetesCluster#outbound_type}.
	OutboundType *string `field:"optional" json:"outboundType" yaml:"outboundType"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#pod_cidr KubernetesCluster#pod_cidr}.
	PodCidr *string `field:"optional" json:"podCidr" yaml:"podCidr"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#pod_cidrs KubernetesCluster#pod_cidrs}.
	PodCidrs *[]*string `field:"optional" json:"podCidrs" yaml:"podCidrs"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#service_cidr KubernetesCluster#service_cidr}.
	ServiceCidr *string `field:"optional" json:"serviceCidr" yaml:"serviceCidr"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#service_cidrs KubernetesCluster#service_cidrs}.
	ServiceCidrs *[]*string `field:"optional" json:"serviceCidrs" yaml:"serviceCidrs"`
}

type KubernetesClusterNetworkProfileLoadBalancerProfile

type KubernetesClusterNetworkProfileLoadBalancerProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#idle_timeout_in_minutes KubernetesCluster#idle_timeout_in_minutes}.
	IdleTimeoutInMinutes *float64 `field:"optional" json:"idleTimeoutInMinutes" yaml:"idleTimeoutInMinutes"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#managed_outbound_ip_count KubernetesCluster#managed_outbound_ip_count}.
	ManagedOutboundIpCount *float64 `field:"optional" json:"managedOutboundIpCount" yaml:"managedOutboundIpCount"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#managed_outbound_ipv6_count KubernetesCluster#managed_outbound_ipv6_count}.
	ManagedOutboundIpv6Count *float64 `field:"optional" json:"managedOutboundIpv6Count" yaml:"managedOutboundIpv6Count"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#outbound_ip_address_ids KubernetesCluster#outbound_ip_address_ids}.
	OutboundIpAddressIds *[]*string `field:"optional" json:"outboundIpAddressIds" yaml:"outboundIpAddressIds"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#outbound_ip_prefix_ids KubernetesCluster#outbound_ip_prefix_ids}.
	OutboundIpPrefixIds *[]*string `field:"optional" json:"outboundIpPrefixIds" yaml:"outboundIpPrefixIds"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#outbound_ports_allocated KubernetesCluster#outbound_ports_allocated}.
	OutboundPortsAllocated *float64 `field:"optional" json:"outboundPortsAllocated" yaml:"outboundPortsAllocated"`
}

type KubernetesClusterNetworkProfileLoadBalancerProfileOutputReference

type KubernetesClusterNetworkProfileLoadBalancerProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EffectiveOutboundIps() *[]*string
	// Experimental.
	Fqn() *string
	IdleTimeoutInMinutes() *float64
	SetIdleTimeoutInMinutes(val *float64)
	IdleTimeoutInMinutesInput() *float64
	InternalValue() *KubernetesClusterNetworkProfileLoadBalancerProfile
	SetInternalValue(val *KubernetesClusterNetworkProfileLoadBalancerProfile)
	ManagedOutboundIpCount() *float64
	SetManagedOutboundIpCount(val *float64)
	ManagedOutboundIpCountInput() *float64
	ManagedOutboundIpv6Count() *float64
	SetManagedOutboundIpv6Count(val *float64)
	ManagedOutboundIpv6CountInput() *float64
	OutboundIpAddressIds() *[]*string
	SetOutboundIpAddressIds(val *[]*string)
	OutboundIpAddressIdsInput() *[]*string
	OutboundIpPrefixIds() *[]*string
	SetOutboundIpPrefixIds(val *[]*string)
	OutboundIpPrefixIdsInput() *[]*string
	OutboundPortsAllocated() *float64
	SetOutboundPortsAllocated(val *float64)
	OutboundPortsAllocatedInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetIdleTimeoutInMinutes()
	ResetManagedOutboundIpCount()
	ResetManagedOutboundIpv6Count()
	ResetOutboundIpAddressIds()
	ResetOutboundIpPrefixIds()
	ResetOutboundPortsAllocated()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterNetworkProfileLoadBalancerProfileOutputReference

func NewKubernetesClusterNetworkProfileLoadBalancerProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterNetworkProfileLoadBalancerProfileOutputReference

type KubernetesClusterNetworkProfileNatGatewayProfile

type KubernetesClusterNetworkProfileNatGatewayProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#idle_timeout_in_minutes KubernetesCluster#idle_timeout_in_minutes}.
	IdleTimeoutInMinutes *float64 `field:"optional" json:"idleTimeoutInMinutes" yaml:"idleTimeoutInMinutes"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#managed_outbound_ip_count KubernetesCluster#managed_outbound_ip_count}.
	ManagedOutboundIpCount *float64 `field:"optional" json:"managedOutboundIpCount" yaml:"managedOutboundIpCount"`
}

type KubernetesClusterNetworkProfileNatGatewayProfileOutputReference

type KubernetesClusterNetworkProfileNatGatewayProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	EffectiveOutboundIps() *[]*string
	// Experimental.
	Fqn() *string
	IdleTimeoutInMinutes() *float64
	SetIdleTimeoutInMinutes(val *float64)
	IdleTimeoutInMinutesInput() *float64
	InternalValue() *KubernetesClusterNetworkProfileNatGatewayProfile
	SetInternalValue(val *KubernetesClusterNetworkProfileNatGatewayProfile)
	ManagedOutboundIpCount() *float64
	SetManagedOutboundIpCount(val *float64)
	ManagedOutboundIpCountInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetIdleTimeoutInMinutes()
	ResetManagedOutboundIpCount()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterNetworkProfileNatGatewayProfileOutputReference

func NewKubernetesClusterNetworkProfileNatGatewayProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterNetworkProfileNatGatewayProfileOutputReference

type KubernetesClusterNetworkProfileOutputReference

type KubernetesClusterNetworkProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DnsServiceIp() *string
	SetDnsServiceIp(val *string)
	DnsServiceIpInput() *string
	DockerBridgeCidr() *string
	SetDockerBridgeCidr(val *string)
	DockerBridgeCidrInput() *string
	EbpfDataPlane() *string
	SetEbpfDataPlane(val *string)
	EbpfDataPlaneInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterNetworkProfile
	SetInternalValue(val *KubernetesClusterNetworkProfile)
	IpVersions() *[]*string
	SetIpVersions(val *[]*string)
	IpVersionsInput() *[]*string
	LoadBalancerProfile() KubernetesClusterNetworkProfileLoadBalancerProfileOutputReference
	LoadBalancerProfileInput() *KubernetesClusterNetworkProfileLoadBalancerProfile
	LoadBalancerSku() *string
	SetLoadBalancerSku(val *string)
	LoadBalancerSkuInput() *string
	NatGatewayProfile() KubernetesClusterNetworkProfileNatGatewayProfileOutputReference
	NatGatewayProfileInput() *KubernetesClusterNetworkProfileNatGatewayProfile
	NetworkMode() *string
	SetNetworkMode(val *string)
	NetworkModeInput() *string
	NetworkPlugin() *string
	SetNetworkPlugin(val *string)
	NetworkPluginInput() *string
	NetworkPluginMode() *string
	SetNetworkPluginMode(val *string)
	NetworkPluginModeInput() *string
	NetworkPolicy() *string
	SetNetworkPolicy(val *string)
	NetworkPolicyInput() *string
	OutboundType() *string
	SetOutboundType(val *string)
	OutboundTypeInput() *string
	PodCidr() *string
	SetPodCidr(val *string)
	PodCidrInput() *string
	PodCidrs() *[]*string
	SetPodCidrs(val *[]*string)
	PodCidrsInput() *[]*string
	ServiceCidr() *string
	SetServiceCidr(val *string)
	ServiceCidrInput() *string
	ServiceCidrs() *[]*string
	SetServiceCidrs(val *[]*string)
	ServiceCidrsInput() *[]*string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutLoadBalancerProfile(value *KubernetesClusterNetworkProfileLoadBalancerProfile)
	PutNatGatewayProfile(value *KubernetesClusterNetworkProfileNatGatewayProfile)
	ResetDnsServiceIp()
	ResetDockerBridgeCidr()
	ResetEbpfDataPlane()
	ResetIpVersions()
	ResetLoadBalancerProfile()
	ResetLoadBalancerSku()
	ResetNatGatewayProfile()
	ResetNetworkMode()
	ResetNetworkPluginMode()
	ResetNetworkPolicy()
	ResetOutboundType()
	ResetPodCidr()
	ResetPodCidrs()
	ResetServiceCidr()
	ResetServiceCidrs()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterNetworkProfileOutputReference

func NewKubernetesClusterNetworkProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterNetworkProfileOutputReference

type KubernetesClusterOmsAgent

type KubernetesClusterOmsAgent struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#log_analytics_workspace_id KubernetesCluster#log_analytics_workspace_id}.
	LogAnalyticsWorkspaceId *string `field:"required" json:"logAnalyticsWorkspaceId" yaml:"logAnalyticsWorkspaceId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#msi_auth_for_monitoring_enabled KubernetesCluster#msi_auth_for_monitoring_enabled}.
	MsiAuthForMonitoringEnabled interface{} `field:"optional" json:"msiAuthForMonitoringEnabled" yaml:"msiAuthForMonitoringEnabled"`
}

type KubernetesClusterOmsAgentOmsAgentIdentity

type KubernetesClusterOmsAgentOmsAgentIdentity struct {
}

type KubernetesClusterOmsAgentOmsAgentIdentityList

type KubernetesClusterOmsAgentOmsAgentIdentityList interface {
	cdktf.ComplexList
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	// The attribute on the parent resource this class is referencing.
	TerraformAttribute() *string
	SetTerraformAttribute(val *string)
	// The parent resource.
	TerraformResource() cdktf.IInterpolatingParent
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// whether the list is wrapping a set (will add tolist() to be able to access an item via an index).
	WrapsSet() *bool
	SetWrapsSet(val *bool)
	// Experimental.
	ComputeFqn() *string
	Get(index *float64) KubernetesClusterOmsAgentOmsAgentIdentityOutputReference
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterOmsAgentOmsAgentIdentityList

func NewKubernetesClusterOmsAgentOmsAgentIdentityList(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, wrapsSet *bool) KubernetesClusterOmsAgentOmsAgentIdentityList

type KubernetesClusterOmsAgentOmsAgentIdentityOutputReference

type KubernetesClusterOmsAgentOmsAgentIdentityOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterOmsAgentOmsAgentIdentity
	SetInternalValue(val *KubernetesClusterOmsAgentOmsAgentIdentity)
	ObjectId() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	UserAssignedIdentityId() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterOmsAgentOmsAgentIdentityOutputReference

func NewKubernetesClusterOmsAgentOmsAgentIdentityOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string, complexObjectIndex *float64, complexObjectIsFromSet *bool) KubernetesClusterOmsAgentOmsAgentIdentityOutputReference

type KubernetesClusterOmsAgentOutputReference

type KubernetesClusterOmsAgentOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterOmsAgent
	SetInternalValue(val *KubernetesClusterOmsAgent)
	LogAnalyticsWorkspaceId() *string
	SetLogAnalyticsWorkspaceId(val *string)
	LogAnalyticsWorkspaceIdInput() *string
	MsiAuthForMonitoringEnabled() interface{}
	SetMsiAuthForMonitoringEnabled(val interface{})
	MsiAuthForMonitoringEnabledInput() interface{}
	OmsAgentIdentity() KubernetesClusterOmsAgentOmsAgentIdentityList
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetMsiAuthForMonitoringEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterOmsAgentOutputReference

func NewKubernetesClusterOmsAgentOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterOmsAgentOutputReference

type KubernetesClusterServiceMeshProfile added in v7.0.2

type KubernetesClusterServiceMeshProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#mode KubernetesCluster#mode}.
	Mode *string `field:"required" json:"mode" yaml:"mode"`
}

type KubernetesClusterServiceMeshProfileOutputReference added in v7.0.2

type KubernetesClusterServiceMeshProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterServiceMeshProfile
	SetInternalValue(val *KubernetesClusterServiceMeshProfile)
	Mode() *string
	SetMode(val *string)
	ModeInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterServiceMeshProfileOutputReference added in v7.0.2

func NewKubernetesClusterServiceMeshProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterServiceMeshProfileOutputReference

type KubernetesClusterServicePrincipal

type KubernetesClusterServicePrincipal struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#client_id KubernetesCluster#client_id}.
	ClientId *string `field:"required" json:"clientId" yaml:"clientId"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#client_secret KubernetesCluster#client_secret}.
	ClientSecret *string `field:"required" json:"clientSecret" yaml:"clientSecret"`
}

type KubernetesClusterServicePrincipalOutputReference

type KubernetesClusterServicePrincipalOutputReference interface {
	cdktf.ComplexObject
	ClientId() *string
	SetClientId(val *string)
	ClientIdInput() *string
	ClientSecret() *string
	SetClientSecret(val *string)
	ClientSecretInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterServicePrincipal
	SetInternalValue(val *KubernetesClusterServicePrincipal)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterServicePrincipalOutputReference

func NewKubernetesClusterServicePrincipalOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterServicePrincipalOutputReference

type KubernetesClusterStorageProfile

type KubernetesClusterStorageProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#blob_driver_enabled KubernetesCluster#blob_driver_enabled}.
	BlobDriverEnabled interface{} `field:"optional" json:"blobDriverEnabled" yaml:"blobDriverEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#disk_driver_enabled KubernetesCluster#disk_driver_enabled}.
	DiskDriverEnabled interface{} `field:"optional" json:"diskDriverEnabled" yaml:"diskDriverEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#disk_driver_version KubernetesCluster#disk_driver_version}.
	DiskDriverVersion *string `field:"optional" json:"diskDriverVersion" yaml:"diskDriverVersion"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#file_driver_enabled KubernetesCluster#file_driver_enabled}.
	FileDriverEnabled interface{} `field:"optional" json:"fileDriverEnabled" yaml:"fileDriverEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#snapshot_controller_enabled KubernetesCluster#snapshot_controller_enabled}.
	SnapshotControllerEnabled interface{} `field:"optional" json:"snapshotControllerEnabled" yaml:"snapshotControllerEnabled"`
}

type KubernetesClusterStorageProfileOutputReference

type KubernetesClusterStorageProfileOutputReference interface {
	cdktf.ComplexObject
	BlobDriverEnabled() interface{}
	SetBlobDriverEnabled(val interface{})
	BlobDriverEnabledInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DiskDriverEnabled() interface{}
	SetDiskDriverEnabled(val interface{})
	DiskDriverEnabledInput() interface{}
	DiskDriverVersion() *string
	SetDiskDriverVersion(val *string)
	DiskDriverVersionInput() *string
	FileDriverEnabled() interface{}
	SetFileDriverEnabled(val interface{})
	FileDriverEnabledInput() interface{}
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterStorageProfile
	SetInternalValue(val *KubernetesClusterStorageProfile)
	SnapshotControllerEnabled() interface{}
	SetSnapshotControllerEnabled(val interface{})
	SnapshotControllerEnabledInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetBlobDriverEnabled()
	ResetDiskDriverEnabled()
	ResetDiskDriverVersion()
	ResetFileDriverEnabled()
	ResetSnapshotControllerEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterStorageProfileOutputReference

func NewKubernetesClusterStorageProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterStorageProfileOutputReference

type KubernetesClusterTimeouts

type KubernetesClusterTimeouts struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#create KubernetesCluster#create}.
	Create *string `field:"optional" json:"create" yaml:"create"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#delete KubernetesCluster#delete}.
	Delete *string `field:"optional" json:"delete" yaml:"delete"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#read KubernetesCluster#read}.
	Read *string `field:"optional" json:"read" yaml:"read"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#update KubernetesCluster#update}.
	Update *string `field:"optional" json:"update" yaml:"update"`
}

type KubernetesClusterTimeoutsOutputReference

type KubernetesClusterTimeoutsOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	Create() *string
	SetCreate(val *string)
	CreateInput() *string
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	Delete() *string
	SetDelete(val *string)
	DeleteInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Read() *string
	SetRead(val *string)
	ReadInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	Update() *string
	SetUpdate(val *string)
	UpdateInput() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetCreate()
	ResetDelete()
	ResetRead()
	ResetUpdate()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterTimeoutsOutputReference

func NewKubernetesClusterTimeoutsOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterTimeoutsOutputReference

type KubernetesClusterWebAppRouting

type KubernetesClusterWebAppRouting struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#dns_zone_id KubernetesCluster#dns_zone_id}.
	DnsZoneId *string `field:"required" json:"dnsZoneId" yaml:"dnsZoneId"`
}

type KubernetesClusterWebAppRoutingOutputReference

type KubernetesClusterWebAppRoutingOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DnsZoneId() *string
	SetDnsZoneId(val *string)
	DnsZoneIdInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterWebAppRouting
	SetInternalValue(val *KubernetesClusterWebAppRouting)
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterWebAppRoutingOutputReference

func NewKubernetesClusterWebAppRoutingOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterWebAppRoutingOutputReference

type KubernetesClusterWindowsProfile

type KubernetesClusterWindowsProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#admin_username KubernetesCluster#admin_username}.
	AdminUsername *string `field:"required" json:"adminUsername" yaml:"adminUsername"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#admin_password KubernetesCluster#admin_password}.
	AdminPassword *string `field:"optional" json:"adminPassword" yaml:"adminPassword"`
	// gmsa block.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#gmsa KubernetesCluster#gmsa}
	Gmsa *KubernetesClusterWindowsProfileGmsa `field:"optional" json:"gmsa" yaml:"gmsa"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#license KubernetesCluster#license}.
	License *string `field:"optional" json:"license" yaml:"license"`
}

type KubernetesClusterWindowsProfileGmsa

type KubernetesClusterWindowsProfileGmsa struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#dns_server KubernetesCluster#dns_server}.
	DnsServer *string `field:"required" json:"dnsServer" yaml:"dnsServer"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#root_domain KubernetesCluster#root_domain}.
	RootDomain *string `field:"required" json:"rootDomain" yaml:"rootDomain"`
}

type KubernetesClusterWindowsProfileGmsaOutputReference

type KubernetesClusterWindowsProfileGmsaOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DnsServer() *string
	SetDnsServer(val *string)
	DnsServerInput() *string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterWindowsProfileGmsa
	SetInternalValue(val *KubernetesClusterWindowsProfileGmsa)
	RootDomain() *string
	SetRootDomain(val *string)
	RootDomainInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterWindowsProfileGmsaOutputReference

func NewKubernetesClusterWindowsProfileGmsaOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterWindowsProfileGmsaOutputReference

type KubernetesClusterWindowsProfileOutputReference

type KubernetesClusterWindowsProfileOutputReference interface {
	cdktf.ComplexObject
	AdminPassword() *string
	SetAdminPassword(val *string)
	AdminPasswordInput() *string
	AdminUsername() *string
	SetAdminUsername(val *string)
	AdminUsernameInput() *string
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	Gmsa() KubernetesClusterWindowsProfileGmsaOutputReference
	GmsaInput() *KubernetesClusterWindowsProfileGmsa
	InternalValue() *KubernetesClusterWindowsProfile
	SetInternalValue(val *KubernetesClusterWindowsProfile)
	License() *string
	SetLicense(val *string)
	LicenseInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutGmsa(value *KubernetesClusterWindowsProfileGmsa)
	ResetAdminPassword()
	ResetGmsa()
	ResetLicense()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterWindowsProfileOutputReference

func NewKubernetesClusterWindowsProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterWindowsProfileOutputReference

type KubernetesClusterWorkloadAutoscalerProfile

type KubernetesClusterWorkloadAutoscalerProfile struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#keda_enabled KubernetesCluster#keda_enabled}.
	KedaEnabled interface{} `field:"optional" json:"kedaEnabled" yaml:"kedaEnabled"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.59.0/docs/resources/kubernetes_cluster#vertical_pod_autoscaler_enabled KubernetesCluster#vertical_pod_autoscaler_enabled}.
	VerticalPodAutoscalerEnabled interface{} `field:"optional" json:"verticalPodAutoscalerEnabled" yaml:"verticalPodAutoscalerEnabled"`
}

type KubernetesClusterWorkloadAutoscalerProfileOutputReference

type KubernetesClusterWorkloadAutoscalerProfileOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() *KubernetesClusterWorkloadAutoscalerProfile
	SetInternalValue(val *KubernetesClusterWorkloadAutoscalerProfile)
	KedaEnabled() interface{}
	SetKedaEnabled(val interface{})
	KedaEnabledInput() interface{}
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	VerticalPodAutoscalerControlledValues() *string
	VerticalPodAutoscalerEnabled() interface{}
	SetVerticalPodAutoscalerEnabled(val interface{})
	VerticalPodAutoscalerEnabledInput() interface{}
	VerticalPodAutoscalerUpdateMode() *string
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetKedaEnabled()
	ResetVerticalPodAutoscalerEnabled()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewKubernetesClusterWorkloadAutoscalerProfileOutputReference

func NewKubernetesClusterWorkloadAutoscalerProfileOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) KubernetesClusterWorkloadAutoscalerProfileOutputReference

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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