/** * 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 WAFV2 { namespace Model { class Statement; /** *

A logical rule statement used to negate the results of another rule * statement. You provide one Statement within the * NotStatement.

See Also:

AWS * API Reference

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

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API const Statement& GetStatement() const; /** *

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API bool StatementHasBeenSet() const; /** *

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API void SetStatement(const Statement& value); /** *

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API void SetStatement(Statement&& value); /** *

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API NotStatement& WithStatement(const Statement& value); /** *

The statement to negate. You can use any statement that can be nested.

*/ AWS_WAFV2_API NotStatement& WithStatement(Statement&& value); private: std::shared_ptr m_statement; bool m_statementHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws