import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface EksClusterConfig extends cdktf.TerraformMetaArguments { /** * Description of EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#cluster_desc EksCluster#cluster_desc} */ readonly clusterDesc?: string; /** * Name of EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#cluster_name EksCluster#cluster_name} */ readonly clusterName: string; /** * Indicates whether to enable dns in user cluster, default value is `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#enable_vpc_core_dns EksCluster#enable_vpc_core_dns} */ readonly enableVpcCoreDns?: boolean | cdktf.IResolvable; /** * Extend parameters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#extra_param EksCluster#extra_param} */ readonly extraParam?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#id EksCluster#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. */ readonly id?: string; /** * Kubernetes version of EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#k8s_version EksCluster#k8s_version} */ readonly k8SVersion: string; /** * Delete CBS after EKS cluster remove. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#need_delete_cbs EksCluster#need_delete_cbs} */ readonly needDeleteCbs?: boolean | cdktf.IResolvable; /** * Subnet id of service. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#service_subnet_id EksCluster#service_subnet_id} */ readonly serviceSubnetId?: string; /** * Subnet Ids for EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#subnet_ids EksCluster#subnet_ids} */ readonly subnetIds: string[]; /** * Tags of EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#tags EksCluster#tags} */ readonly tags?: { [key: string]: string; }; /** * Vpc Id of EKS cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#vpc_id EksCluster#vpc_id} */ readonly vpcId: string; /** * dns_servers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#dns_servers EksCluster#dns_servers} */ readonly dnsServers?: EksClusterDnsServers[] | cdktf.IResolvable; /** * internal_lb block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#internal_lb EksCluster#internal_lb} */ readonly internalLb?: EksClusterInternalLb; /** * public_lb block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#public_lb EksCluster#public_lb} */ readonly publicLb?: EksClusterPublicLb; } export interface EksClusterDnsServers { /** * DNS Server domain. Empty indicates all domain. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#domain EksCluster#domain} */ readonly domain?: string; /** * List of DNS Server IP address, pattern: "ip[:port]". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#servers EksCluster#servers} */ readonly servers?: string[]; } export declare function eksClusterDnsServersToTerraform(struct?: EksClusterDnsServers | cdktf.IResolvable): any; export declare function eksClusterDnsServersToHclTerraform(struct?: EksClusterDnsServers | cdktf.IResolvable): any; export declare class EksClusterDnsServersOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): EksClusterDnsServers | cdktf.IResolvable | undefined; set internalValue(value: EksClusterDnsServers | cdktf.IResolvable | undefined); private _domain?; get domain(): string; set domain(value: string); resetDomain(): void; get domainInput(): string; private _servers?; get servers(): string[]; set servers(value: string[]); resetServers(): void; get serversInput(): string[]; } export declare class EksClusterDnsServersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: EksClusterDnsServers[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): EksClusterDnsServersOutputReference; } export interface EksClusterInternalLb { /** * Indicates weather the internal access LB enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#enabled EksCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * ID of subnet which related to Internal LB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#subnet_id EksCluster#subnet_id} */ readonly subnetId?: string; } export declare function eksClusterInternalLbToTerraform(struct?: EksClusterInternalLbOutputReference | EksClusterInternalLb): any; export declare function eksClusterInternalLbToHclTerraform(struct?: EksClusterInternalLbOutputReference | EksClusterInternalLb): any; export declare class EksClusterInternalLbOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): EksClusterInternalLb | undefined; set internalValue(value: EksClusterInternalLb | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; } export interface EksClusterPublicLb { /** * List of CIDRs which allowed to access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#allow_from_cidrs EksCluster#allow_from_cidrs} */ readonly allowFromCidrs?: string[]; /** * Indicates weather the public access LB enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#enabled EksCluster#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Extra param text json. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#extra_param EksCluster#extra_param} */ readonly extraParam?: string; /** * List of security allow IP or CIDRs, default deny all. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#security_policies EksCluster#security_policies} */ readonly securityPolicies?: string[]; } export declare function eksClusterPublicLbToTerraform(struct?: EksClusterPublicLbOutputReference | EksClusterPublicLb): any; export declare function eksClusterPublicLbToHclTerraform(struct?: EksClusterPublicLbOutputReference | EksClusterPublicLb): any; export declare class EksClusterPublicLbOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): EksClusterPublicLb | undefined; set internalValue(value: EksClusterPublicLb | undefined); private _allowFromCidrs?; get allowFromCidrs(): string[]; set allowFromCidrs(value: string[]); resetAllowFromCidrs(): void; get allowFromCidrsInput(): string[]; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _extraParam?; get extraParam(): string; set extraParam(value: string); resetExtraParam(): void; get extraParamInput(): string; get securityGroup(): any; private _securityPolicies?; get securityPolicies(): string[]; set securityPolicies(value: string[]); resetSecurityPolicies(): void; get securityPoliciesInput(): string[]; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster tencentcloud_eks_cluster} */ export declare class EksCluster extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_eks_cluster"; /** * Generates CDKTF code for importing a EksCluster resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the EksCluster to import * @param importFromId The id of the existing EksCluster that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the EksCluster to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/eks_cluster tencentcloud_eks_cluster} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options EksClusterConfig */ constructor(scope: Construct, id: string, config: EksClusterConfig); private _clusterDesc?; get clusterDesc(): string; set clusterDesc(value: string); resetClusterDesc(): void; get clusterDescInput(): string; private _clusterName?; get clusterName(): string; set clusterName(value: string); get clusterNameInput(): string; private _enableVpcCoreDns?; get enableVpcCoreDns(): boolean | cdktf.IResolvable; set enableVpcCoreDns(value: boolean | cdktf.IResolvable); resetEnableVpcCoreDns(): void; get enableVpcCoreDnsInput(): any; private _extraParam?; get extraParam(): { [key: string]: string; }; set extraParam(value: { [key: string]: string; }); resetExtraParam(): void; get extraParamInput(): { [key: string]: string; }; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _k8SVersion?; get k8SVersion(): string; set k8SVersion(value: string); get k8SVersionInput(): string; get kubeConfig(): any; private _needDeleteCbs?; get needDeleteCbs(): boolean | cdktf.IResolvable; set needDeleteCbs(value: boolean | cdktf.IResolvable); resetNeedDeleteCbs(): void; get needDeleteCbsInput(): any; private _serviceSubnetId?; get serviceSubnetId(): string; set serviceSubnetId(value: string); resetServiceSubnetId(): void; get serviceSubnetIdInput(): string; private _subnetIds?; get subnetIds(): string[]; set subnetIds(value: string[]); get subnetIdsInput(): string[]; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; private _dnsServers; get dnsServers(): EksClusterDnsServersList; putDnsServers(value: EksClusterDnsServers[] | cdktf.IResolvable): void; resetDnsServers(): void; get dnsServersInput(): any; private _internalLb; get internalLb(): EksClusterInternalLbOutputReference; putInternalLb(value: EksClusterInternalLb): void; resetInternalLb(): void; get internalLbInput(): EksClusterInternalLb; private _publicLb; get publicLb(): EksClusterPublicLbOutputReference; putPublicLb(value: EksClusterPublicLb): void; resetPublicLb(): void; get publicLbInput(): EksClusterPublicLb; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }