This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-wafv2/source/model/Statement.cpp

256 lines
7.2 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/wafv2/model/Statement.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace WAFV2
{
namespace Model
{
Statement::Statement() :
m_byteMatchStatementHasBeenSet(false),
m_sqliMatchStatementHasBeenSet(false),
m_xssMatchStatementHasBeenSet(false),
m_sizeConstraintStatementHasBeenSet(false),
m_geoMatchStatementHasBeenSet(false),
m_ruleGroupReferenceStatementHasBeenSet(false),
m_iPSetReferenceStatementHasBeenSet(false),
m_regexPatternSetReferenceStatementHasBeenSet(false),
m_rateBasedStatementHasBeenSet(false),
m_andStatementHasBeenSet(false),
m_orStatementHasBeenSet(false),
m_notStatementHasBeenSet(false),
m_managedRuleGroupStatementHasBeenSet(false)
{
}
Statement::Statement(JsonView jsonValue) :
m_byteMatchStatementHasBeenSet(false),
m_sqliMatchStatementHasBeenSet(false),
m_xssMatchStatementHasBeenSet(false),
m_sizeConstraintStatementHasBeenSet(false),
m_geoMatchStatementHasBeenSet(false),
m_ruleGroupReferenceStatementHasBeenSet(false),
m_iPSetReferenceStatementHasBeenSet(false),
m_regexPatternSetReferenceStatementHasBeenSet(false),
m_rateBasedStatementHasBeenSet(false),
m_andStatementHasBeenSet(false),
m_orStatementHasBeenSet(false),
m_notStatementHasBeenSet(false),
m_managedRuleGroupStatementHasBeenSet(false)
{
*this = jsonValue;
}
const RateBasedStatement& Statement::GetRateBasedStatement() const{ return m_rateBasedStatement[0]; }
bool Statement::RateBasedStatementHasBeenSet() const { return m_rateBasedStatementHasBeenSet; }
void Statement::SetRateBasedStatement(const RateBasedStatement& value) { m_rateBasedStatementHasBeenSet = true; m_rateBasedStatement.resize(1); m_rateBasedStatement[0] = value; }
void Statement::SetRateBasedStatement(RateBasedStatement&& value) { m_rateBasedStatementHasBeenSet = true; m_rateBasedStatement.resize(1); m_rateBasedStatement[0] = std::move(value); }
Statement& Statement::WithRateBasedStatement(const RateBasedStatement& value) { SetRateBasedStatement(value); return *this;}
Statement& Statement::WithRateBasedStatement(RateBasedStatement&& value) { SetRateBasedStatement(std::move(value)); return *this;}
const NotStatement& Statement::GetNotStatement() const{ return m_notStatement[0]; }
bool Statement::NotStatementHasBeenSet() const { return m_notStatementHasBeenSet; }
void Statement::SetNotStatement(const NotStatement& value) { m_notStatementHasBeenSet = true; m_notStatement.resize(1); m_notStatement[0] = value; }
void Statement::SetNotStatement(NotStatement&& value) { m_notStatementHasBeenSet = true; m_notStatement.resize(1); m_notStatement[0] = std::move(value); }
Statement& Statement::WithNotStatement(const NotStatement& value) { SetNotStatement(value); return *this;}
Statement& Statement::WithNotStatement(NotStatement&& value) { SetNotStatement(std::move(value)); return *this;}
Statement& Statement::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("ByteMatchStatement"))
{
m_byteMatchStatement = jsonValue.GetObject("ByteMatchStatement");
m_byteMatchStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("SqliMatchStatement"))
{
m_sqliMatchStatement = jsonValue.GetObject("SqliMatchStatement");
m_sqliMatchStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("XssMatchStatement"))
{
m_xssMatchStatement = jsonValue.GetObject("XssMatchStatement");
m_xssMatchStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("SizeConstraintStatement"))
{
m_sizeConstraintStatement = jsonValue.GetObject("SizeConstraintStatement");
m_sizeConstraintStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("GeoMatchStatement"))
{
m_geoMatchStatement = jsonValue.GetObject("GeoMatchStatement");
m_geoMatchStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("RuleGroupReferenceStatement"))
{
m_ruleGroupReferenceStatement = jsonValue.GetObject("RuleGroupReferenceStatement");
m_ruleGroupReferenceStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("IPSetReferenceStatement"))
{
m_iPSetReferenceStatement = jsonValue.GetObject("IPSetReferenceStatement");
m_iPSetReferenceStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("RegexPatternSetReferenceStatement"))
{
m_regexPatternSetReferenceStatement = jsonValue.GetObject("RegexPatternSetReferenceStatement");
m_regexPatternSetReferenceStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("RateBasedStatement"))
{
m_rateBasedStatement.resize(1);
m_rateBasedStatement[0] = jsonValue.GetObject("RateBasedStatement");
m_rateBasedStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("AndStatement"))
{
m_andStatement = jsonValue.GetObject("AndStatement");
m_andStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("OrStatement"))
{
m_orStatement = jsonValue.GetObject("OrStatement");
m_orStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("NotStatement"))
{
m_notStatement.resize(1);
m_notStatement[0] = jsonValue.GetObject("NotStatement");
m_notStatementHasBeenSet = true;
}
if(jsonValue.ValueExists("ManagedRuleGroupStatement"))
{
m_managedRuleGroupStatement = jsonValue.GetObject("ManagedRuleGroupStatement");
m_managedRuleGroupStatementHasBeenSet = true;
}
return *this;
}
JsonValue Statement::Jsonize() const
{
JsonValue payload;
if(m_byteMatchStatementHasBeenSet)
{
payload.WithObject("ByteMatchStatement", m_byteMatchStatement.Jsonize());
}
if(m_sqliMatchStatementHasBeenSet)
{
payload.WithObject("SqliMatchStatement", m_sqliMatchStatement.Jsonize());
}
if(m_xssMatchStatementHasBeenSet)
{
payload.WithObject("XssMatchStatement", m_xssMatchStatement.Jsonize());
}
if(m_sizeConstraintStatementHasBeenSet)
{
payload.WithObject("SizeConstraintStatement", m_sizeConstraintStatement.Jsonize());
}
if(m_geoMatchStatementHasBeenSet)
{
payload.WithObject("GeoMatchStatement", m_geoMatchStatement.Jsonize());
}
if(m_ruleGroupReferenceStatementHasBeenSet)
{
payload.WithObject("RuleGroupReferenceStatement", m_ruleGroupReferenceStatement.Jsonize());
}
if(m_iPSetReferenceStatementHasBeenSet)
{
payload.WithObject("IPSetReferenceStatement", m_iPSetReferenceStatement.Jsonize());
}
if(m_regexPatternSetReferenceStatementHasBeenSet)
{
payload.WithObject("RegexPatternSetReferenceStatement", m_regexPatternSetReferenceStatement.Jsonize());
}
if(m_rateBasedStatementHasBeenSet)
{
payload.WithObject("RateBasedStatement", m_rateBasedStatement[0].Jsonize());
}
if(m_andStatementHasBeenSet)
{
payload.WithObject("AndStatement", m_andStatement.Jsonize());
}
if(m_orStatementHasBeenSet)
{
payload.WithObject("OrStatement", m_orStatement.Jsonize());
}
if(m_notStatementHasBeenSet)
{
payload.WithObject("NotStatement", m_notStatement[0].Jsonize());
}
if(m_managedRuleGroupStatementHasBeenSet)
{
payload.WithObject("ManagedRuleGroupStatement", m_managedRuleGroupStatement.Jsonize());
}
return payload;
}
} // namespace Model
} // namespace WAFV2
} // namespace Aws