import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VpcFlowLogConfig extends cdktf.TerraformMetaArguments { /** * The storage ID of the flow log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#cloud_log_id VpcFlowLog#cloud_log_id} */ readonly cloudLogId?: string; /** * The region corresponding to the flow log storage ID. If not passed in, this field defaults to the current region. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#cloud_log_region VpcFlowLog#cloud_log_region} */ readonly cloudLogRegion?: string; /** * The description of the flow log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#flow_log_description VpcFlowLog#flow_log_description} */ readonly flowLogDescription?: string; /** * The name of the flow log instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#flow_log_name VpcFlowLog#flow_log_name} */ readonly flowLogName: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#id VpcFlowLog#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 unique ID of the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#resource_id VpcFlowLog#resource_id} */ readonly resourceId: string; /** * The type of resource associated with the flow log. Valid values: `VPC`, `SUBNET`, `NETWORKINTERFACE`, `CCN`, `NAT`, and `DCG`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#resource_type VpcFlowLog#resource_type} */ readonly resourceType: string; /** * Consumer types: `cls` and `ckafka`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#storage_type VpcFlowLog#storage_type} */ readonly storageType?: string; /** * Tag description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#tags VpcFlowLog#tags} */ readonly tags?: { [key: string]: string; }; /** * Type of the flow logs to be collected. Valid values: `ACCEPT`, `REJECT` and `ALL`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#traffic_type VpcFlowLog#traffic_type} */ readonly trafficType: string; /** * The VPC ID or unique ID of the resource. We recommend using the unique ID. This parameter is required unless the `ResourceType` is set to `CCN`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#vpc_id VpcFlowLog#vpc_id} */ readonly vpcId?: string; /** * flow_log_storage block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#flow_log_storage VpcFlowLog#flow_log_storage} */ readonly flowLogStorage?: VpcFlowLogFlowLogStorage; } export interface VpcFlowLogFlowLogStorage { /** * Storage instance ID, required while `storage_type` is `ckafka`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#storage_id VpcFlowLog#storage_id} */ readonly storageId?: string; /** * Topic ID, required while `storage_type` is `ckafka`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#storage_topic VpcFlowLog#storage_topic} */ readonly storageTopic?: string; } export declare function vpcFlowLogFlowLogStorageToTerraform(struct?: VpcFlowLogFlowLogStorageOutputReference | VpcFlowLogFlowLogStorage): any; export declare function vpcFlowLogFlowLogStorageToHclTerraform(struct?: VpcFlowLogFlowLogStorageOutputReference | VpcFlowLogFlowLogStorage): any; export declare class VpcFlowLogFlowLogStorageOutputReference 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(): VpcFlowLogFlowLogStorage | undefined; set internalValue(value: VpcFlowLogFlowLogStorage | undefined); private _storageId?; get storageId(): string; set storageId(value: string); resetStorageId(): void; get storageIdInput(): string; private _storageTopic?; get storageTopic(): string; set storageTopic(value: string); resetStorageTopic(): void; get storageTopicInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log tencentcloud_vpc_flow_log} */ export declare class VpcFlowLog extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_vpc_flow_log"; /** * Generates CDKTF code for importing a VpcFlowLog 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 VpcFlowLog to import * @param importFromId The id of the existing VpcFlowLog that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vpc_flow_log#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VpcFlowLog 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/vpc_flow_log tencentcloud_vpc_flow_log} 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 VpcFlowLogConfig */ constructor(scope: Construct, id: string, config: VpcFlowLogConfig); private _cloudLogId?; get cloudLogId(): string; set cloudLogId(value: string); resetCloudLogId(): void; get cloudLogIdInput(): string; private _cloudLogRegion?; get cloudLogRegion(): string; set cloudLogRegion(value: string); resetCloudLogRegion(): void; get cloudLogRegionInput(): string; private _flowLogDescription?; get flowLogDescription(): string; set flowLogDescription(value: string); resetFlowLogDescription(): void; get flowLogDescriptionInput(): string; private _flowLogName?; get flowLogName(): string; set flowLogName(value: string); get flowLogNameInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _resourceId?; get resourceId(): string; set resourceId(value: string); get resourceIdInput(): string; private _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string; private _storageType?; get storageType(): string; set storageType(value: string); resetStorageType(): void; get storageTypeInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _trafficType?; get trafficType(): string; set trafficType(value: string); get trafficTypeInput(): string; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; private _flowLogStorage; get flowLogStorage(): VpcFlowLogFlowLogStorageOutputReference; putFlowLogStorage(value: VpcFlowLogFlowLogStorage): void; resetFlowLogStorage(): void; get flowLogStorageInput(): VpcFlowLogFlowLogStorage; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }