@pulumi/aws-native
Version:
The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)
137 lines (136 loc) • 7.05 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
* Specifies a VPC flow log, which enables you to capture IP traffic for a specific network interface, subnet, or VPC.
*/
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 opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, 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;
/**
* The Flow Log ID
*/
readonly awsId: pulumi.Output<string>;
/**
* The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
*/
readonly deliverCrossAccountRole: pulumi.Output<string | undefined>;
/**
* The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
*/
readonly deliverLogsPermissionArn: pulumi.Output<string | undefined>;
/**
* The destination options.
*/
readonly destinationOptions: pulumi.Output<outputs.ec2.DestinationOptionsProperties | undefined>;
/**
* Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group, an Amazon S3 bucket, or a Kinesis Firehose stream. The value specified for this parameter depends on the value specified for LogDestinationType.
*/
readonly logDestination: pulumi.Output<string | undefined>;
/**
* Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3.
*/
readonly logDestinationType: pulumi.Output<enums.ec2.FlowLogLogDestinationType | undefined>;
/**
* The fields to include in the flow log record, in the order in which they should appear.
*/
readonly logFormat: pulumi.Output<string | undefined>;
/**
* The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
*/
readonly logGroupName: pulumi.Output<string | undefined>;
/**
* The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).
*/
readonly maxAggregationInterval: pulumi.Output<number | undefined>;
/**
* The ID of the subnet, network interface, or VPC for which you want to create a flow log.
*/
readonly resourceId: pulumi.Output<string>;
/**
* The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.
*/
readonly resourceType: pulumi.Output<enums.ec2.FlowLogResourceType>;
/**
* The tags to apply to the flow logs.
*/
readonly tags: pulumi.Output<outputs.Tag[] | undefined>;
/**
* The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.
*/
readonly trafficType: pulumi.Output<enums.ec2.FlowLogTrafficType | undefined>;
/**
* 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);
}
/**
* The set of arguments for constructing a FlowLog resource.
*/
export interface FlowLogArgs {
/**
* The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
*/
deliverCrossAccountRole?: pulumi.Input<string>;
/**
* The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
*/
deliverLogsPermissionArn?: pulumi.Input<string>;
/**
* The destination options.
*/
destinationOptions?: pulumi.Input<inputs.ec2.DestinationOptionsPropertiesArgs>;
/**
* Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group, an Amazon S3 bucket, or a Kinesis Firehose stream. The value specified for this parameter depends on the value specified for LogDestinationType.
*/
logDestination?: pulumi.Input<string>;
/**
* Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3.
*/
logDestinationType?: pulumi.Input<enums.ec2.FlowLogLogDestinationType>;
/**
* The fields to include in the flow log record, in the order in which they should appear.
*/
logFormat?: pulumi.Input<string>;
/**
* The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs. If you specify LogDestinationType as s3 or kinesis-data-firehose, do not specify DeliverLogsPermissionArn or LogGroupName.
*/
logGroupName?: pulumi.Input<string>;
/**
* The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).
*/
maxAggregationInterval?: pulumi.Input<number>;
/**
* The ID of the subnet, network interface, or VPC for which you want to create a flow log.
*/
resourceId: pulumi.Input<string>;
/**
* The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.
*/
resourceType: pulumi.Input<enums.ec2.FlowLogResourceType>;
/**
* The tags to apply to the flow logs.
*/
tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>;
/**
* The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.
*/
trafficType?: pulumi.Input<enums.ec2.FlowLogTrafficType>;
}