/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Defines where Network Firewall sends logs for the firewall for one log type.
* This is used in LoggingConfiguration. You can send each type of log to an
* Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery
* stream. Network Firewall generates logs for stateful rule groups. You can
* save alert and flow log types. The stateful rules engine records flow logs for
* all network traffic that it receives. It records alert logs for traffic that
* matches stateful rules that have the rule action set to DROP
or
* ALERT
. See Also:
AWS
* API Reference
The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline const LogType& GetLogType() const{ return m_logType; } /** *The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline bool LogTypeHasBeenSet() const { return m_logTypeHasBeenSet; } /** *The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline void SetLogType(const LogType& value) { m_logTypeHasBeenSet = true; m_logType = value; } /** *The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline void SetLogType(LogType&& value) { m_logTypeHasBeenSet = true; m_logType = std::move(value); } /** *The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline LogDestinationConfig& WithLogType(const LogType& value) { SetLogType(value); return *this;} /** *The type of log to send. Alert logs report traffic that matches a * StatefulRule with an action setting that sends an alert log message. Flow * logs are standard network traffic flow logs.
*/ inline LogDestinationConfig& WithLogType(LogType&& value) { SetLogType(std::move(value)); return *this;} /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline const LogDestinationType& GetLogDestinationType() const{ return m_logDestinationType; } /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline bool LogDestinationTypeHasBeenSet() const { return m_logDestinationTypeHasBeenSet; } /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline void SetLogDestinationType(const LogDestinationType& value) { m_logDestinationTypeHasBeenSet = true; m_logDestinationType = value; } /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline void SetLogDestinationType(LogDestinationType&& value) { m_logDestinationTypeHasBeenSet = true; m_logDestinationType = std::move(value); } /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline LogDestinationConfig& WithLogDestinationType(const LogDestinationType& value) { SetLogDestinationType(value); return *this;} /** *The type of storage destination to send these logs to. You can send logs to * an Amazon S3 bucket, a CloudWatch log group, or a Kinesis Data Firehose delivery * stream.
*/ inline LogDestinationConfig& WithLogDestinationType(LogDestinationType&& value) { SetLogDestinationType(std::move(value)); return *this;} /** *The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }
The named location for the logs, provided in a key:value mapping that is * specific to the chosen destination type.
For an Amazon S3
* bucket, provide the name of the bucket, with key bucketName
, and
* optionally provide a prefix, with key prefix
. The following example
* specifies an Amazon S3 bucket named DOC-EXAMPLE-BUCKET
and the
* prefix alerts
:
"LogDestination": { "bucketName":
* "DOC-EXAMPLE-BUCKET", "prefix": "alerts" }
For a
* CloudWatch log group, provide the name of the CloudWatch log group, with key
* logGroup
. The following example specifies a log group named
* alert-log-group
:
"LogDestination": { "logGroup":
* "alert-log-group" }
For a Kinesis Data Firehose
* delivery stream, provide the name of the delivery stream, with key
* deliveryStream
. The following example specifies a delivery stream
* named alert-delivery-stream
:
"LogDestination": {
* "deliveryStream": "alert-delivery-stream" }