/** * 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 #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 FlowLog { public: AWS_EC2_API FlowLog(); AWS_EC2_API FlowLog(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API FlowLog& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API 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 allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role allows the service to publish logs to CloudWatch * Logs.

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

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline const Aws::String& GetDeliverCrossAccountRole() const{ return m_deliverCrossAccountRole; } /** *

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline bool DeliverCrossAccountRoleHasBeenSet() const { return m_deliverCrossAccountRoleHasBeenSet; } /** *

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline void SetDeliverCrossAccountRole(const Aws::String& value) { m_deliverCrossAccountRoleHasBeenSet = true; m_deliverCrossAccountRole = value; } /** *

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline void SetDeliverCrossAccountRole(Aws::String&& value) { m_deliverCrossAccountRoleHasBeenSet = true; m_deliverCrossAccountRole = std::move(value); } /** *

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline void SetDeliverCrossAccountRole(const char* value) { m_deliverCrossAccountRoleHasBeenSet = true; m_deliverCrossAccountRole.assign(value); } /** *

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

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

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

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

The ARN of the IAM role that allows the service to publish flow logs across * accounts.

*/ inline FlowLog& WithDeliverCrossAccountRole(const char* value) { SetDeliverCrossAccountRole(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 ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

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

The ID of the flow log.

*/ 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 being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

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

The ID of the resource being monitored.

*/ 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;} /** *

The type of destination for the flow log data.

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

The type of destination for the flow log data.

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

The type of destination for the flow log data.

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

The type of destination for the flow log data.

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

The type of destination for the flow log data.

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

The type of destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

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

The Amazon Resource Name (ARN) of the destination for the flow log data.

*/ 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;} /** *

The destination options.

*/ inline const DestinationOptionsResponse& GetDestinationOptions() const{ return m_destinationOptions; } /** *

The destination options.

*/ inline bool DestinationOptionsHasBeenSet() const { return m_destinationOptionsHasBeenSet; } /** *

The destination options.

*/ inline void SetDestinationOptions(const DestinationOptionsResponse& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = value; } /** *

The destination options.

*/ inline void SetDestinationOptions(DestinationOptionsResponse&& value) { m_destinationOptionsHasBeenSet = true; m_destinationOptions = std::move(value); } /** *

The destination options.

*/ inline FlowLog& WithDestinationOptions(const DestinationOptionsResponse& value) { SetDestinationOptions(value); return *this;} /** *

The destination options.

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