1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/wafv2/model/NotStatement.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 #include <aws/wafv2/model/Statement.h>
9 
10 #include <utility>
11 
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14 
15 namespace Aws
16 {
17 namespace WAFV2
18 {
19 namespace Model
20 {
21 
NotStatement()22 NotStatement::NotStatement() :
23     m_statementHasBeenSet(false)
24 {
25 }
26 
NotStatement(JsonView jsonValue)27 NotStatement::NotStatement(JsonView jsonValue) :
28     m_statementHasBeenSet(false)
29 {
30   *this = jsonValue;
31 }
32 
GetStatement() const33 const Statement& NotStatement::GetStatement() const{ return *m_statement; }
StatementHasBeenSet() const34 bool NotStatement::StatementHasBeenSet() const { return m_statementHasBeenSet; }
SetStatement(const Statement & value)35 void NotStatement::SetStatement(const Statement& value) { m_statementHasBeenSet = true; m_statement = Aws::MakeShared<Statement>("NotStatement", value); }
SetStatement(Statement && value)36 void NotStatement::SetStatement(Statement&& value) { m_statementHasBeenSet = true; m_statement = Aws::MakeShared<Statement>("NotStatement", std::move(value)); }
WithStatement(const Statement & value)37 NotStatement& NotStatement::WithStatement(const Statement& value) { SetStatement(value); return *this;}
WithStatement(Statement && value)38 NotStatement& NotStatement::WithStatement(Statement&& value) { SetStatement(std::move(value)); return *this;}
39 
operator =(JsonView jsonValue)40 NotStatement& NotStatement::operator =(JsonView jsonValue)
41 {
42   if(jsonValue.ValueExists("Statement"))
43   {
44     m_statement = Aws::MakeShared<Statement>("NotStatement", jsonValue.GetObject("Statement"));
45 
46     m_statementHasBeenSet = true;
47   }
48 
49   return *this;
50 }
51 
Jsonize() const52 JsonValue NotStatement::Jsonize() const
53 {
54   JsonValue payload;
55 
56   if(m_statementHasBeenSet)
57   {
58    payload.WithObject("Statement", m_statement->Jsonize());
59 
60   }
61 
62   return payload;
63 }
64 
65 } // namespace Model
66 } // namespace WAFV2
67 } // namespace Aws
68