import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TcrInstanceConfig extends cdktf.TerraformMetaArguments { /** * Indicate to delete the COS bucket which is auto-created with the instance or not. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#delete_bucket TcrInstance#delete_bucket} */ readonly deleteBucket?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#id TcrInstance#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; /** * Length of time to purchase an instance (in month). Must set when registry_charge_type is prepaid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#instance_charge_type_prepaid_period TcrInstance#instance_charge_type_prepaid_period} */ readonly instanceChargeTypePrepaidPeriod?: number; /** * Auto renewal flag. 1: manual renewal, 2: automatic renewal, 3: no renewal and no notification. Must set when registry_charge_type is prepaid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#instance_charge_type_prepaid_renew_flag TcrInstance#instance_charge_type_prepaid_renew_flag} */ readonly instanceChargeTypePrepaidRenewFlag?: number; /** * TCR types. Valid values are: `standard`, `basic`, `premium`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#instance_type TcrInstance#instance_type} */ readonly instanceType: string; /** * Name of the TCR instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#name TcrInstance#name} */ readonly name: string; /** * Control public network access. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#open_public_operation TcrInstance#open_public_operation} */ readonly openPublicOperation?: boolean | cdktf.IResolvable; /** * Charge type of instance. 1: postpaid; 2: prepaid. Default is postpaid. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#registry_charge_type TcrInstance#registry_charge_type} */ readonly registryChargeType?: number; /** * The available tags within this TCR instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#tags TcrInstance#tags} */ readonly tags?: { [key: string]: string; }; /** * replications block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#replications TcrInstance#replications} */ readonly replications?: TcrInstanceReplications[] | cdktf.IResolvable; /** * security_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#security_policy TcrInstance#security_policy} */ readonly securityPolicy?: TcrInstanceSecurityPolicy[] | cdktf.IResolvable; } export interface TcrInstanceReplications { /** * Replication region ID, check the example at the top of page to find out id of region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#region_id TcrInstance#region_id} */ readonly regionId?: number; /** * Replication region name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#region_name TcrInstance#region_name} */ readonly regionName?: string; /** * Specify whether to sync TCR cloud tags to COS Bucket. NOTE: You have to specify when adding, modifying will be ignored for now. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#syn_tag TcrInstance#syn_tag} */ readonly synTag?: boolean | cdktf.IResolvable; } export declare function tcrInstanceReplicationsToTerraform(struct?: TcrInstanceReplications | cdktf.IResolvable): any; export declare function tcrInstanceReplicationsToHclTerraform(struct?: TcrInstanceReplications | cdktf.IResolvable): any; export declare class TcrInstanceReplicationsOutputReference 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(): TcrInstanceReplications | cdktf.IResolvable | undefined; set internalValue(value: TcrInstanceReplications | cdktf.IResolvable | undefined); get id(): any; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; private _synTag?; get synTag(): boolean | cdktf.IResolvable; set synTag(value: boolean | cdktf.IResolvable); resetSynTag(): void; get synTagInput(): any; } export declare class TcrInstanceReplicationsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TcrInstanceReplications[] | 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): TcrInstanceReplicationsOutputReference; } export interface TcrInstanceSecurityPolicy { /** * The public network IP address of the access source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#cidr_block TcrInstance#cidr_block} */ readonly cidrBlock?: string; /** * Remarks of policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#description TcrInstance#description} */ readonly description?: string; } export declare function tcrInstanceSecurityPolicyToTerraform(struct?: TcrInstanceSecurityPolicy | cdktf.IResolvable): any; export declare function tcrInstanceSecurityPolicyToHclTerraform(struct?: TcrInstanceSecurityPolicy | cdktf.IResolvable): any; export declare class TcrInstanceSecurityPolicyOutputReference 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(): TcrInstanceSecurityPolicy | cdktf.IResolvable | undefined; set internalValue(value: TcrInstanceSecurityPolicy | cdktf.IResolvable | undefined); private _cidrBlock?; get cidrBlock(): string; set cidrBlock(value: string); resetCidrBlock(): void; get cidrBlockInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; get index(): any; get version(): any; } export declare class TcrInstanceSecurityPolicyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TcrInstanceSecurityPolicy[] | 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): TcrInstanceSecurityPolicyOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance tencentcloud_tcr_instance} */ export declare class TcrInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tcr_instance"; /** * Generates CDKTF code for importing a TcrInstance 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 TcrInstance to import * @param importFromId The id of the existing TcrInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tcr_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TcrInstance 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_instance tencentcloud_tcr_instance} 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 TcrInstanceConfig */ constructor(scope: Construct, id: string, config: TcrInstanceConfig); private _deleteBucket?; get deleteBucket(): boolean | cdktf.IResolvable; set deleteBucket(value: boolean | cdktf.IResolvable); resetDeleteBucket(): void; get deleteBucketInput(): any; get expiredAt(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceChargeTypePrepaidPeriod?; get instanceChargeTypePrepaidPeriod(): number; set instanceChargeTypePrepaidPeriod(value: number); resetInstanceChargeTypePrepaidPeriod(): void; get instanceChargeTypePrepaidPeriodInput(): number; private _instanceChargeTypePrepaidRenewFlag?; get instanceChargeTypePrepaidRenewFlag(): number; set instanceChargeTypePrepaidRenewFlag(value: number); resetInstanceChargeTypePrepaidRenewFlag(): void; get instanceChargeTypePrepaidRenewFlagInput(): number; private _instanceType?; get instanceType(): string; set instanceType(value: string); get instanceTypeInput(): string; get internalEndPoint(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _openPublicOperation?; get openPublicOperation(): boolean | cdktf.IResolvable; set openPublicOperation(value: boolean | cdktf.IResolvable); resetOpenPublicOperation(): void; get openPublicOperationInput(): any; get publicDomain(): any; get publicStatus(): any; private _registryChargeType?; get registryChargeType(): number; set registryChargeType(value: number); resetRegistryChargeType(): void; get registryChargeTypeInput(): number; get status(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _replications; get replications(): TcrInstanceReplicationsList; putReplications(value: TcrInstanceReplications[] | cdktf.IResolvable): void; resetReplications(): void; get replicationsInput(): any; private _securityPolicy; get securityPolicy(): TcrInstanceSecurityPolicyList; putSecurityPolicy(value: TcrInstanceSecurityPolicy[] | cdktf.IResolvable): void; resetSecurityPolicy(): void; get securityPolicyInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }