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()22NotStatement::NotStatement() : 23 m_statementHasBeenSet(false) 24 { 25 } 26 NotStatement(JsonView jsonValue)27NotStatement::NotStatement(JsonView jsonValue) : 28 m_statementHasBeenSet(false) 29 { 30 *this = jsonValue; 31 } 32 GetStatement() const33const Statement& NotStatement::GetStatement() const{ return *m_statement; } StatementHasBeenSet() const34bool NotStatement::StatementHasBeenSet() const { return m_statementHasBeenSet; } SetStatement(const Statement & value)35void NotStatement::SetStatement(const Statement& value) { m_statementHasBeenSet = true; m_statement = Aws::MakeShared<Statement>("NotStatement", value); } SetStatement(Statement && value)36void NotStatement::SetStatement(Statement&& value) { m_statementHasBeenSet = true; m_statement = Aws::MakeShared<Statement>("NotStatement", std::move(value)); } WithStatement(const Statement & value)37NotStatement& NotStatement::WithStatement(const Statement& value) { SetStatement(value); return *this;} WithStatement(Statement && value)38NotStatement& NotStatement::WithStatement(Statement&& value) { SetStatement(std::move(value)); return *this;} 39 operator =(JsonView jsonValue)40NotStatement& 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() const52JsonValue 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