terraform_aws_eks_cluster

package
v0.0.278 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2024 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Overview

terraform_aws_eks_cluster

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTerraformAwsEksCluster_Override

func NewTerraformAwsEksCluster_Override(t TerraformAwsEksCluster, scope constructs.Construct, id *string, config *TerraformAwsEksClusterConfig)

func TerraformAwsEksCluster_IsConstruct

func TerraformAwsEksCluster_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 TerraformAwsEksCluster_IsTerraformElement

func TerraformAwsEksCluster_IsTerraformElement(x interface{}) *bool

Experimental.

Types

type TerraformAwsEksCluster

type TerraformAwsEksCluster interface {
	cdktf.TerraformModule
	AdditionalTagMap() *map[string]*string
	SetAdditionalTagMap(val *map[string]*string)
	Addons() interface{}
	SetAddons(val interface{})
	AddonsDependsOn() interface{}
	SetAddonsDependsOn(val interface{})
	AllowedCidrBlocks() *[]*string
	SetAllowedCidrBlocks(val *[]*string)
	AllowedSecurityGroupIds() *[]*string
	SetAllowedSecurityGroupIds(val *[]*string)
	AllowedSecurityGroups() *[]*string
	SetAllowedSecurityGroups(val *[]*string)
	ApplyConfigMapAwsAuth() *bool
	SetApplyConfigMapAwsAuth(val *bool)
	AssociatedSecurityGroupIds() *[]*string
	SetAssociatedSecurityGroupIds(val *[]*string)
	Attributes() *[]*string
	SetAttributes(val *[]*string)
	AwsAuthYamlStripQuotes() *bool
	SetAwsAuthYamlStripQuotes(val *bool)
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	CloudwatchLogGroupKmsKeyId() *string
	SetCloudwatchLogGroupKmsKeyId(val *string)
	CloudwatchLogGroupKmsKeyIdOutput() *string
	CloudwatchLogGroupNameOutput() *string
	ClusterAttributes() *[]*string
	SetClusterAttributes(val *[]*string)
	ClusterDependsOn() interface{}
	SetClusterDependsOn(val interface{})
	ClusterEncryptionConfigEnabled() *bool
	SetClusterEncryptionConfigEnabled(val *bool)
	ClusterEncryptionConfigEnabledOutput() *string
	ClusterEncryptionConfigKmsKeyDeletionWindowInDays() *float64
	SetClusterEncryptionConfigKmsKeyDeletionWindowInDays(val *float64)
	ClusterEncryptionConfigKmsKeyEnableKeyRotation() *bool
	SetClusterEncryptionConfigKmsKeyEnableKeyRotation(val *bool)
	ClusterEncryptionConfigKmsKeyId() *string
	SetClusterEncryptionConfigKmsKeyId(val *string)
	ClusterEncryptionConfigKmsKeyPolicy() *string
	SetClusterEncryptionConfigKmsKeyPolicy(val *string)
	ClusterEncryptionConfigProviderKeyAliasOutput() *string
	ClusterEncryptionConfigProviderKeyArnOutput() *string
	ClusterEncryptionConfigResources() *[]interface{}
	SetClusterEncryptionConfigResources(val *[]interface{})
	ClusterEncryptionConfigResourcesOutput() *string
	ClusterLogRetentionPeriod() *float64
	SetClusterLogRetentionPeriod(val *float64)
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	Context() interface{}
	SetContext(val interface{})
	CreateEksServiceRole() *bool
	SetCreateEksServiceRole(val *bool)
	CreateSecurityGroup() *bool
	SetCreateSecurityGroup(val *bool)
	CustomIngressRules() interface{}
	SetCustomIngressRules(val interface{})
	Delimiter() *string
	SetDelimiter(val *string)
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	DescriptorFormats() interface{}
	SetDescriptorFormats(val interface{})
	DummyKubeapiServer() *string
	SetDummyKubeapiServer(val *string)
	EksClusterArnOutput() *string
	EksClusterCertificateAuthorityDataOutput() *string
	EksClusterEndpointOutput() *string
	EksClusterIdentityOidcIssuerArnOutput() *string
	EksClusterIdentityOidcIssuerOutput() *string
	EksClusterIdOutput() *string
	EksClusterManagedSecurityGroupIdOutput() *string
	EksClusterRoleArnOutput() *string
	EksClusterServiceRoleArn() *string
	SetEksClusterServiceRoleArn(val *string)
	EksClusterVersionOutput() *string
	Enabled() *bool
	SetEnabled(val *bool)
	EnabledClusterLogTypes() *[]*string
	SetEnabledClusterLogTypes(val *[]*string)
	EndpointPrivateAccess() *bool
	SetEndpointPrivateAccess(val *bool)
	EndpointPublicAccess() *bool
	SetEndpointPublicAccess(val *bool)
	Environment() *string
	SetEnvironment(val *string)
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	IdLengthLimit() *float64
	SetIdLengthLimit(val *float64)
	KubeconfigContext() *string
	SetKubeconfigContext(val *string)
	KubeconfigPath() *string
	SetKubeconfigPath(val *string)
	KubeconfigPathEnabled() *bool
	SetKubeconfigPathEnabled(val *bool)
	KubeDataAuthEnabled() *bool
	SetKubeDataAuthEnabled(val *bool)
	KubeExecAuthAwsProfile() *string
	SetKubeExecAuthAwsProfile(val *string)
	KubeExecAuthAwsProfileEnabled() *bool
	SetKubeExecAuthAwsProfileEnabled(val *bool)
	KubeExecAuthEnabled() *bool
	SetKubeExecAuthEnabled(val *bool)
	KubeExecAuthRoleArn() *string
	SetKubeExecAuthRoleArn(val *string)
	KubeExecAuthRoleArnEnabled() *bool
	SetKubeExecAuthRoleArnEnabled(val *bool)
	KubernetesConfigMapIdOutput() *string
	KubernetesConfigMapIgnoreRoleChanges() *bool
	SetKubernetesConfigMapIgnoreRoleChanges(val *bool)
	KubernetesNetworkIpv6Enabled() *bool
	SetKubernetesNetworkIpv6Enabled(val *bool)
	KubernetesVersion() *string
	SetKubernetesVersion(val *string)
	LabelKeyCase() *string
	SetLabelKeyCase(val *string)
	LabelOrder() *[]*string
	SetLabelOrder(val *[]*string)
	LabelsAsTags() *[]*string
	SetLabelsAsTags(val *[]*string)
	LabelValueCase() *string
	SetLabelValueCase(val *string)
	LocalExecInterpreter() *[]*string
	SetLocalExecInterpreter(val *[]*string)
	ManagedSecurityGroupRulesEnabled() *bool
	SetManagedSecurityGroupRulesEnabled(val *bool)
	MapAdditionalAwsAccounts() *[]*string
	SetMapAdditionalAwsAccounts(val *[]*string)
	MapAdditionalIamRoles() interface{}
	SetMapAdditionalIamRoles(val interface{})
	MapAdditionalIamUsers() interface{}
	SetMapAdditionalIamUsers(val interface{})
	Name() *string
	SetName(val *string)
	Namespace() *string
	SetNamespace(val *string)
	// The tree node.
	Node() constructs.Node
	OidcProviderEnabled() *bool
	SetOidcProviderEnabled(val *bool)
	PermissionsBoundary() *string
	SetPermissionsBoundary(val *string)
	// Experimental.
	Providers() *[]interface{}
	PublicAccessCidrs() *[]*string
	SetPublicAccessCidrs(val *[]*string)
	// Experimental.
	RawOverrides() interface{}
	RegexReplaceChars() *string
	SetRegexReplaceChars(val *string)
	Region() *string
	SetRegion(val *string)
	SecurityGroupArnOutput() *string
	SecurityGroupIdOutput() *string
	SecurityGroupNameOutput() *string
	ServiceIpv4Cidr() *string
	SetServiceIpv4Cidr(val *string)
	// Experimental.
	SkipAssetCreationFromLocalModules() *bool
	// Experimental.
	Source() *string
	Stage() *string
	SetStage(val *string)
	SubnetIds() *[]*string
	SetSubnetIds(val *[]*string)
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	Tenant() *string
	SetTenant(val *string)
	// Experimental.
	Version() *string
	VpcId() *string
	SetVpcId(val *string)
	WaitForClusterCommand() *string
	SetWaitForClusterCommand(val *string)
	WorkersRoleArns() *[]*string
	SetWorkersRoleArns(val *[]*string)
	WorkersSecurityGroupIds() *[]*string
	SetWorkersSecurityGroupIds(val *[]*string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	AddProvider(provider interface{})
	// Experimental.
	GetString(output *string) *string
	// Experimental.
	InterpolationForOutput(moduleOutput *string) cdktf.IResolvable
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Experimental.
	ToTerraform() interface{}
}

Defines an TerraformAwsEksCluster based on a Terraform module.

Source at ./mod/terraform-aws-eks-cluster

func NewTerraformAwsEksCluster

func NewTerraformAwsEksCluster(scope constructs.Construct, id *string, config *TerraformAwsEksClusterConfig) TerraformAwsEksCluster

type TerraformAwsEksClusterConfig

type TerraformAwsEksClusterConfig struct {
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Providers *[]interface{} `field:"optional" json:"providers" yaml:"providers"`
	// Experimental.
	SkipAssetCreationFromLocalModules *bool `field:"optional" json:"skipAssetCreationFromLocalModules" yaml:"skipAssetCreationFromLocalModules"`
	// A list of subnet IDs to launch the cluster in.
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
	// VPC ID for the EKS cluster.
	VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"`
	// Additional key-value pairs to add to each map in `tags_as_list_of_maps`.
	//
	// Not added to `tags` or `id`.
	// This is for some rare cases where resources want additional configuration of tags
	// and therefore take a list of maps with tag key, value, and additional configuration.
	//
	// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
	AdditionalTagMap *map[string]*string `field:"optional" json:"additionalTagMap" yaml:"additionalTagMap"`
	// Manages [`aws_eks_addon`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eks_addon) resources.
	Addons interface{} `field:"optional" json:"addons" yaml:"addons"`
	// If provided, all addons will depend on this object, and therefore not be installed until this object is finalized.
	//
	// This is useful if you want to ensure that addons are not applied before some other condition is met, e.g. node groups are created.
	// See [issue #170](https://github.com/cloudposse/terraform-aws-eks-cluster/issues/170) for more details.
	AddonsDependsOn interface{} `field:"optional" json:"addonsDependsOn" yaml:"addonsDependsOn"`
	// A list of IPv4 CIDRs to allow access to the cluster.
	//
	// The length of this list must be known at "plan" time.
	AllowedCidrBlocks *[]*string `field:"optional" json:"allowedCidrBlocks" yaml:"allowedCidrBlocks"`
	// A list of IDs of Security Groups to allow access to the cluster.
	AllowedSecurityGroupIds *[]*string `field:"optional" json:"allowedSecurityGroupIds" yaml:"allowedSecurityGroupIds"`
	// DEPRECATED: Use `allowed_security_group_ids` instead.
	//
	// Historical description: List of Security Group IDs to be allowed to connect to the EKS cluster.
	// Historical default: `[]`.
	AllowedSecurityGroups *[]*string `field:"optional" json:"allowedSecurityGroups" yaml:"allowedSecurityGroups"`
	// Whether to apply the ConfigMap to allow worker nodes to join the EKS cluster and allow additional users, accounts and roles to acces the cluster true.
	ApplyConfigMapAwsAuth *bool `field:"optional" json:"applyConfigMapAwsAuth" yaml:"applyConfigMapAwsAuth"`
	// A list of IDs of Security Groups to associate the cluster with.
	//
	// These security groups will not be modified.
	AssociatedSecurityGroupIds *[]*string `field:"optional" json:"associatedSecurityGroupIds" yaml:"associatedSecurityGroupIds"`
	// ID element.
	//
	// Additional attributes (e.g. `workers` or `cluster`) to add to `id`,
	// in the order they appear in the list. New attributes are appended to the
	// end of the list. The elements of the list are joined by the `delimiter`
	// and treated as a single ID element.
	Attributes *[]*string `field:"optional" json:"attributes" yaml:"attributes"`
	// If true, remove double quotes from the generated aws-auth ConfigMap YAML to reduce spurious diffs in plans true.
	AwsAuthYamlStripQuotes *bool `field:"optional" json:"awsAuthYamlStripQuotes" yaml:"awsAuthYamlStripQuotes"`
	// If provided, the KMS Key ID to use to encrypt AWS CloudWatch logs.
	CloudwatchLogGroupKmsKeyId *string `field:"optional" json:"cloudwatchLogGroupKmsKeyId" yaml:"cloudwatchLogGroupKmsKeyId"`
	// Override label module default cluster attributes cluster.
	ClusterAttributes *[]*string `field:"optional" json:"clusterAttributes" yaml:"clusterAttributes"`
	// If provided, the EKS will depend on this object, and therefore not be created until this object is finalized.
	//
	// This is useful if you want to ensure that the cluster is not created before some other condition is met, e.g. VPNs into the subnet are created.
	ClusterDependsOn interface{} `field:"optional" json:"clusterDependsOn" yaml:"clusterDependsOn"`
	// Set to `true` to enable Cluster Encryption Configuration true.
	ClusterEncryptionConfigEnabled *bool `field:"optional" json:"clusterEncryptionConfigEnabled" yaml:"clusterEncryptionConfigEnabled"`
	// Cluster Encryption Config KMS Key Resource argument - key deletion windows in days post destruction 10.
	ClusterEncryptionConfigKmsKeyDeletionWindowInDays *float64 `` /* 130-byte string literal not displayed */
	// Cluster Encryption Config KMS Key Resource argument - enable kms key rotation true.
	ClusterEncryptionConfigKmsKeyEnableKeyRotation *bool `field:"optional" json:"clusterEncryptionConfigKmsKeyEnableKeyRotation" yaml:"clusterEncryptionConfigKmsKeyEnableKeyRotation"`
	// KMS Key ID to use for cluster encryption config.
	ClusterEncryptionConfigKmsKeyId *string `field:"optional" json:"clusterEncryptionConfigKmsKeyId" yaml:"clusterEncryptionConfigKmsKeyId"`
	// Cluster Encryption Config KMS Key Resource argument - key policy.
	ClusterEncryptionConfigKmsKeyPolicy *string `field:"optional" json:"clusterEncryptionConfigKmsKeyPolicy" yaml:"clusterEncryptionConfigKmsKeyPolicy"`
	// Cluster Encryption Config Resources to encrypt, e.g. ['secrets'] secrets.
	ClusterEncryptionConfigResources *[]interface{} `field:"optional" json:"clusterEncryptionConfigResources" yaml:"clusterEncryptionConfigResources"`
	// Number of days to retain cluster logs.
	//
	// Requires `enabled_cluster_log_types` to be set. See https://docs.aws.amazon.com/en_us/eks/latest/userguide/control-plane-logs.html.
	ClusterLogRetentionPeriod *float64 `field:"optional" json:"clusterLogRetentionPeriod" yaml:"clusterLogRetentionPeriod"`
	// Single object for setting entire context at once.
	//
	// See description of individual variables for details.
	// Leave string and numeric variables as `null` to use default value.
	// Individual variable settings (non-null) override settings in context object,
	// except for attributes, tags, and additional_tag_map, which are merged.
	Context interface{} `field:"optional" json:"context" yaml:"context"`
	// Set `false` to use existing `eks_cluster_service_role_arn` instead of creating one true.
	CreateEksServiceRole *bool `field:"optional" json:"createEksServiceRole" yaml:"createEksServiceRole"`
	// Set to `true` to create and configure an additional Security Group for the cluster.
	//
	// Only for backwards compatibility, if you are updating this module to the latest version on existing clusters, not recommended for new clusters.
	// EKS creates a managed Security Group for the cluster automatically, places the control plane and managed nodes into the Security Group,
	// and you can also allow unmanaged nodes to communicate with the cluster by using the `allowed_security_group_ids` variable.
	// The additional Security Group is kept in the module for backwards compatibility and will be removed in future releases along with this variable.
	// See https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html for more details.
	CreateSecurityGroup *bool `field:"optional" json:"createSecurityGroup" yaml:"createSecurityGroup"`
	// A List of Objects, which are custom security group rules that.
	CustomIngressRules interface{} `field:"optional" json:"customIngressRules" yaml:"customIngressRules"`
	// Delimiter to be used between ID elements.
	//
	// Defaults to `-` (hyphen). Set to `""` to use no delimiter at all.
	Delimiter *string `field:"optional" json:"delimiter" yaml:"delimiter"`
	// Describe additional descriptors to be output in the `descriptors` output map.
	//
	// Map of maps. Keys are names of descriptors. Values are maps of the form
	// `{
	//    format = string
	//    labels = list(string)
	// }`
	// (Type is `any` so the map values can later be enhanced to provide additional options.)
	// `format` is a Terraform format string to be passed to the `format()` function.
	// `labels` is a list of labels, in order, to pass to `format()` function.
	// Label values will be normalized before being passed to `format()` so they will be
	// identical to how they appear in `id`.
	// Default is `{}` (`descriptors` output will be empty).
	DescriptorFormats interface{} `field:"optional" json:"descriptorFormats" yaml:"descriptorFormats"`
	// URL of a dummy API server for the Kubernetes server to use when the real one is unknown.
	//
	// This is a workaround to ignore connection failures that break Terraform even though the results do not matter.
	// You can disable it by setting it to `null`; however, as of Kubernetes provider v2.3.2, doing so _will_
	// cause Terraform to fail in several situations unless you provide a valid `kubeconfig` file
	// via `kubeconfig_path` and set `kubeconfig_path_enabled` to `true`.
	//
	// https://jsonplaceholder.typicode.com
	DummyKubeapiServer *string `field:"optional" json:"dummyKubeapiServer" yaml:"dummyKubeapiServer"`
	// The ARN of an IAM role for the EKS cluster to use that provides permissions for the Kubernetes control plane to perform needed AWS API operations.
	//
	// Required if `create_eks_service_role` is `false`, ignored otherwise.
	EksClusterServiceRoleArn *string `field:"optional" json:"eksClusterServiceRoleArn" yaml:"eksClusterServiceRoleArn"`
	// Set to false to prevent the module from creating any resources.
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// A list of the desired control plane logging to enable.
	//
	// For more information, see https://docs.aws.amazon.com/en_us/eks/latest/userguide/control-plane-logs.html. Possible values [`api`, `audit`, `authenticator`, `controllerManager`, `scheduler`]
	EnabledClusterLogTypes *[]*string `field:"optional" json:"enabledClusterLogTypes" yaml:"enabledClusterLogTypes"`
	// Indicates whether or not the Amazon EKS private API server endpoint is enabled.
	//
	// Default to AWS EKS resource and it is false.
	EndpointPrivateAccess *bool `field:"optional" json:"endpointPrivateAccess" yaml:"endpointPrivateAccess"`
	// Indicates whether or not the Amazon EKS public API server endpoint is enabled.
	//
	// Default to AWS EKS resource and it is true
	// true.
	EndpointPublicAccess *bool `field:"optional" json:"endpointPublicAccess" yaml:"endpointPublicAccess"`
	// ID element.
	//
	// Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'staging', 'dev', 'UAT'
	Environment *string `field:"optional" json:"environment" yaml:"environment"`
	// Limit `id` to this many characters (minimum 6).
	//
	// Set to `0` for unlimited length.
	// Set to `null` for keep the existing setting, which defaults to `0`.
	// Does not affect `id_full`.
	IdLengthLimit *float64 `field:"optional" json:"idLengthLimit" yaml:"idLengthLimit"`
	// Context to choose from the Kubernetes kube config file.
	KubeconfigContext *string `field:"optional" json:"kubeconfigContext" yaml:"kubeconfigContext"`
	// The Kubernetes provider `config_path` setting to use when `kubeconfig_path_enabled` is `true`.
	KubeconfigPath *string `field:"optional" json:"kubeconfigPath" yaml:"kubeconfigPath"`
	// If `true`, configure the Kubernetes provider with `kubeconfig_path` and use it for authenticating to the EKS cluster.
	KubeconfigPathEnabled *bool `field:"optional" json:"kubeconfigPathEnabled" yaml:"kubeconfigPathEnabled"`
	// If `true`, use an `aws_eks_cluster_auth` data source to authenticate to the EKS cluster. Disabled by `kubeconfig_path_enabled` or `kube_exec_auth_enabled`.
	//
	// true.
	KubeDataAuthEnabled *bool `field:"optional" json:"kubeDataAuthEnabled" yaml:"kubeDataAuthEnabled"`
	// The AWS config profile for `aws eks get-token` to use.
	KubeExecAuthAwsProfile *string `field:"optional" json:"kubeExecAuthAwsProfile" yaml:"kubeExecAuthAwsProfile"`
	// If `true`, pass `kube_exec_auth_aws_profile` as the `profile` to `aws eks get-token`.
	KubeExecAuthAwsProfileEnabled *bool `field:"optional" json:"kubeExecAuthAwsProfileEnabled" yaml:"kubeExecAuthAwsProfileEnabled"`
	// If `true`, use the Kubernetes provider `exec` feature to execute `aws eks get-token` to authenticate to the EKS cluster.
	//
	// Disabled by `kubeconfig_path_enabled`, overrides `kube_data_auth_enabled`.
	KubeExecAuthEnabled *bool `field:"optional" json:"kubeExecAuthEnabled" yaml:"kubeExecAuthEnabled"`
	// The role ARN for `aws eks get-token` to use.
	KubeExecAuthRoleArn *string `field:"optional" json:"kubeExecAuthRoleArn" yaml:"kubeExecAuthRoleArn"`
	// If `true`, pass `kube_exec_auth_role_arn` as the role ARN to `aws eks get-token`.
	KubeExecAuthRoleArnEnabled *bool `field:"optional" json:"kubeExecAuthRoleArnEnabled" yaml:"kubeExecAuthRoleArnEnabled"`
	// Set to `true` to ignore IAM role changes in the Kubernetes Auth ConfigMap true.
	KubernetesConfigMapIgnoreRoleChanges *bool `field:"optional" json:"kubernetesConfigMapIgnoreRoleChanges" yaml:"kubernetesConfigMapIgnoreRoleChanges"`
	// Set true to use IPv6 addresses for Kubernetes pods and services.
	KubernetesNetworkIpv6Enabled *bool `field:"optional" json:"kubernetesNetworkIpv6Enabled" yaml:"kubernetesNetworkIpv6Enabled"`
	// Desired Kubernetes master version.
	//
	// If you do not specify a value, the latest available version is used
	// 1.21
	KubernetesVersion *string `field:"optional" json:"kubernetesVersion" yaml:"kubernetesVersion"`
	// Controls the letter case of the `tags` keys (label names) for tags generated by this module.
	//
	// Does not affect keys of tags passed in via the `tags` input.
	// Possible values: `lower`, `title`, `upper`.
	// Default value: `title`.
	LabelKeyCase *string `field:"optional" json:"labelKeyCase" yaml:"labelKeyCase"`
	// The order in which the labels (ID elements) appear in the `id`.
	//
	// Defaults to ["namespace", "environment", "stage", "name", "attributes"].
	// You can omit any of the 6 labels ("tenant" is the 6th), but at least one must be present.
	LabelOrder *[]*string `field:"optional" json:"labelOrder" yaml:"labelOrder"`
	// Set of labels (ID elements) to include as tags in the `tags` output.
	//
	// Default is to include all labels.
	// Tags with empty values will not be included in the `tags` output.
	// Set to `[]` to suppress all generated tags.
	// **Notes:**
	//   The value of the `name` tag, if included, will be the `id`, not the `name`.
	//   Unlike other `null-label` inputs, the initial setting of `labels_as_tags` cannot be
	//   changed in later chained modules. Attempts to change it will be silently ignored.
	//
	// default.
	LabelsAsTags *[]*string `field:"optional" json:"labelsAsTags" yaml:"labelsAsTags"`
	// Controls the letter case of ID elements (labels) as included in `id`, set as tag values, and output by this module individually.
	//
	// Does not affect values of tags passed in via the `tags` input.
	// Possible values: `lower`, `title`, `upper` and `none` (no transformation).
	// Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.
	// Default value: `lower`.
	LabelValueCase *string `field:"optional" json:"labelValueCase" yaml:"labelValueCase"`
	// shell to use for local_exec /bin/sh -c.
	LocalExecInterpreter *[]*string `field:"optional" json:"localExecInterpreter" yaml:"localExecInterpreter"`
	// Flag to enable/disable the ingress and egress rules for the EKS managed Security Group true.
	ManagedSecurityGroupRulesEnabled *bool `field:"optional" json:"managedSecurityGroupRulesEnabled" yaml:"managedSecurityGroupRulesEnabled"`
	// Additional AWS account numbers to add to `config-map-aws-auth` ConfigMap.
	MapAdditionalAwsAccounts *[]*string `field:"optional" json:"mapAdditionalAwsAccounts" yaml:"mapAdditionalAwsAccounts"`
	// Additional IAM roles to add to `config-map-aws-auth` ConfigMap.
	MapAdditionalIamRoles interface{} `field:"optional" json:"mapAdditionalIamRoles" yaml:"mapAdditionalIamRoles"`
	// Additional IAM users to add to `config-map-aws-auth` ConfigMap.
	MapAdditionalIamUsers interface{} `field:"optional" json:"mapAdditionalIamUsers" yaml:"mapAdditionalIamUsers"`
	// ID element.
	//
	// Usually the component or solution name, e.g. 'app' or 'jenkins'.
	// This is the only ID element not also included as a `tag`.
	// The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input.
	Name *string `field:"optional" json:"name" yaml:"name"`
	// ID element.
	//
	// Usually an abbreviation of your organization name, e.g. 'eg' or 'cp', to help ensure generated IDs are globally unique
	Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
	// Create an IAM OIDC identity provider for the cluster, then you can create IAM roles to associate with a service account in the cluster, instead of using kiam or kube2iam.
	//
	// For more information,
	// see [EKS User Guide](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html).
	OidcProviderEnabled *bool `field:"optional" json:"oidcProviderEnabled" yaml:"oidcProviderEnabled"`
	// If provided, all IAM roles will be created with this permissions boundary attached.
	PermissionsBoundary *string `field:"optional" json:"permissionsBoundary" yaml:"permissionsBoundary"`
	// Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled.
	//
	// EKS defaults this to a list with 0.0.0.0/0.
	// 0.0.0.0/0
	PublicAccessCidrs *[]*string `field:"optional" json:"publicAccessCidrs" yaml:"publicAccessCidrs"`
	// Terraform regular expression (regex) string.
	//
	// Characters matching the regex will be removed from the ID elements.
	// If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits.
	RegexReplaceChars *string `field:"optional" json:"regexReplaceChars" yaml:"regexReplaceChars"`
	// OBSOLETE (not needed): AWS Region.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// The CIDR block to assign Kubernetes service IP addresses from.
	//
	// You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created.
	ServiceIpv4Cidr *string `field:"optional" json:"serviceIpv4Cidr" yaml:"serviceIpv4Cidr"`
	// ID element.
	//
	// Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release'
	Stage *string `field:"optional" json:"stage" yaml:"stage"`
	// Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the tag values will be modified by this module.
	//
	// The property type contains a map, they have special handling, please see {@link cdk.tf /module-map-inputs the docs}
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// ID element _(Rarely used, not included by default)_.
	//
	// A customer identifier, indicating who this instance of a resource is for.
	Tenant *string `field:"optional" json:"tenant" yaml:"tenant"`
	// `local-exec` command to execute to determine if the EKS cluster is healthy.
	//
	// Cluster endpoint URL is available as environment variable `ENDPOINT`
	// if test -n "$ENDPOINT"; then curl --silent --fail --retry 30 --retry-delay 10 --retry-connrefused --max-time 11 --insecure --output /dev/null $ENDPOINT/healthz; fi.
	WaitForClusterCommand *string `field:"optional" json:"waitForClusterCommand" yaml:"waitForClusterCommand"`
	// List of Role ARNs of the worker nodes.
	WorkersRoleArns *[]*string `field:"optional" json:"workersRoleArns" yaml:"workersRoleArns"`
	// DEPRECATED: Use `allowed_security_group_ids` instead.
	//
	// Historical description: Security Group IDs of the worker nodes.
	// Historical default: `[]`.
	WorkersSecurityGroupIds *[]*string `field:"optional" json:"workersSecurityGroupIds" yaml:"workersSecurityGroupIds"`
}

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

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