Class FlowLog.Builder

java.lang.Object
software.amazon.awscdk.services.ec2.FlowLog.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<FlowLog>
Enclosing class:
FlowLog

@Stability(Stable) public static final class FlowLog.Builder extends Object implements software.amazon.jsii.Builder<FlowLog>
A fluent builder for FlowLog.
  • Method Details

    • create

      @Stability(Stable) public static FlowLog.Builder create(software.constructs.Construct scope, String id)
      Parameters:
      scope - This parameter is required.
      id - This parameter is required.
      Returns:
      a new instance of FlowLog.Builder.
    • destination

      @Stability(Stable) public FlowLog.Builder destination(FlowLogDestination destination)
      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

      Default: FlowLogDestinationType.toCloudWatchLogs()

      Parameters:
      destination - Specifies the type of destination to which the flow log data is to be published. This parameter is required.
      Returns:
      this
    • logFormat

      @Stability(Stable) public FlowLog.Builder logFormat(List<? extends LogFormat> logFormat)
      The fields to include in the flow log record, in the order in which they should appear.

      If multiple fields are specified, they will be separated by spaces. For full control over the literal log format string, pass a single field constructed with LogFormat.custom().

      See https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records

      Default: - default log format is used.

      Parameters:
      logFormat - The fields to include in the flow log record, in the order in which they should appear. This parameter is required.
      Returns:
      this
    • maxAggregationInterval

      @Stability(Stable) public FlowLog.Builder maxAggregationInterval(FlowLogMaxAggregationInterval maxAggregationInterval)
      The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record.

      When creating flow logs for a Transit Gateway or Transit Gateway Attachment, this property must be ONE_MINUTES.

      Default: - FlowLogMaxAggregationInterval.ONE_MINUTES if creating flow logs for Transit Gateway, otherwise FlowLogMaxAggregationInterval.TEN_MINUTES.

      Parameters:
      maxAggregationInterval - The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. This parameter is required.
      Returns:
      this
      See Also:
    • trafficType

      @Stability(Stable) public FlowLog.Builder trafficType(FlowLogTrafficType trafficType)
      The type of traffic to log.

      You can log traffic that the resource accepts or rejects, or all traffic. When the target is either TransitGateway or TransitGatewayAttachment, setting the traffic type is not possible.

      Default: ALL

      Parameters:
      trafficType - The type of traffic to log. This parameter is required.
      Returns:
      this
      See Also:
    • resourceType

      @Stability(Stable) public FlowLog.Builder resourceType(FlowLogResourceType resourceType)
      The type of resource for which to create the flow log.

      Parameters:
      resourceType - The type of resource for which to create the flow log. This parameter is required.
      Returns:
      this
    • flowLogName

      @Stability(Stable) public FlowLog.Builder flowLogName(String flowLogName)
      The name of the FlowLog.

      Since the FlowLog resource doesn't support providing a physical name, the value provided here will be recorded in the Name tag.

      Default: CDK generated name

      Parameters:
      flowLogName - The name of the FlowLog. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public FlowLog build()
      Specified by:
      build in interface software.amazon.jsii.Builder<FlowLog>
      Returns:
      a newly built instance of FlowLog.