import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface KubernetesClusterReleaseConfig extends cdktf.TerraformMetaArguments { /** * Chart name (obtained from the application market) or the download URL of the chart package when installing from a third-party repo, redirect-type chart URLs are not supported, must end with *.tgz. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#chart KubernetesClusterRelease#chart} */ readonly chart: string; /** * Chart source, range: tke-market or other, default value: tke-market. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#chart_from KubernetesClusterRelease#chart_from} */ readonly chartFrom?: string; /** * Chart namespace, when ChartFrom is tke-market, ChartNamespace is not empty, value is the Namespace returned by the DescribeProducts interface. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#chart_namespace KubernetesClusterRelease#chart_namespace} */ readonly chartNamespace?: string; /** * Chart repository URL address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#chart_repo_url KubernetesClusterRelease#chart_repo_url} */ readonly chartRepoUrl?: string; /** * Chart version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#chart_version KubernetesClusterRelease#chart_version} */ readonly chartVersion?: string; /** * Cluster ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#cluster_id KubernetesClusterRelease#cluster_id} */ readonly clusterId: string; /** * Cluster type, supports tke, eks, tkeedge, external (registered cluster). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#cluster_type KubernetesClusterRelease#cluster_type} */ readonly clusterType?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#id KubernetesClusterRelease#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; /** * Application name, maximum 63 characters, can only contain lowercase letters, numbers, and the separator "-", and must start with a lowercase letter and end with a number or lowercase letter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#name KubernetesClusterRelease#name} */ readonly name: string; /** * Application namespace, obtained from the cluster details namespace. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#namespace KubernetesClusterRelease#namespace} */ readonly namespace: string; /** * Chart access password. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#password KubernetesClusterRelease#password} */ readonly password?: string; /** * Chart access username. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#username KubernetesClusterRelease#username} */ readonly username?: string; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#timeouts KubernetesClusterRelease#timeouts} */ readonly timeouts?: KubernetesClusterReleaseTimeouts; /** * values block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#values KubernetesClusterRelease#values} */ readonly values?: KubernetesClusterReleaseValues; } export interface KubernetesClusterReleaseTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#create KubernetesClusterRelease#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#update KubernetesClusterRelease#update} */ readonly update?: string; } export declare function kubernetesClusterReleaseTimeoutsToTerraform(struct?: KubernetesClusterReleaseTimeouts | cdktf.IResolvable): any; export declare function kubernetesClusterReleaseTimeoutsToHclTerraform(struct?: KubernetesClusterReleaseTimeouts | cdktf.IResolvable): any; export declare class KubernetesClusterReleaseTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): KubernetesClusterReleaseTimeouts | cdktf.IResolvable | undefined; set internalValue(value: KubernetesClusterReleaseTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface KubernetesClusterReleaseValues { /** * Custom parameter original value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#raw_original KubernetesClusterRelease#raw_original} */ readonly rawOriginal: string; /** * Custom parameter value type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#values_type KubernetesClusterRelease#values_type} */ readonly valuesType: string; } export declare function kubernetesClusterReleaseValuesToTerraform(struct?: KubernetesClusterReleaseValuesOutputReference | KubernetesClusterReleaseValues): any; export declare function kubernetesClusterReleaseValuesToHclTerraform(struct?: KubernetesClusterReleaseValuesOutputReference | KubernetesClusterReleaseValues): any; export declare class KubernetesClusterReleaseValuesOutputReference 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(): KubernetesClusterReleaseValues | undefined; set internalValue(value: KubernetesClusterReleaseValues | undefined); private _rawOriginal?; get rawOriginal(): string; set rawOriginal(value: string); get rawOriginalInput(): string; private _valuesType?; get valuesType(): string; set valuesType(value: string); get valuesTypeInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release tencentcloud_kubernetes_cluster_release} */ export declare class KubernetesClusterRelease extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_kubernetes_cluster_release"; /** * Generates CDKTF code for importing a KubernetesClusterRelease 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 KubernetesClusterRelease to import * @param importFromId The id of the existing KubernetesClusterRelease that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/kubernetes_cluster_release#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the KubernetesClusterRelease 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/kubernetes_cluster_release tencentcloud_kubernetes_cluster_release} 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 KubernetesClusterReleaseConfig */ constructor(scope: Construct, id: string, config: KubernetesClusterReleaseConfig); private _chart?; get chart(): string; set chart(value: string); get chartInput(): string; private _chartFrom?; get chartFrom(): string; set chartFrom(value: string); resetChartFrom(): void; get chartFromInput(): string; private _chartNamespace?; get chartNamespace(): string; set chartNamespace(value: string); resetChartNamespace(): void; get chartNamespaceInput(): string; private _chartRepoUrl?; get chartRepoUrl(): string; set chartRepoUrl(value: string); resetChartRepoUrl(): void; get chartRepoUrlInput(): string; private _chartVersion?; get chartVersion(): string; set chartVersion(value: string); resetChartVersion(): void; get chartVersionInput(): string; private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string; get clusterReleaseId(): any; private _clusterType?; get clusterType(): string; set clusterType(value: string); resetClusterType(): void; get clusterTypeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _namespace?; get namespace(): string; set namespace(value: string); get namespaceInput(): string; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; get releaseStatus(): any; private _username?; get username(): string; set username(value: string); resetUsername(): void; get usernameInput(): string; private _timeouts; get timeouts(): KubernetesClusterReleaseTimeoutsOutputReference; putTimeouts(value: KubernetesClusterReleaseTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _values; get values(): KubernetesClusterReleaseValuesOutputReference; putValues(value: KubernetesClusterReleaseValues): void; resetValues(): void; get valuesInput(): KubernetesClusterReleaseValues; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }