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

A custom action to use in stateless rule actions settings. This is used in * CustomAction.

See Also:

AWS * API Reference

*/ class ActionDefinition { public: AWS_NETWORKFIREWALL_API ActionDefinition(); AWS_NETWORKFIREWALL_API ActionDefinition(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKFIREWALL_API ActionDefinition& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_NETWORKFIREWALL_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline const PublishMetricAction& GetPublishMetricAction() const{ return m_publishMetricAction; } /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline bool PublishMetricActionHasBeenSet() const { return m_publishMetricActionHasBeenSet; } /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline void SetPublishMetricAction(const PublishMetricAction& value) { m_publishMetricActionHasBeenSet = true; m_publishMetricAction = value; } /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline void SetPublishMetricAction(PublishMetricAction&& value) { m_publishMetricActionHasBeenSet = true; m_publishMetricAction = std::move(value); } /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline ActionDefinition& WithPublishMetricAction(const PublishMetricAction& value) { SetPublishMetricAction(value); return *this;} /** *

Stateless inspection criteria that publishes the specified metrics to Amazon * CloudWatch for the matching packet. This setting defines a CloudWatch dimension * value to be published.

You can pair this custom action with any of the * standard stateless rule actions. For example, you could pair this in a rule * action with the standard action that forwards the packet for stateful * inspection. Then, when a packet matches the rule, Network Firewall publishes * metrics for the packet and forwards it.

*/ inline ActionDefinition& WithPublishMetricAction(PublishMetricAction&& value) { SetPublishMetricAction(std::move(value)); return *this;} private: PublishMetricAction m_publishMetricAction; bool m_publishMetricActionHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws