Class FlowLogArgs.Builder

  • Enclosing class:
    FlowLogArgs

    public static final class FlowLogArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • deliverCrossAccountRole

        public FlowLogArgs.Builder deliverCrossAccountRole​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> deliverCrossAccountRole)
        Parameters:
        deliverCrossAccountRole - ARN of the IAM role in the destination account used for cross-account delivery of flow logs.
        Returns:
        builder
      • deliverCrossAccountRole

        public FlowLogArgs.Builder deliverCrossAccountRole​(java.lang.String deliverCrossAccountRole)
        Parameters:
        deliverCrossAccountRole - ARN of the IAM role in the destination account used for cross-account delivery of flow logs.
        Returns:
        builder
      • destinationOptions

        public FlowLogArgs.Builder destinationOptions​(@Nullable
                                                      com.pulumi.core.Output<FlowLogDestinationOptionsArgs> destinationOptions)
        Parameters:
        destinationOptions - Destination options for a flow log. More details below.
        Returns:
        builder
      • eniId

        public FlowLogArgs.Builder eniId​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> eniId)
        Parameters:
        eniId - Elastic Network Interface ID to attach to.
        Returns:
        builder
      • eniId

        public FlowLogArgs.Builder eniId​(java.lang.String eniId)
        Parameters:
        eniId - Elastic Network Interface ID to attach to.
        Returns:
        builder
      • iamRoleArn

        public FlowLogArgs.Builder iamRoleArn​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> iamRoleArn)
        Parameters:
        iamRoleArn - ARN of the IAM role used to post flow logs. Corresponds to `DeliverLogsPermissionArn` in the [AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFlowLogs.html).
        Returns:
        builder
      • iamRoleArn

        public FlowLogArgs.Builder iamRoleArn​(java.lang.String iamRoleArn)
        Parameters:
        iamRoleArn - ARN of the IAM role used to post flow logs. Corresponds to `DeliverLogsPermissionArn` in the [AWS API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFlowLogs.html).
        Returns:
        builder
      • logDestination

        public FlowLogArgs.Builder logDestination​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> logDestination)
        Parameters:
        logDestination - ARN of the logging destination.
        Returns:
        builder
      • logDestination

        public FlowLogArgs.Builder logDestination​(java.lang.String logDestination)
        Parameters:
        logDestination - ARN of the logging destination.
        Returns:
        builder
      • logDestinationType

        public FlowLogArgs.Builder logDestinationType​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> logDestinationType)
        Parameters:
        logDestinationType - Logging destination type. Valid values: `cloud-watch-logs`, `s3`, `kinesis-data-firehose`. Default: `cloud-watch-logs`.
        Returns:
        builder
      • logDestinationType

        public FlowLogArgs.Builder logDestinationType​(java.lang.String logDestinationType)
        Parameters:
        logDestinationType - Logging destination type. Valid values: `cloud-watch-logs`, `s3`, `kinesis-data-firehose`. Default: `cloud-watch-logs`.
        Returns:
        builder
      • logFormat

        public FlowLogArgs.Builder logFormat​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> logFormat)
        Parameters:
        logFormat - Fields to include in the flow log record. Accepted format example: `"$${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport}"`.
        Returns:
        builder
      • logFormat

        public FlowLogArgs.Builder logFormat​(java.lang.String logFormat)
        Parameters:
        logFormat - Fields to include in the flow log record. Accepted format example: `"$${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport}"`.
        Returns:
        builder
      • maxAggregationInterval

        public FlowLogArgs.Builder maxAggregationInterval​(@Nullable
                                                          com.pulumi.core.Output<java.lang.Integer> maxAggregationInterval)
        Parameters:
        maxAggregationInterval - Maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: `60` seconds (1 minute) or `600` seconds (10 minutes). Default: `600`. When `transitGatewayId` or `transitGatewayAttachmentId` is specified, `maxAggregationInterval` *must* be 60 seconds (1 minute).
        Returns:
        builder
      • maxAggregationInterval

        public FlowLogArgs.Builder maxAggregationInterval​(java.lang.Integer maxAggregationInterval)
        Parameters:
        maxAggregationInterval - Maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: `60` seconds (1 minute) or `600` seconds (10 minutes). Default: `600`. When `transitGatewayId` or `transitGatewayAttachmentId` is specified, `maxAggregationInterval` *must* be 60 seconds (1 minute).
        Returns:
        builder
      • region

        public FlowLogArgs.Builder region​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public FlowLogArgs.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • regionalNatGatewayId

        public FlowLogArgs.Builder regionalNatGatewayId​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> regionalNatGatewayId)
        Parameters:
        regionalNatGatewayId - Regional NAT Gateway ID to attach to.
        Returns:
        builder
      • regionalNatGatewayId

        public FlowLogArgs.Builder regionalNatGatewayId​(java.lang.String regionalNatGatewayId)
        Parameters:
        regionalNatGatewayId - Regional NAT Gateway ID to attach to.
        Returns:
        builder
      • subnetId

        public FlowLogArgs.Builder subnetId​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> subnetId)
        Parameters:
        subnetId - Subnet ID to attach to.
        Returns:
        builder
      • subnetId

        public FlowLogArgs.Builder subnetId​(java.lang.String subnetId)
        Parameters:
        subnetId - Subnet ID to attach to.
        Returns:
        builder
      • tagFieldSpecifications

        public FlowLogArgs.Builder tagFieldSpecifications​(@Nullable
                                                          com.pulumi.core.Output<java.util.List<FlowLogTagFieldSpecificationArgs>> tagFieldSpecifications)
        Parameters:
        tagFieldSpecifications - Tag configuration for the Flow Logs Amazon EC2 Tags feature fields (e.g., `$${instance-tag}`) used in `logFormat`. More details below.
        Returns:
        builder
      • tagFieldSpecifications

        public FlowLogArgs.Builder tagFieldSpecifications​(java.util.List<FlowLogTagFieldSpecificationArgs> tagFieldSpecifications)
        Parameters:
        tagFieldSpecifications - Tag configuration for the Flow Logs Amazon EC2 Tags feature fields (e.g., `$${instance-tag}`) used in `logFormat`. More details below.
        Returns:
        builder
      • tagFieldSpecifications

        public FlowLogArgs.Builder tagFieldSpecifications​(FlowLogTagFieldSpecificationArgs... tagFieldSpecifications)
        Parameters:
        tagFieldSpecifications - Tag configuration for the Flow Logs Amazon EC2 Tags feature fields (e.g., `$${instance-tag}`) used in `logFormat`. More details below.
        Returns:
        builder
      • tags

        public FlowLogArgs.Builder tags​(@Nullable
                                        com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public FlowLogArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • trafficType

        public FlowLogArgs.Builder trafficType​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> trafficType)
        Parameters:
        trafficType - Type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified.
        Returns:
        builder
      • trafficType

        public FlowLogArgs.Builder trafficType​(java.lang.String trafficType)
        Parameters:
        trafficType - Type of traffic to capture. Valid values: `ACCEPT`,`REJECT`, `ALL`. Required if `eniId`, `regionalNatGatewayId`, `subnetId`, or `vpcId` is specified.
        Returns:
        builder
      • transitGatewayAttachmentId

        public FlowLogArgs.Builder transitGatewayAttachmentId​(@Nullable
                                                              com.pulumi.core.Output<java.lang.String> transitGatewayAttachmentId)
        Parameters:
        transitGatewayAttachmentId - Transit Gateway Attachment ID to attach to.
        Returns:
        builder
      • transitGatewayAttachmentId

        public FlowLogArgs.Builder transitGatewayAttachmentId​(java.lang.String transitGatewayAttachmentId)
        Parameters:
        transitGatewayAttachmentId - Transit Gateway Attachment ID to attach to.
        Returns:
        builder
      • transitGatewayId

        public FlowLogArgs.Builder transitGatewayId​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> transitGatewayId)
        Parameters:
        transitGatewayId - Transit Gateway ID to attach to.
        Returns:
        builder
      • transitGatewayId

        public FlowLogArgs.Builder transitGatewayId​(java.lang.String transitGatewayId)
        Parameters:
        transitGatewayId - Transit Gateway ID to attach to.
        Returns:
        builder
      • vpcId

        public FlowLogArgs.Builder vpcId​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> vpcId)
        Parameters:
        vpcId - VPC ID to attach to. > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified.
        Returns:
        builder
      • vpcId

        public FlowLogArgs.Builder vpcId​(java.lang.String vpcId)
        Parameters:
        vpcId - VPC ID to attach to. > **NOTE:** One of `eniId`, `regionalNatGatewayId`, `subnetId`, `transitGatewayId`, `transitGatewayAttachmentId`, or `vpcId` must be specified.
        Returns:
        builder