/**
* 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 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
).
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 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
).
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 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::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
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