AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
ProtectionGroup.h
1
6#pragma once
7#include <aws/shield/Shield_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/shield/model/ProtectionGroupAggregation.h>
10#include <aws/shield/model/ProtectionGroupPattern.h>
11#include <aws/shield/model/ProtectedResourceType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Shield
26{
27namespace Model
28{
29
38 {
39 public:
40 AWS_SHIELD_API ProtectionGroup() = default;
43 AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
52 inline const Aws::String& GetProtectionGroupId() const { return m_protectionGroupId; }
53 inline bool ProtectionGroupIdHasBeenSet() const { return m_protectionGroupIdHasBeenSet; }
54 template<typename ProtectionGroupIdT = Aws::String>
55 void SetProtectionGroupId(ProtectionGroupIdT&& value) { m_protectionGroupIdHasBeenSet = true; m_protectionGroupId = std::forward<ProtectionGroupIdT>(value); }
56 template<typename ProtectionGroupIdT = Aws::String>
57 ProtectionGroup& WithProtectionGroupId(ProtectionGroupIdT&& value) { SetProtectionGroupId(std::forward<ProtectionGroupIdT>(value)); return *this;}
59
61
74 inline ProtectionGroupAggregation GetAggregation() const { return m_aggregation; }
75 inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; }
76 inline void SetAggregation(ProtectionGroupAggregation value) { m_aggregationHasBeenSet = true; m_aggregation = value; }
79
81
87 inline ProtectionGroupPattern GetPattern() const { return m_pattern; }
88 inline bool PatternHasBeenSet() const { return m_patternHasBeenSet; }
89 inline void SetPattern(ProtectionGroupPattern value) { m_patternHasBeenSet = true; m_pattern = value; }
90 inline ProtectionGroup& WithPattern(ProtectionGroupPattern value) { SetPattern(value); return *this;}
92
94
100 inline ProtectedResourceType GetResourceType() const { return m_resourceType; }
101 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
102 inline void SetResourceType(ProtectedResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
105
107
113 inline const Aws::Vector<Aws::String>& GetMembers() const { return m_members; }
114 inline bool MembersHasBeenSet() const { return m_membersHasBeenSet; }
115 template<typename MembersT = Aws::Vector<Aws::String>>
116 void SetMembers(MembersT&& value) { m_membersHasBeenSet = true; m_members = std::forward<MembersT>(value); }
117 template<typename MembersT = Aws::Vector<Aws::String>>
118 ProtectionGroup& WithMembers(MembersT&& value) { SetMembers(std::forward<MembersT>(value)); return *this;}
119 template<typename MembersT = Aws::String>
120 ProtectionGroup& AddMembers(MembersT&& value) { m_membersHasBeenSet = true; m_members.emplace_back(std::forward<MembersT>(value)); return *this; }
122
124
127 inline const Aws::String& GetProtectionGroupArn() const { return m_protectionGroupArn; }
128 inline bool ProtectionGroupArnHasBeenSet() const { return m_protectionGroupArnHasBeenSet; }
129 template<typename ProtectionGroupArnT = Aws::String>
130 void SetProtectionGroupArn(ProtectionGroupArnT&& value) { m_protectionGroupArnHasBeenSet = true; m_protectionGroupArn = std::forward<ProtectionGroupArnT>(value); }
131 template<typename ProtectionGroupArnT = Aws::String>
132 ProtectionGroup& WithProtectionGroupArn(ProtectionGroupArnT&& value) { SetProtectionGroupArn(std::forward<ProtectionGroupArnT>(value)); return *this;}
134 private:
135
136 Aws::String m_protectionGroupId;
137 bool m_protectionGroupIdHasBeenSet = false;
138
140 bool m_aggregationHasBeenSet = false;
141
143 bool m_patternHasBeenSet = false;
144
146 bool m_resourceTypeHasBeenSet = false;
147
148 Aws::Vector<Aws::String> m_members;
149 bool m_membersHasBeenSet = false;
150
151 Aws::String m_protectionGroupArn;
152 bool m_protectionGroupArnHasBeenSet = false;
153 };
154
155} // namespace Model
156} // namespace Shield
157} // namespace Aws
AWS_SHIELD_API ProtectionGroup()=default
ProtectionGroup & WithPattern(ProtectionGroupPattern value)
ProtectedResourceType GetResourceType() const
void SetProtectionGroupArn(ProtectionGroupArnT &&value)
void SetResourceType(ProtectedResourceType value)
const Aws::String & GetProtectionGroupArn() const
ProtectionGroupAggregation GetAggregation() const
AWS_SHIELD_API ProtectionGroup(Aws::Utils::Json::JsonView jsonValue)
ProtectionGroup & WithProtectionGroupArn(ProtectionGroupArnT &&value)
const Aws::Vector< Aws::String > & GetMembers() const
void SetAggregation(ProtectionGroupAggregation value)
ProtectionGroup & WithAggregation(ProtectionGroupAggregation value)
ProtectionGroup & WithResourceType(ProtectedResourceType value)
const Aws::String & GetProtectionGroupId() const
void SetProtectionGroupId(ProtectionGroupIdT &&value)
ProtectionGroup & WithProtectionGroupId(ProtectionGroupIdT &&value)
AWS_SHIELD_API ProtectionGroup & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const
ProtectionGroupPattern GetPattern() const
ProtectionGroup & AddMembers(MembersT &&value)
ProtectionGroup & WithMembers(MembersT &&value)
void SetPattern(ProtectionGroupPattern value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue