/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describes a flow log.

See Also:

AWS API * Reference

*/ class AWS_EC2_API FlowLog { public: FlowLog(); FlowLog(const Aws::Utils::Xml::XmlNode& xmlNode); FlowLog& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The date and time the flow log was created.

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The date and time the flow log was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The date and time the flow log was created.

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The date and time the flow log was created.

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The date and time the flow log was created.

*/ inline FlowLog& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The date and time the flow log was created.

*/ inline FlowLog& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline const Aws::String& GetDeliverLogsErrorMessage() const{ return m_deliverLogsErrorMessage; } /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline bool DeliverLogsErrorMessageHasBeenSet() const { return m_deliverLogsErrorMessageHasBeenSet; } /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline void SetDeliverLogsErrorMessage(const Aws::String& value) { m_deliverLogsErrorMessageHasBeenSet = true; m_deliverLogsErrorMessage = value; } /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline void SetDeliverLogsErrorMessage(Aws::String&& value) { m_deliverLogsErrorMessageHasBeenSet = true; m_deliverLogsErrorMessage = std::move(value); } /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline void SetDeliverLogsErrorMessage(const char* value) { m_deliverLogsErrorMessageHasBeenSet = true; m_deliverLogsErrorMessage.assign(value); } /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline FlowLog& WithDeliverLogsErrorMessage(const Aws::String& value) { SetDeliverLogsErrorMessage(value); return *this;} /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline FlowLog& WithDeliverLogsErrorMessage(Aws::String&& value) { SetDeliverLogsErrorMessage(std::move(value)); return *this;} /** *

Information about the error that occurred. Rate limited * indicates that CloudWatch Logs throttling has been applied for one or more * network interfaces, or that you've reached the limit on the number of log groups * that you can create. Access error indicates that the IAM role * associated with the flow log does not have sufficient permissions to publish to * CloudWatch Logs. Unknown error indicates an internal error.

*/ inline FlowLog& WithDeliverLogsErrorMessage(const char* value) { SetDeliverLogsErrorMessage(value); return *this;} /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline const Aws::String& GetDeliverLogsPermissionArn() const{ return m_deliverLogsPermissionArn; } /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline bool DeliverLogsPermissionArnHasBeenSet() const { return m_deliverLogsPermissionArnHasBeenSet; } /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline void SetDeliverLogsPermissionArn(const Aws::String& value) { m_deliverLogsPermissionArnHasBeenSet = true; m_deliverLogsPermissionArn = value; } /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline void SetDeliverLogsPermissionArn(Aws::String&& value) { m_deliverLogsPermissionArnHasBeenSet = true; m_deliverLogsPermissionArn = std::move(value); } /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline void SetDeliverLogsPermissionArn(const char* value) { m_deliverLogsPermissionArnHasBeenSet = true; m_deliverLogsPermissionArn.assign(value); } /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline FlowLog& WithDeliverLogsPermissionArn(const Aws::String& value) { SetDeliverLogsPermissionArn(value); return *this;} /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline FlowLog& WithDeliverLogsPermissionArn(Aws::String&& value) { SetDeliverLogsPermissionArn(std::move(value)); return *this;} /** *

The ARN of the IAM role that posts logs to CloudWatch Logs.

*/ inline FlowLog& WithDeliverLogsPermissionArn(const char* value) { SetDeliverLogsPermissionArn(value); return *this;} /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline const Aws::String& GetDeliverLogsStatus() const{ return m_deliverLogsStatus; } /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline bool DeliverLogsStatusHasBeenSet() const { return m_deliverLogsStatusHasBeenSet; } /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline void SetDeliverLogsStatus(const Aws::String& value) { m_deliverLogsStatusHasBeenSet = true; m_deliverLogsStatus = value; } /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline void SetDeliverLogsStatus(Aws::String&& value) { m_deliverLogsStatusHasBeenSet = true; m_deliverLogsStatus = std::move(value); } /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline void SetDeliverLogsStatus(const char* value) { m_deliverLogsStatusHasBeenSet = true; m_deliverLogsStatus.assign(value); } /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline FlowLog& WithDeliverLogsStatus(const Aws::String& value) { SetDeliverLogsStatus(value); return *this;} /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline FlowLog& WithDeliverLogsStatus(Aws::String&& value) { SetDeliverLogsStatus(std::move(value)); return *this;} /** *

The status of the logs delivery (SUCCESS | * FAILED).

*/ inline FlowLog& WithDeliverLogsStatus(const char* value) { SetDeliverLogsStatus(value); return *this;} /** *

The flow log ID.

*/ inline const Aws::String& GetFlowLogId() const{ return m_flowLogId; } /** *

The flow log ID.

*/ inline bool FlowLogIdHasBeenSet() const { return m_flowLogIdHasBeenSet; } /** *

The flow log ID.

*/ inline void SetFlowLogId(const Aws::String& value) { m_flowLogIdHasBeenSet = true; m_flowLogId = value; } /** *

The flow log ID.

*/ inline void SetFlowLogId(Aws::String&& value) { m_flowLogIdHasBeenSet = true; m_flowLogId = std::move(value); } /** *

The flow log ID.

*/ inline void SetFlowLogId(const char* value) { m_flowLogIdHasBeenSet = true; m_flowLogId.assign(value); } /** *

The flow log ID.

*/ inline FlowLog& WithFlowLogId(const Aws::String& value) { SetFlowLogId(value); return *this;} /** *

The flow log ID.

*/ inline FlowLog& WithFlowLogId(Aws::String&& value) { SetFlowLogId(std::move(value)); return *this;} /** *

The flow log ID.

*/ inline FlowLog& WithFlowLogId(const char* value) { SetFlowLogId(value); return *this;} /** *

The status of the flow log (ACTIVE).

*/ inline const Aws::String& GetFlowLogStatus() const{ return m_flowLogStatus; } /** *

The status of the flow log (ACTIVE).

*/ inline bool FlowLogStatusHasBeenSet() const { return m_flowLogStatusHasBeenSet; } /** *

The status of the flow log (ACTIVE).

*/ inline void SetFlowLogStatus(const Aws::String& value) { m_flowLogStatusHasBeenSet = true; m_flowLogStatus = value; } /** *

The status of the flow log (ACTIVE).

*/ inline void SetFlowLogStatus(Aws::String&& value) { m_flowLogStatusHasBeenSet = true; m_flowLogStatus = std::move(value); } /** *

The status of the flow log (ACTIVE).

*/ inline void SetFlowLogStatus(const char* value) { m_flowLogStatusHasBeenSet = true; m_flowLogStatus.assign(value); } /** *

The status of the flow log (ACTIVE).

*/ inline FlowLog& WithFlowLogStatus(const Aws::String& value) { SetFlowLogStatus(value); return *this;} /** *

The status of the flow log (ACTIVE).

*/ inline FlowLog& WithFlowLogStatus(Aws::String&& value) { SetFlowLogStatus(std::move(value)); return *this;} /** *

The status of the flow log (ACTIVE).

*/ inline FlowLog& WithFlowLogStatus(const char* value) { SetFlowLogStatus(value); return *this;} /** *

The name of the flow log group.

*/ inline const Aws::String& GetLogGroupName() const{ return m_logGroupName; } /** *

The name of the flow log group.

*/ inline bool LogGroupNameHasBeenSet() const { return m_logGroupNameHasBeenSet; } /** *

The name of the flow log group.

*/ inline void SetLogGroupName(const Aws::String& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = value; } /** *

The name of the flow log group.

*/ inline void SetLogGroupName(Aws::String&& value) { m_logGroupNameHasBeenSet = true; m_logGroupName = std::move(value); } /** *

The name of the flow log group.

*/ inline void SetLogGroupName(const char* value) { m_logGroupNameHasBeenSet = true; m_logGroupName.assign(value); } /** *

The name of the flow log group.

*/ inline FlowLog& WithLogGroupName(const Aws::String& value) { SetLogGroupName(value); return *this;} /** *

The name of the flow log group.

*/ inline FlowLog& WithLogGroupName(Aws::String&& value) { SetLogGroupName(std::move(value)); return *this;} /** *

The name of the flow log group.

*/ inline FlowLog& WithLogGroupName(const char* value) { SetLogGroupName(value); return *this;} /** *

The ID of the resource on which the flow log was created.

*/ inline const Aws::String& GetResourceId() const{ return m_resourceId; } /** *

The ID of the resource on which the flow log was created.

*/ inline bool ResourceIdHasBeenSet() const { return m_resourceIdHasBeenSet; } /** *

The ID of the resource on which the flow log was created.

*/ inline void SetResourceId(const Aws::String& value) { m_resourceIdHasBeenSet = true; m_resourceId = value; } /** *

The ID of the resource on which the flow log was created.

*/ inline void SetResourceId(Aws::String&& value) { m_resourceIdHasBeenSet = true; m_resourceId = std::move(value); } /** *

The ID of the resource on which the flow log was created.

*/ inline void SetResourceId(const char* value) { m_resourceIdHasBeenSet = true; m_resourceId.assign(value); } /** *

The ID of the resource on which the flow log was created.

*/ inline FlowLog& WithResourceId(const Aws::String& value) { SetResourceId(value); return *this;} /** *

The ID of the resource on which the flow log was created.

*/ inline FlowLog& WithResourceId(Aws::String&& value) { SetResourceId(std::move(value)); return *this;} /** *

The ID of the resource on which the flow log was created.

*/ inline FlowLog& WithResourceId(const char* value) { SetResourceId(value); return *this;} /** *

The type of traffic captured for the flow log.

*/ inline const TrafficType& GetTrafficType() const{ return m_trafficType; } /** *

The type of traffic captured for the flow log.

*/ inline bool TrafficTypeHasBeenSet() const { return m_trafficTypeHasBeenSet; } /** *

The type of traffic captured for the flow log.

*/ inline void SetTrafficType(const TrafficType& value) { m_trafficTypeHasBeenSet = true; m_trafficType = value; } /** *

The type of traffic captured for the flow log.

*/ inline void SetTrafficType(TrafficType&& value) { m_trafficTypeHasBeenSet = true; m_trafficType = std::move(value); } /** *

The type of traffic captured for the flow log.

*/ inline FlowLog& WithTrafficType(const TrafficType& value) { SetTrafficType(value); return *this;} /** *

The type of traffic captured for the flow log.

*/ inline FlowLog& WithTrafficType(TrafficType&& value) { SetTrafficType(std::move(value)); return *this;} /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline const LogDestinationType& GetLogDestinationType() const{ return m_logDestinationType; } /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline bool LogDestinationTypeHasBeenSet() const { return m_logDestinationTypeHasBeenSet; } /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline void SetLogDestinationType(const LogDestinationType& value) { m_logDestinationTypeHasBeenSet = true; m_logDestinationType = value; } /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline void SetLogDestinationType(LogDestinationType&& value) { m_logDestinationTypeHasBeenSet = true; m_logDestinationType = std::move(value); } /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline FlowLog& WithLogDestinationType(const LogDestinationType& value) { SetLogDestinationType(value); return *this;} /** *

Specifies the type of destination to which the flow log data is published. * Flow log data can be published to CloudWatch Logs or Amazon S3.

*/ inline FlowLog& WithLogDestinationType(LogDestinationType&& value) { SetLogDestinationType(std::move(value)); return *this;} /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline const Aws::String& GetLogDestination() const{ return m_logDestination; } /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline bool LogDestinationHasBeenSet() const { return m_logDestinationHasBeenSet; } /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline void SetLogDestination(const Aws::String& value) { m_logDestinationHasBeenSet = true; m_logDestination = value; } /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline void SetLogDestination(Aws::String&& value) { m_logDestinationHasBeenSet = true; m_logDestination = std::move(value); } /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline void SetLogDestination(const char* value) { m_logDestinationHasBeenSet = true; m_logDestination.assign(value); } /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline FlowLog& WithLogDestination(const Aws::String& value) { SetLogDestination(value); return *this;} /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline FlowLog& WithLogDestination(Aws::String&& value) { SetLogDestination(std::move(value)); return *this;} /** *

Specifies the destination to which the flow log data is published. Flow log * data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If * the flow log publishes to CloudWatch Logs, this element indicates the Amazon * Resource Name (ARN) of the CloudWatch Logs log group to which the data is * published. If the flow log publishes to Amazon S3, this element indicates the * ARN of the Amazon S3 bucket to which the data is published.

*/ inline FlowLog& WithLogDestination(const char* value) { SetLogDestination(value); return *this;} /** *

The format of the flow log record.

*/ inline const Aws::String& GetLogFormat() const{ return m_logFormat; } /** *

The format of the flow log record.

*/ inline bool LogFormatHasBeenSet() const { return m_logFormatHasBeenSet; } /** *

The format of the flow log record.

*/ inline void SetLogFormat(const Aws::String& value) { m_logFormatHasBeenSet = true; m_logFormat = value; } /** *

The format of the flow log record.

*/ inline void SetLogFormat(Aws::String&& value) { m_logFormatHasBeenSet = true; m_logFormat = std::move(value); } /** *

The format of the flow log record.

*/ inline void SetLogFormat(const char* value) { m_logFormatHasBeenSet = true; m_logFormat.assign(value); } /** *

The format of the flow log record.

*/ inline FlowLog& WithLogFormat(const Aws::String& value) { SetLogFormat(value); return *this;} /** *

The format of the flow log record.

*/ inline FlowLog& WithLogFormat(Aws::String&& value) { SetLogFormat(std::move(value)); return *this;} /** *

The format of the flow log record.

*/ inline FlowLog& WithLogFormat(const char* value) { SetLogFormat(value); return *this;} /** *

The tags for the flow log.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags for the flow log.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags for the flow log.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags for the flow log.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags for the flow log.

*/ inline FlowLog& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags for the flow log.

*/ inline FlowLog& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags for the flow log.

*/ inline FlowLog& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags for the flow log.

*/ inline FlowLog& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The maximum interval of time, in seconds, during which a flow of packets is * captured and aggregated into a flow log record.

When a network interface * is attached to a Nitro-based * instance, the aggregation interval is always 60 seconds (1 minute) or less, * regardless of the specified value.

Valid Values: 60 | * 600

*/ inline int GetMaxAggregationInterval() const{ return m_maxAggregationInterval; } /** *

The maximum interval of time, in seconds, during which a flow of packets is * captured and aggregated into a flow log record.

When a network interface * is attached to a Nitro-based * instance, the aggregation interval is always 60 seconds (1 minute) or less, * regardless of the specified value.

Valid Values: 60 | * 600

*/ inline bool MaxAggregationIntervalHasBeenSet() const { return m_maxAggregationIntervalHasBeenSet; } /** *

The maximum interval of time, in seconds, during which a flow of packets is * captured and aggregated into a flow log record.

When a network interface * is attached to a Nitro-based * instance, the aggregation interval is always 60 seconds (1 minute) or less, * regardless of the specified value.

Valid Values: 60 | * 600

*/ inline void SetMaxAggregationInterval(int value) { m_maxAggregationIntervalHasBeenSet = true; m_maxAggregationInterval = value; } /** *

The maximum interval of time, in seconds, during which a flow of packets is * captured and aggregated into a flow log record.

When a network interface * is attached to a Nitro-based * instance, the aggregation interval is always 60 seconds (1 minute) or less, * regardless of the specified value.

Valid Values: 60 | * 600

*/ inline FlowLog& WithMaxAggregationInterval(int value) { SetMaxAggregationInterval(value); return *this;} private: Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet; Aws::String m_deliverLogsErrorMessage; bool m_deliverLogsErrorMessageHasBeenSet; Aws::String m_deliverLogsPermissionArn; bool m_deliverLogsPermissionArnHasBeenSet; Aws::String m_deliverLogsStatus; bool m_deliverLogsStatusHasBeenSet; Aws::String m_flowLogId; bool m_flowLogIdHasBeenSet; Aws::String m_flowLogStatus; bool m_flowLogStatusHasBeenSet; Aws::String m_logGroupName; bool m_logGroupNameHasBeenSet; Aws::String m_resourceId; bool m_resourceIdHasBeenSet; TrafficType m_trafficType; bool m_trafficTypeHasBeenSet; LogDestinationType m_logDestinationType; bool m_logDestinationTypeHasBeenSet; Aws::String m_logDestination; bool m_logDestinationHasBeenSet; Aws::String m_logFormat; bool m_logFormatHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; int m_maxAggregationInterval; bool m_maxAggregationIntervalHasBeenSet; }; } // namespace Model } // namespace EC2 } // namespace Aws