import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataTencentcloudKmsKeysConfig extends cdktf.TerraformMetaArguments { /** * The HSM cluster ID corresponding to KMS Advanced Edition (only valid for KMS Exclusive/Managed Edition service instances). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#hsm_cluster_id DataTencentcloudKmsKeys#hsm_cluster_id} */ readonly hsmClusterId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#id DataTencentcloudKmsKeys#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; /** * Filter by state of CMK. `0` - all CMKs are queried, `1` - only Enabled CMKs are queried, `2` - only Disabled CMKs are queried, `3` - only PendingDelete CMKs are queried, `4` - only PendingImport CMKs are queried, `5` - only Archived CMKs are queried. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#key_state DataTencentcloudKmsKeys#key_state} */ readonly keyState?: number; /** * Filter by usage of CMK. Available values include `ALL`, `ENCRYPT_DECRYPT`, `ASYMMETRIC_DECRYPT_RSA_2048`, `ASYMMETRIC_DECRYPT_SM2`, `ASYMMETRIC_SIGN_VERIFY_SM2`, `ASYMMETRIC_SIGN_VERIFY_RSA_2048`, `ASYMMETRIC_SIGN_VERIFY_ECC`. Default value is `ENCRYPT_DECRYPT`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#key_usage DataTencentcloudKmsKeys#key_usage} */ readonly keyUsage?: string; /** * Order to sort the CMK create time. `0` - desc, `1` - asc. Default value is `0`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#order_type DataTencentcloudKmsKeys#order_type} */ readonly orderType?: number; /** * Filter by origin of CMK. `TENCENT_KMS` - CMK created by KMS, `EXTERNAL` - CMK imported by user, `ALL` - all CMKs. Default value is `ALL`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#origin DataTencentcloudKmsKeys#origin} */ readonly origin?: string; /** * Used to save results. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#result_output_file DataTencentcloudKmsKeys#result_output_file} */ readonly resultOutputFile?: string; /** * Filter by role of the CMK creator. `0` - created by user, `1` - created by cloud product. Default value is `0`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#role DataTencentcloudKmsKeys#role} */ readonly role?: number; /** * Words used to match the results, and the words can be: key_id and alias. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#search_key_alias DataTencentcloudKmsKeys#search_key_alias} */ readonly searchKeyAlias?: string; /** * Tags to filter CMK. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#tags DataTencentcloudKmsKeys#tags} */ readonly tags?: { [key: string]: string; }; } export interface DataTencentcloudKmsKeysKeyListStruct { } export declare function dataTencentcloudKmsKeysKeyListStructToTerraform(struct?: DataTencentcloudKmsKeysKeyListStruct): any; export declare function dataTencentcloudKmsKeysKeyListStructToHclTerraform(struct?: DataTencentcloudKmsKeysKeyListStruct): any; export declare class DataTencentcloudKmsKeysKeyListStructOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataTencentcloudKmsKeysKeyListStruct | undefined; set internalValue(value: DataTencentcloudKmsKeysKeyListStruct | undefined); get alias(): any; get createTime(): any; get creatorUin(): any; get deletionDate(): any; get description(): any; get hsmClusterId(): any; get keyId(): any; get keyRotationEnabled(): any; get keyState(): any; get keyUsage(): any; get nextRotateTime(): any; get origin(): any; get owner(): any; get validTo(): any; } export declare class DataTencentcloudKmsKeysKeyListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataTencentcloudKmsKeysKeyListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys tencentcloud_kms_keys} */ export declare class DataTencentcloudKmsKeys extends cdktf.TerraformDataSource { static readonly tfResourceType = "tencentcloud_kms_keys"; /** * Generates CDKTF code for importing a DataTencentcloudKmsKeys 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 DataTencentcloudKmsKeys to import * @param importFromId The id of the existing DataTencentcloudKmsKeys that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/kms_keys#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataTencentcloudKmsKeys 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/data-sources/kms_keys tencentcloud_kms_keys} Data Source * * @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 DataTencentcloudKmsKeysConfig = {} */ constructor(scope: Construct, id: string, config?: DataTencentcloudKmsKeysConfig); private _hsmClusterId?; get hsmClusterId(): string; set hsmClusterId(value: string); resetHsmClusterId(): void; get hsmClusterIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _keyList; get keyList(): DataTencentcloudKmsKeysKeyListStructList; private _keyState?; get keyState(): number; set keyState(value: number); resetKeyState(): void; get keyStateInput(): number; private _keyUsage?; get keyUsage(): string; set keyUsage(value: string); resetKeyUsage(): void; get keyUsageInput(): string; private _orderType?; get orderType(): number; set orderType(value: number); resetOrderType(): void; get orderTypeInput(): number; private _origin?; get origin(): string; set origin(value: string); resetOrigin(): void; get originInput(): string; private _resultOutputFile?; get resultOutputFile(): string; set resultOutputFile(value: string); resetResultOutputFile(): void; get resultOutputFileInput(): string; private _role?; get role(): number; set role(value: number); resetRole(): void; get roleInput(): number; private _searchKeyAlias?; get searchKeyAlias(): string; set searchKeyAlias(value: string); resetSearchKeyAlias(): void; get searchKeyAliasInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }