import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ThpcWorkspacesConfig extends cdktf.TerraformMetaArguments { /** * CAM role name authorized to access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#cam_role_name ThpcWorkspaces#cam_role_name} */ readonly camRoleName?: string; /** * A string used to ensure the idempotence of the request. This string is generated by the customer and must be unique across different requests, with a maximum length of 64 ASCII characters. If this parameter is not specified, the idempotence of the request cannot be guaranteed. Example value: system-f3827db9-c58a-49cc-bf10-33fc1923a34a. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#client_token ThpcWorkspaces#client_token} */ readonly clientToken?: string; /** * Placement Group ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disaster_recover_group_id ThpcWorkspaces#disaster_recover_group_id} */ readonly disasterRecoverGroupId?: string; /** * The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#host_name ThpcWorkspaces#host_name} */ readonly hostName?: string; /** * Hyper Computing Cluster ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#hpc_cluster_id ThpcWorkspaces#hpc_cluster_id} */ readonly hpcClusterId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#id ThpcWorkspaces#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; /** * Image ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#image_id ThpcWorkspaces#image_id} */ readonly imageId?: string; /** * Workspace Security Group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#security_group_ids ThpcWorkspaces#security_group_ids} */ readonly securityGroupIds?: string[]; /** * Workspace billing type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#space_charge_type ThpcWorkspaces#space_charge_type} */ readonly spaceChargeType?: string; /** * Workspace Display Name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#space_name ThpcWorkspaces#space_name} */ readonly spaceName?: string; /** * Workspace specifications. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#space_type ThpcWorkspaces#space_type} */ readonly spaceType?: string; /** * User Data for Workspace. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#user_data ThpcWorkspaces#user_data} */ readonly userData?: string; /** * data_disks block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#data_disks ThpcWorkspaces#data_disks} */ readonly dataDisks?: ThpcWorkspacesDataDisks[] | cdktf.IResolvable; /** * enhanced_service block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#enhanced_service ThpcWorkspaces#enhanced_service} */ readonly enhancedService?: ThpcWorkspacesEnhancedService; /** * internet_accessible block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#internet_accessible ThpcWorkspaces#internet_accessible} */ readonly internetAccessible?: ThpcWorkspacesInternetAccessible; /** * login_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#login_settings ThpcWorkspaces#login_settings} */ readonly loginSettings?: ThpcWorkspacesLoginSettings; /** * placement block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#placement ThpcWorkspaces#placement} */ readonly placement?: ThpcWorkspacesPlacement; /** * space_charge_prepaid block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#space_charge_prepaid ThpcWorkspaces#space_charge_prepaid} */ readonly spaceChargePrepaid?: ThpcWorkspacesSpaceChargePrepaid; /** * system_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#system_disk ThpcWorkspaces#system_disk} */ readonly systemDisk?: ThpcWorkspacesSystemDisk; /** * tag_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#tag_specification ThpcWorkspaces#tag_specification} */ readonly tagSpecification?: ThpcWorkspacesTagSpecification[] | cdktf.IResolvable; /** * virtual_private_cloud block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#virtual_private_cloud ThpcWorkspaces#virtual_private_cloud} */ readonly virtualPrivateCloud?: ThpcWorkspacesVirtualPrivateCloud; } export interface ThpcWorkspacesDataDisks { /** * Sudden performance. PS: During testing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#burst_performance ThpcWorkspaces#burst_performance} */ readonly burstPerformance?: boolean | cdktf.IResolvable; /** * Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#delete_with_instance ThpcWorkspaces#delete_with_instance} */ readonly deleteWithInstance?: boolean | cdktf.IResolvable; /** * Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disk_id ThpcWorkspaces#disk_id} */ readonly diskId?: string; /** * Size of the data disk, and unit is GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disk_size ThpcWorkspaces#disk_size} */ readonly diskSize?: number; /** * Data disk type. For more information about limits on different data disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disk_type ThpcWorkspaces#disk_type} */ readonly diskType?: string; /** * Decides whether the disk is encrypted. Default is `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#encrypt ThpcWorkspaces#encrypt} */ readonly encrypt?: boolean | cdktf.IResolvable; /** * Kms key ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#kms_key_id ThpcWorkspaces#kms_key_id} */ readonly kmsKeyId?: string; /** * Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#snapshot_id ThpcWorkspaces#snapshot_id} */ readonly snapshotId?: string; /** * Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#throughput_performance ThpcWorkspaces#throughput_performance} */ readonly throughputPerformance?: number; } export declare function thpcWorkspacesDataDisksToTerraform(struct?: ThpcWorkspacesDataDisks | cdktf.IResolvable): any; export declare function thpcWorkspacesDataDisksToHclTerraform(struct?: ThpcWorkspacesDataDisks | cdktf.IResolvable): any; export declare class ThpcWorkspacesDataDisksOutputReference 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(): ThpcWorkspacesDataDisks | cdktf.IResolvable | undefined; set internalValue(value: ThpcWorkspacesDataDisks | cdktf.IResolvable | undefined); private _burstPerformance?; get burstPerformance(): boolean | cdktf.IResolvable; set burstPerformance(value: boolean | cdktf.IResolvable); resetBurstPerformance(): void; get burstPerformanceInput(): any; private _deleteWithInstance?; get deleteWithInstance(): boolean | cdktf.IResolvable; set deleteWithInstance(value: boolean | cdktf.IResolvable); resetDeleteWithInstance(): void; get deleteWithInstanceInput(): any; private _diskId?; get diskId(): string; set diskId(value: string); resetDiskId(): void; get diskIdInput(): string; private _diskSize?; get diskSize(): number; set diskSize(value: number); resetDiskSize(): void; get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); resetDiskType(): void; get diskTypeInput(): string; private _encrypt?; get encrypt(): boolean | cdktf.IResolvable; set encrypt(value: boolean | cdktf.IResolvable); resetEncrypt(): void; get encryptInput(): any; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _throughputPerformance?; get throughputPerformance(): number; set throughputPerformance(value: number); resetThroughputPerformance(): void; get throughputPerformanceInput(): number; } export declare class ThpcWorkspacesDataDisksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ThpcWorkspacesDataDisks[] | 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): ThpcWorkspacesDataDisksOutputReference; } export interface ThpcWorkspacesEnhancedServiceAutomationService { /** * Whether to enable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#enabled ThpcWorkspaces#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; } export declare function thpcWorkspacesEnhancedServiceAutomationServiceToTerraform(struct?: ThpcWorkspacesEnhancedServiceAutomationServiceOutputReference | ThpcWorkspacesEnhancedServiceAutomationService): any; export declare function thpcWorkspacesEnhancedServiceAutomationServiceToHclTerraform(struct?: ThpcWorkspacesEnhancedServiceAutomationServiceOutputReference | ThpcWorkspacesEnhancedServiceAutomationService): any; export declare class ThpcWorkspacesEnhancedServiceAutomationServiceOutputReference 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(): ThpcWorkspacesEnhancedServiceAutomationService | undefined; set internalValue(value: ThpcWorkspacesEnhancedServiceAutomationService | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; } export interface ThpcWorkspacesEnhancedServiceMonitorService { /** * Whether to enable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#enabled ThpcWorkspaces#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; } export declare function thpcWorkspacesEnhancedServiceMonitorServiceToTerraform(struct?: ThpcWorkspacesEnhancedServiceMonitorServiceOutputReference | ThpcWorkspacesEnhancedServiceMonitorService): any; export declare function thpcWorkspacesEnhancedServiceMonitorServiceToHclTerraform(struct?: ThpcWorkspacesEnhancedServiceMonitorServiceOutputReference | ThpcWorkspacesEnhancedServiceMonitorService): any; export declare class ThpcWorkspacesEnhancedServiceMonitorServiceOutputReference 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(): ThpcWorkspacesEnhancedServiceMonitorService | undefined; set internalValue(value: ThpcWorkspacesEnhancedServiceMonitorService | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; } export interface ThpcWorkspacesEnhancedServiceSecurityService { /** * Whether to enable. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#enabled ThpcWorkspaces#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; } export declare function thpcWorkspacesEnhancedServiceSecurityServiceToTerraform(struct?: ThpcWorkspacesEnhancedServiceSecurityServiceOutputReference | ThpcWorkspacesEnhancedServiceSecurityService): any; export declare function thpcWorkspacesEnhancedServiceSecurityServiceToHclTerraform(struct?: ThpcWorkspacesEnhancedServiceSecurityServiceOutputReference | ThpcWorkspacesEnhancedServiceSecurityService): any; export declare class ThpcWorkspacesEnhancedServiceSecurityServiceOutputReference 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(): ThpcWorkspacesEnhancedServiceSecurityService | undefined; set internalValue(value: ThpcWorkspacesEnhancedServiceSecurityService | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; } export interface ThpcWorkspacesEnhancedService { /** * automation_service block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#automation_service ThpcWorkspaces#automation_service} */ readonly automationService?: ThpcWorkspacesEnhancedServiceAutomationService; /** * monitor_service block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#monitor_service ThpcWorkspaces#monitor_service} */ readonly monitorService?: ThpcWorkspacesEnhancedServiceMonitorService; /** * security_service block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#security_service ThpcWorkspaces#security_service} */ readonly securityService?: ThpcWorkspacesEnhancedServiceSecurityService; } export declare function thpcWorkspacesEnhancedServiceToTerraform(struct?: ThpcWorkspacesEnhancedServiceOutputReference | ThpcWorkspacesEnhancedService): any; export declare function thpcWorkspacesEnhancedServiceToHclTerraform(struct?: ThpcWorkspacesEnhancedServiceOutputReference | ThpcWorkspacesEnhancedService): any; export declare class ThpcWorkspacesEnhancedServiceOutputReference 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(): ThpcWorkspacesEnhancedService | undefined; set internalValue(value: ThpcWorkspacesEnhancedService | undefined); private _automationService; get automationService(): ThpcWorkspacesEnhancedServiceAutomationServiceOutputReference; putAutomationService(value: ThpcWorkspacesEnhancedServiceAutomationService): void; resetAutomationService(): void; get automationServiceInput(): ThpcWorkspacesEnhancedServiceAutomationService; private _monitorService; get monitorService(): ThpcWorkspacesEnhancedServiceMonitorServiceOutputReference; putMonitorService(value: ThpcWorkspacesEnhancedServiceMonitorService): void; resetMonitorService(): void; get monitorServiceInput(): ThpcWorkspacesEnhancedServiceMonitorService; private _securityService; get securityService(): ThpcWorkspacesEnhancedServiceSecurityServiceOutputReference; putSecurityService(value: ThpcWorkspacesEnhancedServiceSecurityService): void; resetSecurityService(): void; get securityServiceInput(): ThpcWorkspacesEnhancedServiceSecurityService; } export interface ThpcWorkspacesInternetAccessible { /** * Bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#bandwidth_package_id ThpcWorkspaces#bandwidth_package_id} */ readonly bandwidthPackageId?: string; /** * Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#internet_charge_type ThpcWorkspaces#internet_charge_type} */ readonly internetChargeType?: string; /** * Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#internet_max_bandwidth_out ThpcWorkspaces#internet_max_bandwidth_out} */ readonly internetMaxBandwidthOut?: number; /** * Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#public_ip_assigned ThpcWorkspaces#public_ip_assigned} */ readonly publicIpAssigned?: boolean | cdktf.IResolvable; } export declare function thpcWorkspacesInternetAccessibleToTerraform(struct?: ThpcWorkspacesInternetAccessibleOutputReference | ThpcWorkspacesInternetAccessible): any; export declare function thpcWorkspacesInternetAccessibleToHclTerraform(struct?: ThpcWorkspacesInternetAccessibleOutputReference | ThpcWorkspacesInternetAccessible): any; export declare class ThpcWorkspacesInternetAccessibleOutputReference 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(): ThpcWorkspacesInternetAccessible | undefined; set internalValue(value: ThpcWorkspacesInternetAccessible | undefined); private _bandwidthPackageId?; get bandwidthPackageId(): string; set bandwidthPackageId(value: string); resetBandwidthPackageId(): void; get bandwidthPackageIdInput(): string; private _internetChargeType?; get internetChargeType(): string; set internetChargeType(value: string); resetInternetChargeType(): void; get internetChargeTypeInput(): string; private _internetMaxBandwidthOut?; get internetMaxBandwidthOut(): number; set internetMaxBandwidthOut(value: number); resetInternetMaxBandwidthOut(): void; get internetMaxBandwidthOutInput(): number; private _publicIpAssigned?; get publicIpAssigned(): boolean | cdktf.IResolvable; set publicIpAssigned(value: boolean | cdktf.IResolvable); resetPublicIpAssigned(): void; get publicIpAssignedInput(): any; } export interface ThpcWorkspacesLoginSettings { /** * The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#key_ids ThpcWorkspaces#key_ids} */ readonly keyIds?: string[]; /** * Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#password ThpcWorkspaces#password} */ readonly password?: string; } export declare function thpcWorkspacesLoginSettingsToTerraform(struct?: ThpcWorkspacesLoginSettingsOutputReference | ThpcWorkspacesLoginSettings): any; export declare function thpcWorkspacesLoginSettingsToHclTerraform(struct?: ThpcWorkspacesLoginSettingsOutputReference | ThpcWorkspacesLoginSettings): any; export declare class ThpcWorkspacesLoginSettingsOutputReference 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(): ThpcWorkspacesLoginSettings | undefined; set internalValue(value: ThpcWorkspacesLoginSettings | undefined); private _keyIds?; get keyIds(): string[]; set keyIds(value: string[]); resetKeyIds(): void; get keyIdsInput(): string[]; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; } export interface ThpcWorkspacesPlacement { /** * The project the instance belongs to, default to 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#project_id ThpcWorkspaces#project_id} */ readonly projectId?: number; /** * The available zone for the CVM instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#zone ThpcWorkspaces#zone} */ readonly zone: string; } export declare function thpcWorkspacesPlacementToTerraform(struct?: ThpcWorkspacesPlacementOutputReference | ThpcWorkspacesPlacement): any; export declare function thpcWorkspacesPlacementToHclTerraform(struct?: ThpcWorkspacesPlacementOutputReference | ThpcWorkspacesPlacement): any; export declare class ThpcWorkspacesPlacementOutputReference 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(): ThpcWorkspacesPlacement | undefined; set internalValue(value: ThpcWorkspacesPlacement | undefined); private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; } export interface ThpcWorkspacesSpaceChargePrepaid { /** * The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when instance_charge_type is set to `PREPAID`. Valid values are `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/thpc_workspaces#period ThpcWorkspaces#period} */ readonly period?: number; /** * 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, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#renew_flag ThpcWorkspaces#renew_flag} */ readonly renewFlag?: string; } export declare function thpcWorkspacesSpaceChargePrepaidToTerraform(struct?: ThpcWorkspacesSpaceChargePrepaidOutputReference | ThpcWorkspacesSpaceChargePrepaid): any; export declare function thpcWorkspacesSpaceChargePrepaidToHclTerraform(struct?: ThpcWorkspacesSpaceChargePrepaidOutputReference | ThpcWorkspacesSpaceChargePrepaid): any; export declare class ThpcWorkspacesSpaceChargePrepaidOutputReference 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(): ThpcWorkspacesSpaceChargePrepaid | undefined; set internalValue(value: ThpcWorkspacesSpaceChargePrepaid | undefined); private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; private _renewFlag?; get renewFlag(): string; set renewFlag(value: string); resetRenewFlag(): void; get renewFlagInput(): string; } export interface ThpcWorkspacesSystemDisk { /** * Size of the system disk. unit is GB, Default is 50GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disk_size ThpcWorkspaces#disk_size} */ readonly diskSize?: number; /** * System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#disk_type ThpcWorkspaces#disk_type} */ readonly diskType?: string; } export declare function thpcWorkspacesSystemDiskToTerraform(struct?: ThpcWorkspacesSystemDiskOutputReference | ThpcWorkspacesSystemDisk): any; export declare function thpcWorkspacesSystemDiskToHclTerraform(struct?: ThpcWorkspacesSystemDiskOutputReference | ThpcWorkspacesSystemDisk): any; export declare class ThpcWorkspacesSystemDiskOutputReference 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(): ThpcWorkspacesSystemDisk | undefined; set internalValue(value: ThpcWorkspacesSystemDisk | undefined); get diskId(): any; private _diskSize?; get diskSize(): number; set diskSize(value: number); resetDiskSize(): void; get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); resetDiskType(): void; get diskTypeInput(): string; } export interface ThpcWorkspacesTagSpecificationTags { /** * Tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#key ThpcWorkspaces#key} */ readonly key: string; /** * Tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#value ThpcWorkspaces#value} */ readonly value: string; } export declare function thpcWorkspacesTagSpecificationTagsToTerraform(struct?: ThpcWorkspacesTagSpecificationTags | cdktf.IResolvable): any; export declare function thpcWorkspacesTagSpecificationTagsToHclTerraform(struct?: ThpcWorkspacesTagSpecificationTags | cdktf.IResolvable): any; export declare class ThpcWorkspacesTagSpecificationTagsOutputReference 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(): ThpcWorkspacesTagSpecificationTags | cdktf.IResolvable | undefined; set internalValue(value: ThpcWorkspacesTagSpecificationTags | 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 ThpcWorkspacesTagSpecificationTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ThpcWorkspacesTagSpecificationTags[] | 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): ThpcWorkspacesTagSpecificationTagsOutputReference; } export interface ThpcWorkspacesTagSpecification { /** * tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#tags ThpcWorkspaces#tags} */ readonly tags: ThpcWorkspacesTagSpecificationTags[] | cdktf.IResolvable; } export declare function thpcWorkspacesTagSpecificationToTerraform(struct?: ThpcWorkspacesTagSpecification | cdktf.IResolvable): any; export declare function thpcWorkspacesTagSpecificationToHclTerraform(struct?: ThpcWorkspacesTagSpecification | cdktf.IResolvable): any; export declare class ThpcWorkspacesTagSpecificationOutputReference 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(): ThpcWorkspacesTagSpecification | cdktf.IResolvable | undefined; set internalValue(value: ThpcWorkspacesTagSpecification | cdktf.IResolvable | undefined); private _tags; get tags(): ThpcWorkspacesTagSpecificationTagsList; putTags(value: ThpcWorkspacesTagSpecificationTags[] | cdktf.IResolvable): void; get tagsInput(): any; } export declare class ThpcWorkspacesTagSpecificationList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ThpcWorkspacesTagSpecification[] | 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): ThpcWorkspacesTagSpecificationOutputReference; } export interface ThpcWorkspacesVirtualPrivateCloud { /** * Is it used as a public network gateway. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#as_vpc_gateway ThpcWorkspaces#as_vpc_gateway} */ readonly asVpcGateway?: boolean | cdktf.IResolvable; /** * IPV6 address count. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#ipv6_address_count ThpcWorkspaces#ipv6_address_count} */ readonly ipv6AddressCount?: number; /** * Array of private ip address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#private_ip_addresses ThpcWorkspaces#private_ip_addresses} */ readonly privateIpAddresses?: string[]; /** * The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#subnet_id ThpcWorkspaces#subnet_id} */ readonly subnetId: string; /** * The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#vpc_id ThpcWorkspaces#vpc_id} */ readonly vpcId: string; } export declare function thpcWorkspacesVirtualPrivateCloudToTerraform(struct?: ThpcWorkspacesVirtualPrivateCloudOutputReference | ThpcWorkspacesVirtualPrivateCloud): any; export declare function thpcWorkspacesVirtualPrivateCloudToHclTerraform(struct?: ThpcWorkspacesVirtualPrivateCloudOutputReference | ThpcWorkspacesVirtualPrivateCloud): any; export declare class ThpcWorkspacesVirtualPrivateCloudOutputReference 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(): ThpcWorkspacesVirtualPrivateCloud | undefined; set internalValue(value: ThpcWorkspacesVirtualPrivateCloud | undefined); private _asVpcGateway?; get asVpcGateway(): boolean | cdktf.IResolvable; set asVpcGateway(value: boolean | cdktf.IResolvable); resetAsVpcGateway(): void; get asVpcGatewayInput(): any; private _ipv6AddressCount?; get ipv6AddressCount(): number; set ipv6AddressCount(value: number); resetIpv6AddressCount(): void; get ipv6AddressCountInput(): number; private _privateIpAddresses?; get privateIpAddresses(): string[]; set privateIpAddresses(value: string[]); resetPrivateIpAddresses(): void; get privateIpAddressesInput(): string[]; private _subnetId?; get subnetId(): string; set subnetId(value: string); get subnetIdInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); get vpcIdInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces tencentcloud_thpc_workspaces} */ export declare class ThpcWorkspaces extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_thpc_workspaces"; /** * Generates CDKTF code for importing a ThpcWorkspaces 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 ThpcWorkspaces to import * @param importFromId The id of the existing ThpcWorkspaces that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/thpc_workspaces#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ThpcWorkspaces 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/thpc_workspaces tencentcloud_thpc_workspaces} 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 ThpcWorkspacesConfig = {} */ constructor(scope: Construct, id: string, config?: ThpcWorkspacesConfig); private _camRoleName?; get camRoleName(): string; set camRoleName(value: string); resetCamRoleName(): void; get camRoleNameInput(): string; private _clientToken?; get clientToken(): string; set clientToken(value: string); resetClientToken(): void; get clientTokenInput(): string; private _disasterRecoverGroupId?; get disasterRecoverGroupId(): string; set disasterRecoverGroupId(value: string); resetDisasterRecoverGroupId(): void; get disasterRecoverGroupIdInput(): string; private _hostName?; get hostName(): string; set hostName(value: string); resetHostName(): void; get hostNameInput(): string; private _hpcClusterId?; get hpcClusterId(): string; set hpcClusterId(value: string); resetHpcClusterId(): void; get hpcClusterIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _imageId?; get imageId(): string; set imageId(value: string); resetImageId(): void; get imageIdInput(): string; get resourceId(): any; private _securityGroupIds?; get securityGroupIds(): string[]; set securityGroupIds(value: string[]); resetSecurityGroupIds(): void; get securityGroupIdsInput(): string[]; private _spaceChargeType?; get spaceChargeType(): string; set spaceChargeType(value: string); resetSpaceChargeType(): void; get spaceChargeTypeInput(): string; private _spaceName?; get spaceName(): string; set spaceName(value: string); resetSpaceName(): void; get spaceNameInput(): string; private _spaceType?; get spaceType(): string; set spaceType(value: string); resetSpaceType(): void; get spaceTypeInput(): string; private _userData?; get userData(): string; set userData(value: string); resetUserData(): void; get userDataInput(): string; private _dataDisks; get dataDisks(): ThpcWorkspacesDataDisksList; putDataDisks(value: ThpcWorkspacesDataDisks[] | cdktf.IResolvable): void; resetDataDisks(): void; get dataDisksInput(): any; private _enhancedService; get enhancedService(): ThpcWorkspacesEnhancedServiceOutputReference; putEnhancedService(value: ThpcWorkspacesEnhancedService): void; resetEnhancedService(): void; get enhancedServiceInput(): ThpcWorkspacesEnhancedService; private _internetAccessible; get internetAccessible(): ThpcWorkspacesInternetAccessibleOutputReference; putInternetAccessible(value: ThpcWorkspacesInternetAccessible): void; resetInternetAccessible(): void; get internetAccessibleInput(): ThpcWorkspacesInternetAccessible; private _loginSettings; get loginSettings(): ThpcWorkspacesLoginSettingsOutputReference; putLoginSettings(value: ThpcWorkspacesLoginSettings): void; resetLoginSettings(): void; get loginSettingsInput(): ThpcWorkspacesLoginSettings; private _placement; get placement(): ThpcWorkspacesPlacementOutputReference; putPlacement(value: ThpcWorkspacesPlacement): void; resetPlacement(): void; get placementInput(): ThpcWorkspacesPlacement; private _spaceChargePrepaid; get spaceChargePrepaid(): ThpcWorkspacesSpaceChargePrepaidOutputReference; putSpaceChargePrepaid(value: ThpcWorkspacesSpaceChargePrepaid): void; resetSpaceChargePrepaid(): void; get spaceChargePrepaidInput(): ThpcWorkspacesSpaceChargePrepaid; private _systemDisk; get systemDisk(): ThpcWorkspacesSystemDiskOutputReference; putSystemDisk(value: ThpcWorkspacesSystemDisk): void; resetSystemDisk(): void; get systemDiskInput(): ThpcWorkspacesSystemDisk; private _tagSpecification; get tagSpecification(): ThpcWorkspacesTagSpecificationList; putTagSpecification(value: ThpcWorkspacesTagSpecification[] | cdktf.IResolvable): void; resetTagSpecification(): void; get tagSpecificationInput(): any; private _virtualPrivateCloud; get virtualPrivateCloud(): ThpcWorkspacesVirtualPrivateCloudOutputReference; putVirtualPrivateCloud(value: ThpcWorkspacesVirtualPrivateCloud): void; resetVirtualPrivateCloud(): void; get virtualPrivateCloudInput(): ThpcWorkspacesVirtualPrivateCloud; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }