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

This is the latest version of AWS WAF, named AWS WAFV2, * released in November, 2019. For information, including how to migrate your AWS * WAF resources from the prior release, see the AWS * WAF Developer Guide.

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 AWS_WAFV2_API NotStatement { public: NotStatement(); NotStatement(Aws::Utils::Json::JsonView jsonValue); NotStatement& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

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

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

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

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

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

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

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

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

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

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

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

*/ NotStatement& WithStatement(Statement&& value); private: Aws::Vector m_statement; bool m_statementHasBeenSet; }; } // namespace Model } // namespace WAFV2 } // namespace Aws