AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateProtectionGroupRequest.h
1
6#pragma once
7#include <aws/shield/Shield_EXPORTS.h>
8#include <aws/shield/ShieldRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/shield/model/ProtectionGroupAggregation.h>
11#include <aws/shield/model/ProtectionGroupPattern.h>
12#include <aws/shield/model/ProtectedResourceType.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/shield/model/Tag.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Shield
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_SHIELD_API CreateProtectionGroupRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateProtectionGroup"; }
36
37 AWS_SHIELD_API Aws::String SerializePayload() const override;
38
40
41
43
48 inline const Aws::String& GetProtectionGroupId() const { return m_protectionGroupId; }
49 inline bool ProtectionGroupIdHasBeenSet() const { return m_protectionGroupIdHasBeenSet; }
50 template<typename ProtectionGroupIdT = Aws::String>
51 void SetProtectionGroupId(ProtectionGroupIdT&& value) { m_protectionGroupIdHasBeenSet = true; m_protectionGroupId = std::forward<ProtectionGroupIdT>(value); }
52 template<typename ProtectionGroupIdT = Aws::String>
53 CreateProtectionGroupRequest& WithProtectionGroupId(ProtectionGroupIdT&& value) { SetProtectionGroupId(std::forward<ProtectionGroupIdT>(value)); return *this;}
55
57
69 inline ProtectionGroupAggregation GetAggregation() const { return m_aggregation; }
70 inline bool AggregationHasBeenSet() const { return m_aggregationHasBeenSet; }
71 inline void SetAggregation(ProtectionGroupAggregation value) { m_aggregationHasBeenSet = true; m_aggregation = value; }
74
76
82 inline ProtectionGroupPattern GetPattern() const { return m_pattern; }
83 inline bool PatternHasBeenSet() const { return m_patternHasBeenSet; }
84 inline void SetPattern(ProtectionGroupPattern value) { m_patternHasBeenSet = true; m_pattern = value; }
87
89
96 inline ProtectedResourceType GetResourceType() const { return m_resourceType; }
97 inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; }
98 inline void SetResourceType(ProtectedResourceType value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; }
101
103
109 inline const Aws::Vector<Aws::String>& GetMembers() const { return m_members; }
110 inline bool MembersHasBeenSet() const { return m_membersHasBeenSet; }
111 template<typename MembersT = Aws::Vector<Aws::String>>
112 void SetMembers(MembersT&& value) { m_membersHasBeenSet = true; m_members = std::forward<MembersT>(value); }
113 template<typename MembersT = Aws::Vector<Aws::String>>
114 CreateProtectionGroupRequest& WithMembers(MembersT&& value) { SetMembers(std::forward<MembersT>(value)); return *this;}
115 template<typename MembersT = Aws::String>
116 CreateProtectionGroupRequest& AddMembers(MembersT&& value) { m_membersHasBeenSet = true; m_members.emplace_back(std::forward<MembersT>(value)); return *this; }
118
120
123 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
124 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
125 template<typename TagsT = Aws::Vector<Tag>>
126 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
127 template<typename TagsT = Aws::Vector<Tag>>
128 CreateProtectionGroupRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
129 template<typename TagsT = Tag>
130 CreateProtectionGroupRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
132 private:
133
134 Aws::String m_protectionGroupId;
135 bool m_protectionGroupIdHasBeenSet = false;
136
138 bool m_aggregationHasBeenSet = false;
139
141 bool m_patternHasBeenSet = false;
142
144 bool m_resourceTypeHasBeenSet = false;
145
146 Aws::Vector<Aws::String> m_members;
147 bool m_membersHasBeenSet = false;
148
149 Aws::Vector<Tag> m_tags;
150 bool m_tagsHasBeenSet = false;
151 };
152
153} // namespace Model
154} // namespace Shield
155} // namespace Aws
CreateProtectionGroupRequest & AddTags(TagsT &&value)
CreateProtectionGroupRequest & WithProtectionGroupId(ProtectionGroupIdT &&value)
AWS_SHIELD_API Aws::String SerializePayload() const override
CreateProtectionGroupRequest & AddMembers(MembersT &&value)
CreateProtectionGroupRequest & WithAggregation(ProtectionGroupAggregation value)
CreateProtectionGroupRequest & WithPattern(ProtectionGroupPattern value)
CreateProtectionGroupRequest & WithTags(TagsT &&value)
CreateProtectionGroupRequest & WithMembers(MembersT &&value)
CreateProtectionGroupRequest & WithResourceType(ProtectedResourceType value)
AWS_SHIELD_API CreateProtectionGroupRequest()=default
const Aws::Vector< Aws::String > & GetMembers() const
virtual const char * GetServiceRequestName() const override
AWS_SHIELD_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector