import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LockboxSecretConfig extends cdktf.TerraformMetaArguments { /** * The `true` value means that resource is protected from accidental deletion. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#deletion_protection LockboxSecret#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#description LockboxSecret#description} */ readonly description?: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#folder_id LockboxSecret#folder_id} */ readonly folderId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#id LockboxSecret#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 KMS key used to encrypt the Yandex Cloud Lockbox secret. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#kms_key_id LockboxSecret#kms_key_id} */ readonly kmsKeyId?: string; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#labels LockboxSecret#labels} */ readonly labels?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#name LockboxSecret#name} */ readonly name?: string; /** * password_payload_specification block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#password_payload_specification LockboxSecret#password_payload_specification} */ readonly passwordPayloadSpecification?: LockboxSecretPasswordPayloadSpecification; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#timeouts LockboxSecret#timeouts} */ readonly timeouts?: LockboxSecretTimeouts; } export interface LockboxSecretPasswordPayloadSpecification { /** * String of punctuation characters to exclude from the default. Requires `include_punctuation = true`. Default is empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#excluded_punctuation LockboxSecret#excluded_punctuation} */ readonly excludedPunctuation?: string; /** * Use digits in the generated password. Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#include_digits LockboxSecret#include_digits} */ readonly includeDigits?: boolean | cdktf.IResolvable; /** * Use lowercase letters in the generated password. Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#include_lowercase LockboxSecret#include_lowercase} */ readonly includeLowercase?: boolean | cdktf.IResolvable; /** * Use punctuations (`!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~`) in the generated password. Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#include_punctuation LockboxSecret#include_punctuation} */ readonly includePunctuation?: boolean | cdktf.IResolvable; /** * Use capital letters in the generated password. Default is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#include_uppercase LockboxSecret#include_uppercase} */ readonly includeUppercase?: boolean | cdktf.IResolvable; /** * String of specific punctuation characters to use. Requires `include_punctuation = true`. Default is empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#included_punctuation LockboxSecret#included_punctuation} */ readonly includedPunctuation?: string; /** * Length of generated password. Default is `36`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#length LockboxSecret#length} */ readonly length?: number; /** * The key with which the generated password will be placed in the secret version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#password_key LockboxSecret#password_key} */ readonly passwordKey: string; } export declare function lockboxSecretPasswordPayloadSpecificationToTerraform(struct?: LockboxSecretPasswordPayloadSpecificationOutputReference | LockboxSecretPasswordPayloadSpecification): any; export declare function lockboxSecretPasswordPayloadSpecificationToHclTerraform(struct?: LockboxSecretPasswordPayloadSpecificationOutputReference | LockboxSecretPasswordPayloadSpecification): any; export declare class LockboxSecretPasswordPayloadSpecificationOutputReference 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(): LockboxSecretPasswordPayloadSpecification | undefined; set internalValue(value: LockboxSecretPasswordPayloadSpecification | undefined); private _excludedPunctuation?; get excludedPunctuation(): string; set excludedPunctuation(value: string); resetExcludedPunctuation(): void; get excludedPunctuationInput(): string; private _includeDigits?; get includeDigits(): boolean | cdktf.IResolvable; set includeDigits(value: boolean | cdktf.IResolvable); resetIncludeDigits(): void; get includeDigitsInput(): any; private _includeLowercase?; get includeLowercase(): boolean | cdktf.IResolvable; set includeLowercase(value: boolean | cdktf.IResolvable); resetIncludeLowercase(): void; get includeLowercaseInput(): any; private _includePunctuation?; get includePunctuation(): boolean | cdktf.IResolvable; set includePunctuation(value: boolean | cdktf.IResolvable); resetIncludePunctuation(): void; get includePunctuationInput(): any; private _includeUppercase?; get includeUppercase(): boolean | cdktf.IResolvable; set includeUppercase(value: boolean | cdktf.IResolvable); resetIncludeUppercase(): void; get includeUppercaseInput(): any; private _includedPunctuation?; get includedPunctuation(): string; set includedPunctuation(value: string); resetIncludedPunctuation(): void; get includedPunctuationInput(): string; private _length?; get length(): number; set length(value: number); resetLength(): void; get lengthInput(): number; private _passwordKey?; get passwordKey(): string; set passwordKey(value: string); get passwordKeyInput(): string; } export interface LockboxSecretTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#create LockboxSecret#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#delete LockboxSecret#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#read LockboxSecret#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#update LockboxSecret#update} */ readonly update?: string; } export declare function lockboxSecretTimeoutsToTerraform(struct?: LockboxSecretTimeouts | cdktf.IResolvable): any; export declare function lockboxSecretTimeoutsToHclTerraform(struct?: LockboxSecretTimeouts | cdktf.IResolvable): any; export declare class LockboxSecretTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): LockboxSecretTimeouts | cdktf.IResolvable | undefined; set internalValue(value: LockboxSecretTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret yandex_lockbox_secret} */ export declare class LockboxSecret extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_lockbox_secret"; /** * Generates CDKTF code for importing a LockboxSecret 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 LockboxSecret to import * @param importFromId The id of the existing LockboxSecret that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LockboxSecret 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/yandex-cloud/yandex/0.177.0/docs/resources/lockbox_secret yandex_lockbox_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 LockboxSecretConfig = {} */ constructor(scope: Construct, id: string, config?: LockboxSecretConfig); get createdAt(): any; private _deletionProtection?; get deletionProtection(): boolean | cdktf.IResolvable; set deletionProtection(value: boolean | cdktf.IResolvable); resetDeletionProtection(): void; get deletionProtectionInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; get status(): any; private _passwordPayloadSpecification; get passwordPayloadSpecification(): LockboxSecretPasswordPayloadSpecificationOutputReference; putPasswordPayloadSpecification(value: LockboxSecretPasswordPayloadSpecification): void; resetPasswordPayloadSpecification(): void; get passwordPayloadSpecificationInput(): LockboxSecretPasswordPayloadSpecification; private _timeouts; get timeouts(): LockboxSecretTimeoutsOutputReference; putTimeouts(value: LockboxSecretTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }