import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BhDeviceConfig extends cdktf.TerraformMetaArguments { /** * Cloud account ID to which the asset belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#account_id BhDevice#account_id} */ readonly accountId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#id BhDevice#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; /** * device_set block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#device_set BhDevice#device_set} */ readonly deviceSet: BhDeviceDeviceSet; } export interface BhDeviceDeviceSet { /** * Region to which the asset belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ap_code BhDevice#ap_code} */ readonly apCode?: string; /** * Region name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ap_name BhDevice#ap_name} */ readonly apName?: string; /** * Department ID to which the asset belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#department_id BhDevice#department_id} */ readonly departmentId?: string; /** * Whether to enable SSL, 1: enable, 0: disable, only supports Redis assets. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#enable_ssl BhDevice#enable_ssl} */ readonly enableSsl?: number; /** * Asset instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#instance_id BhDevice#instance_id} */ readonly instanceId?: string; /** * IP address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ip BhDevice#ip} */ readonly ip: string; /** * Asset multi-node: IP and port fields. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ip_port_set BhDevice#ip_port_set} */ readonly ipPortSet?: string[]; /** * Host name, can be empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#name BhDevice#name} */ readonly name?: string; /** * The operating system name can only be one of the following: Host (Linux, Windows), Database (MySQL, SQL Server, MariaDB, PostgreSQL, MongoDBReplicaSet, MongoDBSharded, Redis), or Container (TKE, EKS). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#os_name BhDevice#os_name} */ readonly osName: string; /** * Management port. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#port BhDevice#port} */ readonly port: number; /** * Public IP. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#public_ip BhDevice#public_ip} */ readonly publicIp?: string; /** * SSL certificate, required when EnableSSL is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ssl_cert BhDevice#ssl_cert} */ readonly sslCert?: string; /** * SSL certificate name, required when EnableSSL is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#ssl_cert_name BhDevice#ssl_cert_name} */ readonly sslCertName?: string; /** * Subnet to which the asset belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#subnet_id BhDevice#subnet_id} */ readonly subnetId?: string; /** * VPC to which the asset belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#vpc_id BhDevice#vpc_id} */ readonly vpcId?: string; } export declare function bhDeviceDeviceSetToTerraform(struct?: BhDeviceDeviceSetOutputReference | BhDeviceDeviceSet): any; export declare function bhDeviceDeviceSetToHclTerraform(struct?: BhDeviceDeviceSetOutputReference | BhDeviceDeviceSet): any; export declare class BhDeviceDeviceSetOutputReference 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(): BhDeviceDeviceSet | undefined; set internalValue(value: BhDeviceDeviceSet | undefined); private _apCode?; get apCode(): string; set apCode(value: string); resetApCode(): void; get apCodeInput(): string; private _apName?; get apName(): string; set apName(value: string); resetApName(): void; get apNameInput(): string; private _departmentId?; get departmentId(): string; set departmentId(value: string); resetDepartmentId(): void; get departmentIdInput(): string; private _enableSsl?; get enableSsl(): number; set enableSsl(value: number); resetEnableSsl(): void; get enableSslInput(): number; private _instanceId?; get instanceId(): string; set instanceId(value: string); resetInstanceId(): void; get instanceIdInput(): string; private _ip?; get ip(): string; set ip(value: string); get ipInput(): string; private _ipPortSet?; get ipPortSet(): string[]; set ipPortSet(value: string[]); resetIpPortSet(): void; get ipPortSetInput(): string[]; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _osName?; get osName(): string; set osName(value: string); get osNameInput(): string; private _port?; get port(): number; set port(value: number); get portInput(): number; private _publicIp?; get publicIp(): string; set publicIp(value: string); resetPublicIp(): void; get publicIpInput(): string; private _sslCert?; get sslCert(): string; set sslCert(value: string); resetSslCert(): void; get sslCertInput(): string; private _sslCertName?; get sslCertName(): string; set sslCertName(value: string); resetSslCertName(): void; get sslCertNameInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device tencentcloud_bh_device} */ export declare class BhDevice extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_bh_device"; /** * Generates CDKTF code for importing a BhDevice 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 BhDevice to import * @param importFromId The id of the existing BhDevice that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/bh_device#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BhDevice 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/bh_device tencentcloud_bh_device} 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 BhDeviceConfig */ constructor(scope: Construct, id: string, config: BhDeviceConfig); private _accountId?; get accountId(): number; set accountId(value: number); resetAccountId(): void; get accountIdInput(): number; get deviceId(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _deviceSet; get deviceSet(): BhDeviceDeviceSetOutputReference; putDeviceSet(value: BhDeviceDeviceSet): void; get deviceSetInput(): BhDeviceDeviceSet; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }