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

A custom action definition. A custom action is an optional, non-standard * action to use for stateless packet handling.

See Also:

AWS * API Reference

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

The definition of a custom action.

*/ inline const StatelessCustomActionDefinition& GetActionDefinition() const{ return m_actionDefinition; } /** *

The definition of a custom action.

*/ inline bool ActionDefinitionHasBeenSet() const { return m_actionDefinitionHasBeenSet; } /** *

The definition of a custom action.

*/ inline void SetActionDefinition(const StatelessCustomActionDefinition& value) { m_actionDefinitionHasBeenSet = true; m_actionDefinition = value; } /** *

The definition of a custom action.

*/ inline void SetActionDefinition(StatelessCustomActionDefinition&& value) { m_actionDefinitionHasBeenSet = true; m_actionDefinition = std::move(value); } /** *

The definition of a custom action.

*/ inline RuleGroupSourceCustomActionsDetails& WithActionDefinition(const StatelessCustomActionDefinition& value) { SetActionDefinition(value); return *this;} /** *

The definition of a custom action.

*/ inline RuleGroupSourceCustomActionsDetails& WithActionDefinition(StatelessCustomActionDefinition&& value) { SetActionDefinition(std::move(value)); return *this;} /** *

A descriptive name of the custom action.

*/ inline const Aws::String& GetActionName() const{ return m_actionName; } /** *

A descriptive name of the custom action.

*/ inline bool ActionNameHasBeenSet() const { return m_actionNameHasBeenSet; } /** *

A descriptive name of the custom action.

*/ inline void SetActionName(const Aws::String& value) { m_actionNameHasBeenSet = true; m_actionName = value; } /** *

A descriptive name of the custom action.

*/ inline void SetActionName(Aws::String&& value) { m_actionNameHasBeenSet = true; m_actionName = std::move(value); } /** *

A descriptive name of the custom action.

*/ inline void SetActionName(const char* value) { m_actionNameHasBeenSet = true; m_actionName.assign(value); } /** *

A descriptive name of the custom action.

*/ inline RuleGroupSourceCustomActionsDetails& WithActionName(const Aws::String& value) { SetActionName(value); return *this;} /** *

A descriptive name of the custom action.

*/ inline RuleGroupSourceCustomActionsDetails& WithActionName(Aws::String&& value) { SetActionName(std::move(value)); return *this;} /** *

A descriptive name of the custom action.

*/ inline RuleGroupSourceCustomActionsDetails& WithActionName(const char* value) { SetActionName(value); return *this;} private: StatelessCustomActionDefinition m_actionDefinition; bool m_actionDefinitionHasBeenSet = false; Aws::String m_actionName; bool m_actionNameHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws