AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
DataProtection.h
1
6#pragma once
7#include <aws/wafv2/WAFV2_EXPORTS.h>
8#include <aws/wafv2/model/FieldToProtect.h>
9#include <aws/wafv2/model/DataProtectionAction.h>
10#include <utility>
11
12namespace Aws
13{
14namespace Utils
15{
16namespace Json
17{
18 class JsonValue;
19 class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace WAFV2
23{
24namespace Model
25{
26
34 {
35 public:
36 AWS_WAFV2_API DataProtection() = default;
39 AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
47 inline const FieldToProtect& GetField() const { return m_field; }
48 inline bool FieldHasBeenSet() const { return m_fieldHasBeenSet; }
49 template<typename FieldT = FieldToProtect>
50 void SetField(FieldT&& value) { m_fieldHasBeenSet = true; m_field = std::forward<FieldT>(value); }
51 template<typename FieldT = FieldToProtect>
52 DataProtection& WithField(FieldT&& value) { SetField(std::forward<FieldT>(value)); return *this;}
54
56
62 inline DataProtectionAction GetAction() const { return m_action; }
63 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
64 inline void SetAction(DataProtectionAction value) { m_actionHasBeenSet = true; m_action = value; }
65 inline DataProtection& WithAction(DataProtectionAction value) { SetAction(value); return *this;}
67
69
78 inline bool GetExcludeRuleMatchDetails() const { return m_excludeRuleMatchDetails; }
79 inline bool ExcludeRuleMatchDetailsHasBeenSet() const { return m_excludeRuleMatchDetailsHasBeenSet; }
80 inline void SetExcludeRuleMatchDetails(bool value) { m_excludeRuleMatchDetailsHasBeenSet = true; m_excludeRuleMatchDetails = value; }
81 inline DataProtection& WithExcludeRuleMatchDetails(bool value) { SetExcludeRuleMatchDetails(value); return *this;}
83
85
94 inline bool GetExcludeRateBasedDetails() const { return m_excludeRateBasedDetails; }
95 inline bool ExcludeRateBasedDetailsHasBeenSet() const { return m_excludeRateBasedDetailsHasBeenSet; }
96 inline void SetExcludeRateBasedDetails(bool value) { m_excludeRateBasedDetailsHasBeenSet = true; m_excludeRateBasedDetails = value; }
97 inline DataProtection& WithExcludeRateBasedDetails(bool value) { SetExcludeRateBasedDetails(value); return *this;}
99 private:
100
101 FieldToProtect m_field;
102 bool m_fieldHasBeenSet = false;
103
105 bool m_actionHasBeenSet = false;
106
107 bool m_excludeRuleMatchDetails{false};
108 bool m_excludeRuleMatchDetailsHasBeenSet = false;
109
110 bool m_excludeRateBasedDetails{false};
111 bool m_excludeRateBasedDetailsHasBeenSet = false;
112 };
113
114} // namespace Model
115} // namespace WAFV2
116} // namespace Aws
void SetAction(DataProtectionAction value)
DataProtectionAction GetAction() const
DataProtection & WithField(FieldT &&value)
AWS_WAFV2_API Aws::Utils::Json::JsonValue Jsonize() const
DataProtection & WithExcludeRateBasedDetails(bool value)
void SetExcludeRateBasedDetails(bool value)
DataProtection & WithExcludeRuleMatchDetails(bool value)
AWS_WAFV2_API DataProtection()=default
AWS_WAFV2_API DataProtection(Aws::Utils::Json::JsonView jsonValue)
DataProtection & WithAction(DataProtectionAction value)
AWS_WAFV2_API DataProtection & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetExcludeRuleMatchDetails(bool value)
const FieldToProtect & GetField() const
Aws::Utils::Json::JsonValue JsonValue