Class FlowLogProps.Builder

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

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

    • Builder

      public Builder()
  • Method Details

    • resourceType

      @Stability(Stable) public FlowLogProps.Builder resourceType(FlowLogResourceType resourceType)
      Parameters:
      resourceType - The type of resource for which to create the flow log. This parameter is required.
      Returns:
      this
    • flowLogName

      @Stability(Stable) public FlowLogProps.Builder flowLogName(String flowLogName)
      Parameters:
      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.
      Returns:
      this
    • destination

      @Stability(Stable) public FlowLogProps.Builder destination(FlowLogDestination destination)
      Parameters:
      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
      Returns:
      this
    • logFormat

      @Stability(Stable) public FlowLogProps.Builder logFormat(List<? extends LogFormat> logFormat)
      Parameters:
      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

      Returns:
      this
    • maxAggregationInterval

      @Stability(Stable) public FlowLogProps.Builder maxAggregationInterval(FlowLogMaxAggregationInterval maxAggregationInterval)
      Parameters:
      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.
      Returns:
      this
    • trafficType

      @Stability(Stable) public FlowLogProps.Builder trafficType(FlowLogTrafficType trafficType)
      Parameters:
      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.
      Returns:
      this
    • build

      @Stability(Stable) public FlowLogProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<FlowLogProps>
      Returns:
      a new instance of FlowLogProps
      Throws:
      NullPointerException - if any required attribute was not provided