import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LighthouseInstanceConfig extends cdktf.TerraformMetaArguments { /** * ID of the Lighthouse image. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#blueprint_id LighthouseInstance#blueprint_id} */ readonly blueprintId: string; /** * ID of the Lighthouse package. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#bundle_id LighthouseInstance#bundle_id} */ readonly bundleId: string; /** * A unique string supplied by the client to ensure that the request is idempotent. Its maximum length is 64 ASCII characters. If this parameter is not specified, the idem-potency of the request cannot be guaranteed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#client_token LighthouseInstance#client_token} */ readonly clientToken?: string; /** * Whether the request is a dry run only.true: dry run only. The request will not create instance(s). A dry run can check whether all the required parameters are specified, whether the request format is right, whether the request exceeds service limits, and whether the specified CVMs are available. If the dry run fails, the corresponding error code will be returned.If the dry run succeeds, the RequestId will be returned.false (default value): send a normal request and create instance(s) if all the requirements are met. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#dry_run LighthouseInstance#dry_run} */ readonly dryRun?: boolean | cdktf.IResolvable; /** * Firewall template ID. If this parameter is not specified, the default firewall policy is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#firewall_template_id LighthouseInstance#firewall_template_id} */ readonly firewallTemplateId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#id LighthouseInstance#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; /** * The display name of the Lighthouse instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#instance_name LighthouseInstance#instance_name} */ readonly instanceName: string; /** * Whether the voucher is deducted automatically when update bundle id. Value range: `true`: indicates automatic deduction of vouchers, `false`: does not automatically deduct vouchers. Default value: `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#is_update_bundle_id_auto_voucher LighthouseInstance#is_update_bundle_id_auto_voucher} */ readonly isUpdateBundleIdAutoVoucher?: boolean | cdktf.IResolvable; /** * Whether to return the mounted data disk. `true`: returns both the instance and the mounted data disk; `false`: returns the instance and no longer returns its mounted data disk. Default: `true`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#isolate_data_disk LighthouseInstance#isolate_data_disk} */ readonly isolateDataDisk?: boolean | cdktf.IResolvable; /** * Subscription period in months. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, 60. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#period LighthouseInstance#period} */ readonly period?: number; /** * Whether to allow login using the default key pair. `YES`: allow login; `NO`: disable login. Default: `YES`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#permit_default_key_pair_login LighthouseInstance#permit_default_key_pair_login} */ readonly permitDefaultKeyPairLogin?: string; /** * Auto-Renewal flag. Valid values: NOTIFY_AND_AUTO_RENEW: notify upon expiration and renew automatically; NOTIFY_AND_MANUAL_RENEW: notify upon expiration but do not renew automatically. You need to manually renew DISABLE_NOTIFY_AND_AUTO_RENEW: neither notify upon expiration nor renew automatically. Default value: NOTIFY_AND_MANUAL_RENEW. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#renew_flag LighthouseInstance#renew_flag} */ readonly renewFlag: string; /** * List of availability zones. A random AZ is selected by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#zone LighthouseInstance#zone} */ readonly zone?: string; /** * containers block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#containers LighthouseInstance#containers} */ readonly containers?: LighthouseInstanceContainers[] | cdktf.IResolvable; /** * login_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#login_configuration LighthouseInstance#login_configuration} */ readonly loginConfiguration?: LighthouseInstanceLoginConfiguration; } export interface LighthouseInstanceContainersEnvs { /** * Environment variable key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#key LighthouseInstance#key} */ readonly key: string; /** * Environment variable value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#value LighthouseInstance#value} */ readonly value: string; } export declare function lighthouseInstanceContainersEnvsToTerraform(struct?: LighthouseInstanceContainersEnvs | cdktf.IResolvable): any; export declare function lighthouseInstanceContainersEnvsToHclTerraform(struct?: LighthouseInstanceContainersEnvs | cdktf.IResolvable): any; export declare class LighthouseInstanceContainersEnvsOutputReference 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(): LighthouseInstanceContainersEnvs | cdktf.IResolvable | undefined; set internalValue(value: LighthouseInstanceContainersEnvs | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class LighthouseInstanceContainersEnvsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LighthouseInstanceContainersEnvs[] | 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): LighthouseInstanceContainersEnvsOutputReference; } export interface LighthouseInstanceContainersPublishPorts { /** * Container port. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#container_port LighthouseInstance#container_port} */ readonly containerPort: number; /** * Host port. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#host_port LighthouseInstance#host_port} */ readonly hostPort: number; /** * External IP. It defaults to 0.0.0.0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#ip LighthouseInstance#ip} */ readonly ip?: string; /** * The protocol defaults to tcp. Valid values: tcp, udp and sctp. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#protocol LighthouseInstance#protocol} */ readonly protocol?: string; } export declare function lighthouseInstanceContainersPublishPortsToTerraform(struct?: LighthouseInstanceContainersPublishPorts | cdktf.IResolvable): any; export declare function lighthouseInstanceContainersPublishPortsToHclTerraform(struct?: LighthouseInstanceContainersPublishPorts | cdktf.IResolvable): any; export declare class LighthouseInstanceContainersPublishPortsOutputReference 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(): LighthouseInstanceContainersPublishPorts | cdktf.IResolvable | undefined; set internalValue(value: LighthouseInstanceContainersPublishPorts | cdktf.IResolvable | undefined); private _containerPort?; get containerPort(): number; set containerPort(value: number); get containerPortInput(): number; private _hostPort?; get hostPort(): number; set hostPort(value: number); get hostPortInput(): number; private _ip?; get ip(): string; set ip(value: string); resetIp(): void; get ipInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; } export declare class LighthouseInstanceContainersPublishPortsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LighthouseInstanceContainersPublishPorts[] | 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): LighthouseInstanceContainersPublishPortsOutputReference; } export interface LighthouseInstanceContainersVolumes { /** * Container path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#container_path LighthouseInstance#container_path} */ readonly containerPath: string; /** * Host path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#host_path LighthouseInstance#host_path} */ readonly hostPath: string; } export declare function lighthouseInstanceContainersVolumesToTerraform(struct?: LighthouseInstanceContainersVolumes | cdktf.IResolvable): any; export declare function lighthouseInstanceContainersVolumesToHclTerraform(struct?: LighthouseInstanceContainersVolumes | cdktf.IResolvable): any; export declare class LighthouseInstanceContainersVolumesOutputReference 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(): LighthouseInstanceContainersVolumes | cdktf.IResolvable | undefined; set internalValue(value: LighthouseInstanceContainersVolumes | cdktf.IResolvable | undefined); private _containerPath?; get containerPath(): string; set containerPath(value: string); get containerPathInput(): string; private _hostPath?; get hostPath(): string; set hostPath(value: string); get hostPathInput(): string; } export declare class LighthouseInstanceContainersVolumesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LighthouseInstanceContainersVolumes[] | 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): LighthouseInstanceContainersVolumesOutputReference; } export interface LighthouseInstanceContainers { /** * The command to run. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#command LighthouseInstance#command} */ readonly command?: string; /** * Container image address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#container_image LighthouseInstance#container_image} */ readonly containerImage?: string; /** * Container name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#container_name LighthouseInstance#container_name} */ readonly containerName?: string; /** * envs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#envs LighthouseInstance#envs} */ readonly envs?: LighthouseInstanceContainersEnvs[] | cdktf.IResolvable; /** * publish_ports block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#publish_ports LighthouseInstance#publish_ports} */ readonly publishPorts?: LighthouseInstanceContainersPublishPorts[] | cdktf.IResolvable; /** * volumes block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#volumes LighthouseInstance#volumes} */ readonly volumes?: LighthouseInstanceContainersVolumes[] | cdktf.IResolvable; } export declare function lighthouseInstanceContainersToTerraform(struct?: LighthouseInstanceContainers | cdktf.IResolvable): any; export declare function lighthouseInstanceContainersToHclTerraform(struct?: LighthouseInstanceContainers | cdktf.IResolvable): any; export declare class LighthouseInstanceContainersOutputReference 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(): LighthouseInstanceContainers | cdktf.IResolvable | undefined; set internalValue(value: LighthouseInstanceContainers | cdktf.IResolvable | undefined); private _command?; get command(): string; set command(value: string); resetCommand(): void; get commandInput(): string; private _containerImage?; get containerImage(): string; set containerImage(value: string); resetContainerImage(): void; get containerImageInput(): string; private _containerName?; get containerName(): string; set containerName(value: string); resetContainerName(): void; get containerNameInput(): string; private _envs; get envs(): LighthouseInstanceContainersEnvsList; putEnvs(value: LighthouseInstanceContainersEnvs[] | cdktf.IResolvable): void; resetEnvs(): void; get envsInput(): any; private _publishPorts; get publishPorts(): LighthouseInstanceContainersPublishPortsList; putPublishPorts(value: LighthouseInstanceContainersPublishPorts[] | cdktf.IResolvable): void; resetPublishPorts(): void; get publishPortsInput(): any; private _volumes; get volumes(): LighthouseInstanceContainersVolumesList; putVolumes(value: LighthouseInstanceContainersVolumes[] | cdktf.IResolvable): void; resetVolumes(): void; get volumesInput(): any; } export declare class LighthouseInstanceContainersList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LighthouseInstanceContainers[] | 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): LighthouseInstanceContainersOutputReference; } export interface LighthouseInstanceLoginConfiguration { /** * whether auto generate password. if false, need set password. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#auto_generate_password LighthouseInstance#auto_generate_password} */ readonly autoGeneratePassword: string; /** * Login password. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#password LighthouseInstance#password} */ readonly password?: string; } export declare function lighthouseInstanceLoginConfigurationToTerraform(struct?: LighthouseInstanceLoginConfigurationOutputReference | LighthouseInstanceLoginConfiguration): any; export declare function lighthouseInstanceLoginConfigurationToHclTerraform(struct?: LighthouseInstanceLoginConfigurationOutputReference | LighthouseInstanceLoginConfiguration): any; export declare class LighthouseInstanceLoginConfigurationOutputReference 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(): LighthouseInstanceLoginConfiguration | undefined; set internalValue(value: LighthouseInstanceLoginConfiguration | undefined); private _autoGeneratePassword?; get autoGeneratePassword(): string; set autoGeneratePassword(value: string); get autoGeneratePasswordInput(): string; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance tencentcloud_lighthouse_instance} */ export declare class LighthouseInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_lighthouse_instance"; /** * Generates CDKTF code for importing a LighthouseInstance 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 LighthouseInstance to import * @param importFromId The id of the existing LighthouseInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LighthouseInstance 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/lighthouse_instance tencentcloud_lighthouse_instance} 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 LighthouseInstanceConfig */ constructor(scope: Construct, id: string, config: LighthouseInstanceConfig); private _blueprintId?; get blueprintId(): string; set blueprintId(value: string); get blueprintIdInput(): string; private _bundleId?; get bundleId(): string; set bundleId(value: string); get bundleIdInput(): string; private _clientToken?; get clientToken(): string; set clientToken(value: string); resetClientToken(): void; get clientTokenInput(): string; private _dryRun?; get dryRun(): boolean | cdktf.IResolvable; set dryRun(value: boolean | cdktf.IResolvable); resetDryRun(): void; get dryRunInput(): any; private _firewallTemplateId?; get firewallTemplateId(): string; set firewallTemplateId(value: string); resetFirewallTemplateId(): void; get firewallTemplateIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); get instanceNameInput(): string; private _isUpdateBundleIdAutoVoucher?; get isUpdateBundleIdAutoVoucher(): boolean | cdktf.IResolvable; set isUpdateBundleIdAutoVoucher(value: boolean | cdktf.IResolvable); resetIsUpdateBundleIdAutoVoucher(): void; get isUpdateBundleIdAutoVoucherInput(): any; private _isolateDataDisk?; get isolateDataDisk(): boolean | cdktf.IResolvable; set isolateDataDisk(value: boolean | cdktf.IResolvable); resetIsolateDataDisk(): void; get isolateDataDiskInput(): any; private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; private _permitDefaultKeyPairLogin?; get permitDefaultKeyPairLogin(): string; set permitDefaultKeyPairLogin(value: string); resetPermitDefaultKeyPairLogin(): void; get permitDefaultKeyPairLoginInput(): string; get privateAddresses(): any; get publicAddresses(): any; private _renewFlag?; get renewFlag(): string; set renewFlag(value: string); get renewFlagInput(): string; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; private _containers; get containers(): LighthouseInstanceContainersList; putContainers(value: LighthouseInstanceContainers[] | cdktf.IResolvable): void; resetContainers(): void; get containersInput(): any; private _loginConfiguration; get loginConfiguration(): LighthouseInstanceLoginConfigurationOutputReference; putLoginConfiguration(value: LighthouseInstanceLoginConfiguration): void; resetLoginConfiguration(): void; get loginConfigurationInput(): LighthouseInstanceLoginConfiguration; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }