Class CreateFlowLogsRequest
- java.lang.Object
-
- software.amazon.awssdk.core.SdkRequest
-
- software.amazon.awssdk.awscore.AwsRequest
-
- software.amazon.awssdk.services.ec2.model.Ec2Request
-
- software.amazon.awssdk.services.ec2.model.CreateFlowLogsRequest
-
- All Implemented Interfaces:
SdkPojo
,ToCopyableBuilder<CreateFlowLogsRequest.Builder,CreateFlowLogsRequest>
@Generated("software.amazon.awssdk:codegen") public final class CreateFlowLogsRequest extends Ec2Request implements ToCopyableBuilder<CreateFlowLogsRequest.Builder,CreateFlowLogsRequest>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CreateFlowLogsRequest.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CreateFlowLogsRequest.Builder
builder()
String
clientToken()
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.String
deliverCrossAccountRole()
The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.String
deliverLogsPermissionArn()
The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.DestinationOptionsRequest
destinationOptions()
The destination options.Boolean
dryRun()
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response.boolean
equals(Object obj)
boolean
equalsBySdkFields(Object obj)
<T> Optional<T>
getValueForField(String fieldName, Class<T> clazz)
int
hashCode()
boolean
hasResourceIds()
For responses, this returns true if the service returned a value for the ResourceIds property.boolean
hasTagSpecifications()
For responses, this returns true if the service returned a value for the TagSpecifications property.String
logDestination()
The destination for the flow log data.LogDestinationType
logDestinationType()
The type of destination for the flow log data.String
logDestinationTypeAsString()
The type of destination for the flow log data.String
logFormat()
The fields to include in the flow log record.String
logGroupName()
The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.Integer
maxAggregationInterval()
The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record.List<String>
resourceIds()
The IDs of the resources to monitor.FlowLogsResourceType
resourceType()
The type of resource to monitor.String
resourceTypeAsString()
The type of resource to monitor.List<SdkField<?>>
sdkFields()
static Class<? extends CreateFlowLogsRequest.Builder>
serializableBuilderClass()
List<TagSpecification>
tagSpecifications()
The tags to apply to the flow logs.CreateFlowLogsRequest.Builder
toBuilder()
String
toString()
Returns a string representation of this object.TrafficType
trafficType()
The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic).String
trafficTypeAsString()
The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic).-
Methods inherited from class software.amazon.awssdk.awscore.AwsRequest
overrideConfiguration
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
dryRun
public final Boolean dryRun()
Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is
DryRunOperation
. Otherwise, it isUnauthorizedOperation
.- Returns:
- Checks whether you have the required permissions for the action, without actually making the request, and
provides an error response. If you have the required permissions, the error response is
DryRunOperation
. Otherwise, it isUnauthorizedOperation
.
-
clientToken
public final String clientToken()
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.
- Returns:
- Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.
-
deliverLogsPermissionArn
public final String deliverLogsPermissionArn()
The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.
This parameter is required if the destination type is
cloud-watch-logs
, or if the destination type iskinesis-data-firehose
and the delivery stream and the resources to monitor are in different accounts.- Returns:
- The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.
This parameter is required if the destination type is
cloud-watch-logs
, or if the destination type iskinesis-data-firehose
and the delivery stream and the resources to monitor are in different accounts.
-
deliverCrossAccountRole
public final String deliverCrossAccountRole()
The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
- Returns:
- The ARN of the IAM role that allows Amazon EC2 to publish flow logs across accounts.
-
logGroupName
public final String logGroupName()
The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.
This parameter is valid only if the destination type is
cloud-watch-logs
.- Returns:
- The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.
This parameter is valid only if the destination type is
cloud-watch-logs
.
-
hasResourceIds
public final boolean hasResourceIds()
For responses, this returns true if the service returned a value for the ResourceIds property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
resourceIds
public final List<String> resourceIds()
The IDs of the resources to monitor. For example, if the resource type is
VPC
, specify the IDs of the VPCs.Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the other resource types.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasResourceIds()
method.- Returns:
- The IDs of the resources to monitor. For example, if the resource type is
VPC
, specify the IDs of the VPCs.Constraints: Maximum of 25 for transit gateway resource types. Maximum of 1000 for the other resource types.
-
resourceType
public final FlowLogsResourceType resourceType()
The type of resource to monitor.
If the service returns an enum value that is not available in the current SDK version,
resourceType
will returnFlowLogsResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromresourceTypeAsString()
.- Returns:
- The type of resource to monitor.
- See Also:
FlowLogsResourceType
-
resourceTypeAsString
public final String resourceTypeAsString()
The type of resource to monitor.
If the service returns an enum value that is not available in the current SDK version,
resourceType
will returnFlowLogsResourceType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromresourceTypeAsString()
.- Returns:
- The type of resource to monitor.
- See Also:
FlowLogsResourceType
-
trafficType
public final TrafficType trafficType()
The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.
If the service returns an enum value that is not available in the current SDK version,
trafficType
will returnTrafficType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtrafficTypeAsString()
.- Returns:
- The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.
- See Also:
TrafficType
-
trafficTypeAsString
public final String trafficTypeAsString()
The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.
If the service returns an enum value that is not available in the current SDK version,
trafficType
will returnTrafficType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtrafficTypeAsString()
.- Returns:
- The type of traffic to monitor (accepted traffic, rejected traffic, or all traffic). This parameter is not supported for transit gateway resource types. It is required for the other resource types.
- See Also:
TrafficType
-
logDestinationType
public final LogDestinationType logDestinationType()
The type of destination for the flow log data.
Default:
cloud-watch-logs
If the service returns an enum value that is not available in the current SDK version,
logDestinationType
will returnLogDestinationType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlogDestinationTypeAsString()
.- Returns:
- The type of destination for the flow log data.
Default:
cloud-watch-logs
- See Also:
LogDestinationType
-
logDestinationTypeAsString
public final String logDestinationTypeAsString()
The type of destination for the flow log data.
Default:
cloud-watch-logs
If the service returns an enum value that is not available in the current SDK version,
logDestinationType
will returnLogDestinationType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlogDestinationTypeAsString()
.- Returns:
- The type of destination for the flow log data.
Default:
cloud-watch-logs
- See Also:
LogDestinationType
-
logDestination
public final String logDestination()
The destination for the flow log data. The meaning of this parameter depends on the destination type.
-
If the destination type is
cloud-watch-logs
, specify the ARN of a CloudWatch Logs log group. For example:arn:aws:logs:region:account_id:log-group:my_group
Alternatively, use the
LogGroupName
parameter. -
If the destination type is
s3
, specify the ARN of an S3 bucket. For example:arn:aws:s3:::my_bucket/my_subfolder/
The subfolder is optional. Note that you can't use
AWSLogs
as a subfolder name. -
If the destination type is
kinesis-data-firehose
, specify the ARN of a Kinesis Data Firehose delivery stream. For example:arn:aws:firehose:region:account_id:deliverystream:my_stream
- Returns:
- The destination for the flow log data. The meaning of this parameter depends on the destination type.
-
If the destination type is
cloud-watch-logs
, specify the ARN of a CloudWatch Logs log group. For example:arn:aws:logs:region:account_id:log-group:my_group
Alternatively, use the
LogGroupName
parameter. -
If the destination type is
s3
, specify the ARN of an S3 bucket. For example:arn:aws:s3:::my_bucket/my_subfolder/
The subfolder is optional. Note that you can't use
AWSLogs
as a subfolder name. -
If the destination type is
kinesis-data-firehose
, specify the ARN of a Kinesis Data Firehose delivery stream. For example:arn:aws:firehose:region:account_id:deliverystream:my_stream
-
-
-
logFormat
public final String logFormat()
The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.
Specify the fields using the
${field-id}
format, separated by spaces.- Returns:
- The fields to include in the flow log record. List the fields in the order in which they should appear.
If you omit this parameter, the flow log is created using the default format. If you specify this
parameter, you must include at least one field. For more information about the available fields, see Flow log
records in the Amazon VPC User Guide or Transit Gateway
Flow Log records in the Amazon Web Services Transit Gateway Guide.
Specify the fields using the
${field-id}
format, separated by spaces.
-
hasTagSpecifications
public final boolean hasTagSpecifications()
For responses, this returns true if the service returned a value for the TagSpecifications property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
tagSpecifications
public final List<TagSpecification> tagSpecifications()
The tags to apply to the flow logs.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasTagSpecifications()
method.- Returns:
- The tags to apply to the flow logs.
-
maxAggregationInterval
public final Integer maxAggregationInterval()
The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.
When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.
Default: 600
- Returns:
- The maximum interval of time during which a flow of packets is captured and aggregated into a flow log
record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be
60 seconds for transit gateway resource types.
When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.
Default: 600
-
destinationOptions
public final DestinationOptionsRequest destinationOptions()
The destination options.
- Returns:
- The destination options.
-
toBuilder
public CreateFlowLogsRequest.Builder toBuilder()
- Specified by:
toBuilder
in interfaceToCopyableBuilder<CreateFlowLogsRequest.Builder,CreateFlowLogsRequest>
- Specified by:
toBuilder
in classEc2Request
-
builder
public static CreateFlowLogsRequest.Builder builder()
-
serializableBuilderClass
public static Class<? extends CreateFlowLogsRequest.Builder> serializableBuilderClass()
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classAwsRequest
-
equals
public final boolean equals(Object obj)
- Overrides:
equals
in classAwsRequest
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFields
in interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
getValueForField
public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
- Overrides:
getValueForField
in classSdkRequest
-
-