/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An optional, non-standard action to use for stateless packet handling. You
* can define this in addition to the standard action that you must specify. You define and name the custom actions that you want to be able to use, and
* then you reference them by name in your actions settings. You can use
* custom actions in the following places: In a rule group's
* StatelessRulesAndCustomActions specification. The custom actions are
* available for use by name inside the In a FirewallPolicy specification, in
*
StatelessRulesAndCustomActions
* where you define them. You can use them for your stateless rule actions to
* specify what to do with a packet that matches the rule's match attributes. StatelessCustomActions
. The custom actions are available for use
* inside the policy where you define them. You can use them for the policy's
* default stateless actions settings to specify what to do with packets that don't
* match any of the policy's stateless rules. See Also:
* AWS
* API Reference
The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline const Aws::String& GetActionName() const{ return m_actionName; } /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline void SetActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName = value; } /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline void SetActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline void SetActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.assign(value); } /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline CustomAction& WithActionName(const Aws::String& value) { SetActionName(value); return *this;} /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline CustomAction& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;} /** *The descriptive name of the custom action. You can't change the name of a * custom action after you create it.
*/ inline CustomAction& WithActionName(const char* value) { SetActionName(value); return *this;} /** *The custom action associated with the action name.
*/ inline const ActionDefinition& GetActionDefinition() const{ return m_actionDefinition; } /** *The custom action associated with the action name.
*/ inline bool ActionDefinitionHasBeenSet() const { return m_actionDefinitionHasBeenSet; } /** *The custom action associated with the action name.
*/ inline void SetActionDefinition(const ActionDefinition& value) { m_actionDefinitionHasBeenSet = true; m_actionDefinition = value; } /** *The custom action associated with the action name.
*/ inline void SetActionDefinition(ActionDefinition&& value) { m_actionDefinitionHasBeenSet = true; m_actionDefinition = std::move(value); } /** *The custom action associated with the action name.
*/ inline CustomAction& WithActionDefinition(const ActionDefinition& value) { SetActionDefinition(value); return *this;} /** *The custom action associated with the action name.
*/ inline CustomAction& WithActionDefinition(ActionDefinition&& value) { SetActionDefinition(std::move(value)); return *this;} private: Aws::String m_actionName; bool m_actionNameHasBeenSet = false; ActionDefinition m_actionDefinition; bool m_actionDefinitionHasBeenSet = false; }; } // namespace Model } // namespace NetworkFirewall } // namespace Aws