/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a flow log.See Also:
AWS API
* Reference
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.
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.
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.
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.
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.
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.
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.
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.
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).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
The status of the logs delivery (SUCCESS |
* FAILED).
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).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
The status of the flow log (ACTIVE).
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::VectorThe tags for the flow log.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tags for the flow log.
*/ inline void SetTags(const Aws::VectorThe tags for the flow log.
*/ inline void SetTags(Aws::VectorThe tags for the flow log.
*/ inline FlowLog& WithTags(const Aws::VectorThe tags for the flow log.
*/ inline FlowLog& WithTags(Aws::VectorThe 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
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
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
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