import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SsmProductSecretConfig extends cdktf.TerraformMetaArguments { /** * Description, which is used to describe the purpose in detail and can contain up to 2,048 bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#description SsmProductSecret#description} */ readonly description?: string; /** * Domain name of the account in the form of IP. You can enter `%`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#domains SsmProductSecret#domains} */ readonly domains: string[]; /** * Specifies whether to enable rotation, when secret status is `Disabled`, rotation will be disabled. `True` - enable, `False` - do not enable. If this parameter is not specified, `False` will be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#enable_rotation SsmProductSecret#enable_rotation} */ readonly enableRotation?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#id SsmProductSecret#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; /** * Tencent Cloud service instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#instance_id SsmProductSecret#instance_id} */ readonly instanceId: string; /** * Specifies the KMS CMK that encrypts the credential. If this parameter is left empty, the CMK created by Secrets Manager by default will be used for encryption.You can also specify a custom KMS CMK created in the same region for encryption. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#kms_key_id SsmProductSecret#kms_key_id} */ readonly kmsKeyId?: string; /** * Name of the Tencent Cloud service bound to the credential, such as `Mysql`, `Tdsql-mysql`, `Tdsql_C_Mysql`. you can use dataSource `tencentcloud_ssm_products` to query supported products. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#product_name SsmProductSecret#product_name} */ readonly productName: string; /** * User-Defined rotation start time in the format of 2006-01-02 15:04:05.When `EnableRotation` is `True`, this parameter is required. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#rotation_begin_time SsmProductSecret#rotation_begin_time} */ readonly rotationBeginTime?: string; /** * Rotation frequency in days. Default value: 1 day. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#rotation_frequency SsmProductSecret#rotation_frequency} */ readonly rotationFrequency?: number; /** * Credential name, which must be unique in the same region. It can contain 128 bytes of letters, digits, hyphens, and underscores and must begin with a letter or digit. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#secret_name SsmProductSecret#secret_name} */ readonly secretName: string; /** * Enable or Disable Secret. Valid values is `Enabled` or `Disabled`. Default is `Enabled`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#status SsmProductSecret#status} */ readonly status?: string; /** * Tags of secret. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#tags SsmProductSecret#tags} */ readonly tags?: { [key: string]: string; }; /** * Prefix of the user account name, which is specified by you and can contain up to 8 characters.Supported character sets include:Digits: [0, 9].Lowercase letters: [a, z].Uppercase letters: [A, Z].Special symbols: underscore.The prefix must begin with a letter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#user_name_prefix SsmProductSecret#user_name_prefix} */ readonly userNamePrefix: string; /** * privileges_list block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#privileges_list SsmProductSecret#privileges_list} */ readonly privilegesList: SsmProductSecretPrivilegesListStruct[] | cdktf.IResolvable; } export interface SsmProductSecretPrivilegesListStruct { /** * This value takes effect only when `PrivilegeName` is `ColumnPrivileges`, and the following parameters are required in this case:Database: explicitly indicate the database instance.TableName: explicitly indicate the table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#column_name SsmProductSecret#column_name} */ readonly columnName?: string; /** * This value takes effect only when `PrivilegeName` is `DatabasePrivileges`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#database SsmProductSecret#database} */ readonly database?: string; /** * Permission name. Valid values: `GlobalPrivileges`, `DatabasePrivileges`, `TablePrivileges`, `ColumnPrivileges`. When the permission is `DatabasePrivileges`, the database name must be specified by the `Database` parameter; When the permission is `TablePrivileges`, the database name and the table name in the database must be specified by the `Database` and `TableName` parameters; When the permission is `ColumnPrivileges`, the database name, table name in the database, and column name in the table must be specified by the `Database`, `TableName`, and `ColumnName` parameters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#privilege_name SsmProductSecret#privilege_name} */ readonly privilegeName: string; /** * Permission list. For the `Mysql` service, optional permission values are: 1. Valid values of `GlobalPrivileges`: SELECT,INSERT,UPDATE,DELETE,CREATE, PROCESS, DROP,REFERENCES,INDEX,ALTER,SHOW DATABASES,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EVENT,TRIGGER. Note: if this parameter is not passed in, it means to clear the permission. 2. Valid values of `DatabasePrivileges`: SELECT,INSERT,UPDATE,DELETE,CREATE, DROP,REFERENCES,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES,EXECUTE,CREATE VIEW,SHOW VIEW,CREATE ROUTINE,ALTER ROUTINE,EVENT,TRIGGER. Note: if this parameter is not passed in, it means to clear the permission. 3. Valid values of `TablePrivileges`: SELECT,INSERT,UPDATE,DELETE,CREATE, DROP,REFERENCES,INDEX,ALTER,CREATE VIEW,SHOW VIEW, TRIGGER. Note: if this parameter is not passed in, it means to clear the permission. 4. Valid values of `ColumnPrivileges`: SELECT,INSERT,UPDATE,REFERENCES.Note: if this parameter is not passed in, it means to clear the permission. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#privileges SsmProductSecret#privileges} */ readonly privileges: string[]; /** * This value takes effect only when `PrivilegeName` is `TablePrivileges`, and the `Database` parameter is required in this case to explicitly indicate the database instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#table_name SsmProductSecret#table_name} */ readonly tableName?: string; } export declare function ssmProductSecretPrivilegesListStructToTerraform(struct?: SsmProductSecretPrivilegesListStruct | cdktf.IResolvable): any; export declare function ssmProductSecretPrivilegesListStructToHclTerraform(struct?: SsmProductSecretPrivilegesListStruct | cdktf.IResolvable): any; export declare class SsmProductSecretPrivilegesListStructOutputReference 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(): SsmProductSecretPrivilegesListStruct | cdktf.IResolvable | undefined; set internalValue(value: SsmProductSecretPrivilegesListStruct | cdktf.IResolvable | undefined); private _columnName?; get columnName(): string; set columnName(value: string); resetColumnName(): void; get columnNameInput(): string; private _database?; get database(): string; set database(value: string); resetDatabase(): void; get databaseInput(): string; private _privilegeName?; get privilegeName(): string; set privilegeName(value: string); get privilegeNameInput(): string; private _privileges?; get privileges(): string[]; set privileges(value: string[]); get privilegesInput(): string[]; private _tableName?; get tableName(): string; set tableName(value: string); resetTableName(): void; get tableNameInput(): string; } export declare class SsmProductSecretPrivilegesListStructList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SsmProductSecretPrivilegesListStruct[] | 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): SsmProductSecretPrivilegesListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret tencentcloud_ssm_product_secret} */ export declare class SsmProductSecret extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_ssm_product_secret"; /** * Generates CDKTF code for importing a SsmProductSecret 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 SsmProductSecret to import * @param importFromId The id of the existing SsmProductSecret that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ssm_product_secret#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SsmProductSecret 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/ssm_product_secret tencentcloud_ssm_product_secret} 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 SsmProductSecretConfig */ constructor(scope: Construct, id: string, config: SsmProductSecretConfig); get createTime(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _domains?; get domains(): string[]; set domains(value: string[]); get domainsInput(): string[]; private _enableRotation?; get enableRotation(): boolean | cdktf.IResolvable; set enableRotation(value: boolean | cdktf.IResolvable); resetEnableRotation(): void; get enableRotationInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _productName?; get productName(): string; set productName(value: string); get productNameInput(): string; private _rotationBeginTime?; get rotationBeginTime(): string; set rotationBeginTime(value: string); resetRotationBeginTime(): void; get rotationBeginTimeInput(): string; private _rotationFrequency?; get rotationFrequency(): number; set rotationFrequency(value: number); resetRotationFrequency(): void; get rotationFrequencyInput(): number; private _secretName?; get secretName(): string; set secretName(value: string); get secretNameInput(): string; get secretType(): any; private _status?; get status(): string; set status(value: string); resetStatus(): void; get statusInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _userNamePrefix?; get userNamePrefix(): string; set userNamePrefix(value: string); get userNamePrefixInput(): string; private _privilegesList; get privilegesList(): SsmProductSecretPrivilegesListStructList; putPrivilegesList(value: SsmProductSecretPrivilegesListStruct[] | cdktf.IResolvable): void; get privilegesListInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }