import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TcrTagRetentionRuleConfig extends cdktf.TerraformMetaArguments { /** * Execution cycle, currently only available selections are: manual; daily; weekly; monthly. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#cron_setting TcrTagRetentionRule#cron_setting} */ readonly cronSetting: string; /** * Whether to disable the rule, with the default value of false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#disabled TcrTagRetentionRule#disabled} */ readonly disabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#id TcrTagRetentionRule#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 Name of the namespace. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#namespace_name TcrTagRetentionRule#namespace_name} */ readonly namespaceName: string; /** * The main instance ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#registry_id TcrTagRetentionRule#registry_id} */ readonly registryId: string; /** * retention_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#retention_rule TcrTagRetentionRule#retention_rule} */ readonly retentionRule: TcrTagRetentionRuleRetentionRule; } export interface TcrTagRetentionRuleRetentionRule { /** * The supported policies are latestPushedK (retain the latest `k` pushed versions) and nDaysSinceLastPush (retain pushed versions within the last `n` days). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#key TcrTagRetentionRule#key} */ readonly key: string; /** * corresponding values for rule settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#value TcrTagRetentionRule#value} */ readonly value: number; } export declare function tcrTagRetentionRuleRetentionRuleToTerraform(struct?: TcrTagRetentionRuleRetentionRuleOutputReference | TcrTagRetentionRuleRetentionRule): any; export declare function tcrTagRetentionRuleRetentionRuleToHclTerraform(struct?: TcrTagRetentionRuleRetentionRuleOutputReference | TcrTagRetentionRuleRetentionRule): any; export declare class TcrTagRetentionRuleRetentionRuleOutputReference 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(): TcrTagRetentionRuleRetentionRule | undefined; set internalValue(value: TcrTagRetentionRuleRetentionRule | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): number; set value(value: number); get valueInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule tencentcloud_tcr_tag_retention_rule} */ export declare class TcrTagRetentionRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tcr_tag_retention_rule"; /** * Generates CDKTF code for importing a TcrTagRetentionRule 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 TcrTagRetentionRule to import * @param importFromId The id of the existing TcrTagRetentionRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_tag_retention_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TcrTagRetentionRule 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/tcr_tag_retention_rule tencentcloud_tcr_tag_retention_rule} 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 TcrTagRetentionRuleConfig */ constructor(scope: Construct, id: string, config: TcrTagRetentionRuleConfig); private _cronSetting?; get cronSetting(): string; set cronSetting(value: string); get cronSettingInput(): string; private _disabled?; get disabled(): boolean | cdktf.IResolvable; set disabled(value: boolean | cdktf.IResolvable); resetDisabled(): void; get disabledInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _namespaceName?; get namespaceName(): string; set namespaceName(value: string); get namespaceNameInput(): string; private _registryId?; get registryId(): string; set registryId(value: string); get registryIdInput(): string; get retentionId(): any; private _retentionRule; get retentionRule(): TcrTagRetentionRuleRetentionRuleOutputReference; putRetentionRule(value: TcrTagRetentionRuleRetentionRule): void; get retentionRuleInput(): TcrTagRetentionRuleRetentionRule; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }