import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * After aggregating log data for inbound and outbound traffic on network interfaces as needed, flow logs are delivered to Log Service for storage and analysis. You can use flow log analysis to monitor network traffic, troubleshoot network issues, and optimize network architecture. VPC flow logs record detailed information about VPC network traffic for network monitoring, traffic analysis, and troubleshooting. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const vPCFlowLogDemo = new volcenginecc.vpc.FlowLog("VPCFlowLogDemo", { * aggregationInterval: 10, * description: "this is a test flow log", * flowLogName: "FlowLog-ccapi-test", * logProjectName: "ccapi-test-flow-log", * logTopicName: "test-flow-log", * projectName: "default", * resourceId: "vpc-rrco37ovjq4gv0xxxxxx", * resourceType: "vpc", * status: "Active", * tags: [{ * key: "env", * value: "test", * }], * trafficType: "All", * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:vpc/flowLog:FlowLog example "flow_log_id" * ``` */ export declare class FlowLog extends pulumi.CustomResource { /** * Get an existing FlowLog resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FlowLogState, opts?: pulumi.CustomResourceOptions): FlowLog; /** * Returns true if the given object is an instance of FlowLog. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is FlowLog; /** * Stream log sampling interval. Options: 1: 1 minute. 5: 5 minutes. 10 (default): 10 minutes. */ readonly aggregationInterval: pulumi.Output; /** * Whether the flow log is locked. Normal: normal. FinancialLocked: locked. */ readonly businessStatus: pulumi.Output; /** * Creation time of the flow log. */ readonly createdAt: pulumi.Output; /** * Description of the stream log. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). */ readonly description: pulumi.Output; /** * Whether to automatically configure indexes. Indexes are used for retrieving and analyzing data. Stream logs must have indexes configured before retrieval and analysis. true: Yes. false (default): No. */ readonly enableIndex: pulumi.Output; /** * Stream log ID. */ readonly flowLogId: pulumi.Output; /** * Name of the flow log. Length must be 1–128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the flow log instance ID. */ readonly flowLogName: pulumi.Output; /** * Reason for stream log lock. financial: Locked due to overdue payment. unlock: In the process of restoring after payment following suspension due to overdue payment. Empty value: Not locked. */ readonly lockReason: pulumi.Output; /** * Flow log project ID. */ readonly logProjectId: pulumi.Output; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ readonly logProjectName: pulumi.Output; /** * Flow log topic ID. */ readonly logTopicId: pulumi.Output; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ readonly logTopicName: pulumi.Output; /** * Name of the project to which the flow log belongs. */ readonly projectName: pulumi.Output; /** * Resource ID for traffic capture. */ readonly resourceId: pulumi.Output; /** * Resource type for traffic collection. Values: vpc: Virtual Private Cloud. subnet: subnet. eni: network interface. */ readonly resourceType: pulumi.Output; /** * Status of the flow log. Values: Active: active. Pending: pending. Inactive: inactive. Creating: creating. Deleting: deleting. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Type of traffic collected. Values: All: all traffic. Allow: traffic allowed by network ACLs and security groups. Drop: traffic denied by network ACLs and security groups. */ readonly trafficType: pulumi.Output; /** * Time when the stream log was updated. */ readonly updatedAt: pulumi.Output; /** * VPC ID for the flow log. */ readonly vpcId: pulumi.Output; /** * Create a FlowLog resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: FlowLogArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FlowLog resources. */ export interface FlowLogState { /** * Stream log sampling interval. Options: 1: 1 minute. 5: 5 minutes. 10 (default): 10 minutes. */ aggregationInterval?: pulumi.Input; /** * Whether the flow log is locked. Normal: normal. FinancialLocked: locked. */ businessStatus?: pulumi.Input; /** * Creation time of the flow log. */ createdAt?: pulumi.Input; /** * Description of the stream log. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). */ description?: pulumi.Input; /** * Whether to automatically configure indexes. Indexes are used for retrieving and analyzing data. Stream logs must have indexes configured before retrieval and analysis. true: Yes. false (default): No. */ enableIndex?: pulumi.Input; /** * Stream log ID. */ flowLogId?: pulumi.Input; /** * Name of the flow log. Length must be 1–128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the flow log instance ID. */ flowLogName?: pulumi.Input; /** * Reason for stream log lock. financial: Locked due to overdue payment. unlock: In the process of restoring after payment following suspension due to overdue payment. Empty value: Not locked. */ lockReason?: pulumi.Input; /** * Flow log project ID. */ logProjectId?: pulumi.Input; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ logProjectName?: pulumi.Input; /** * Flow log topic ID. */ logTopicId?: pulumi.Input; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ logTopicName?: pulumi.Input; /** * Name of the project to which the flow log belongs. */ projectName?: pulumi.Input; /** * Resource ID for traffic capture. */ resourceId?: pulumi.Input; /** * Resource type for traffic collection. Values: vpc: Virtual Private Cloud. subnet: subnet. eni: network interface. */ resourceType?: pulumi.Input; /** * Status of the flow log. Values: Active: active. Pending: pending. Inactive: inactive. Creating: creating. Deleting: deleting. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Type of traffic collected. Values: All: all traffic. Allow: traffic allowed by network ACLs and security groups. Drop: traffic denied by network ACLs and security groups. */ trafficType?: pulumi.Input; /** * Time when the stream log was updated. */ updatedAt?: pulumi.Input; /** * VPC ID for the flow log. */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a FlowLog resource. */ export interface FlowLogArgs { /** * Stream log sampling interval. Options: 1: 1 minute. 5: 5 minutes. 10 (default): 10 minutes. */ aggregationInterval: pulumi.Input; /** * Description of the stream log. Length limit: 0–255 characters. If not specified, defaults to an empty string. Must start with a letter, Chinese character, or number. Can include English commas (,), periods (.), underscores (_), spaces ( ), equals signs (=), hyphens (-), Chinese commas (,), and Chinese periods (。). */ description?: pulumi.Input; /** * Name of the flow log. Length must be 1–128 characters. Must start with a letter, Chinese character, or number, and can include periods (.), underscores (_), and hyphens (-). If not specified, defaults to the flow log instance ID. */ flowLogName: pulumi.Input; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ logProjectName: pulumi.Input; /** * Name of the flow log project. The name can only contain lowercase letters, numbers, and hyphens (-). It must start and end with a lowercase letter or number. The name must be 3–63 characters long. */ logTopicName: pulumi.Input; /** * Name of the project to which the flow log belongs. */ projectName?: pulumi.Input; /** * Resource ID for traffic capture. */ resourceId: pulumi.Input; /** * Resource type for traffic collection. Values: vpc: Virtual Private Cloud. subnet: subnet. eni: network interface. */ resourceType: pulumi.Input; /** * Status of the flow log. Values: Active: active. Pending: pending. Inactive: inactive. Creating: creating. Deleting: deleting. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Type of traffic collected. Values: All: all traffic. Allow: traffic allowed by network ACLs and security groups. Drop: traffic denied by network ACLs and security groups. */ trafficType: pulumi.Input; }