AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ClusterSecurityGroup.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/EC2SecurityGroup.h>
12#include <aws/redshift/model/IPRange.h>
13#include <aws/redshift/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace Redshift {
24namespace Model {
25
32 public:
33 AWS_REDSHIFT_API ClusterSecurityGroup() = default;
34 AWS_REDSHIFT_API ClusterSecurityGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
35 AWS_REDSHIFT_API ClusterSecurityGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
36
37 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
38 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
39
41
45 inline const Aws::String& GetClusterSecurityGroupName() const { return m_clusterSecurityGroupName; }
46 inline bool ClusterSecurityGroupNameHasBeenSet() const { return m_clusterSecurityGroupNameHasBeenSet; }
47 template <typename ClusterSecurityGroupNameT = Aws::String>
48 void SetClusterSecurityGroupName(ClusterSecurityGroupNameT&& value) {
49 m_clusterSecurityGroupNameHasBeenSet = true;
50 m_clusterSecurityGroupName = std::forward<ClusterSecurityGroupNameT>(value);
51 }
52 template <typename ClusterSecurityGroupNameT = Aws::String>
53 ClusterSecurityGroup& WithClusterSecurityGroupName(ClusterSecurityGroupNameT&& value) {
54 SetClusterSecurityGroupName(std::forward<ClusterSecurityGroupNameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetDescription() const { return m_description; }
64 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
65 template <typename DescriptionT = Aws::String>
66 void SetDescription(DescriptionT&& value) {
67 m_descriptionHasBeenSet = true;
68 m_description = std::forward<DescriptionT>(value);
69 }
70 template <typename DescriptionT = Aws::String>
71 ClusterSecurityGroup& WithDescription(DescriptionT&& value) {
72 SetDescription(std::forward<DescriptionT>(value));
73 return *this;
74 }
76
78
82 inline const Aws::Vector<EC2SecurityGroup>& GetEC2SecurityGroups() const { return m_eC2SecurityGroups; }
83 inline bool EC2SecurityGroupsHasBeenSet() const { return m_eC2SecurityGroupsHasBeenSet; }
84 template <typename EC2SecurityGroupsT = Aws::Vector<EC2SecurityGroup>>
85 void SetEC2SecurityGroups(EC2SecurityGroupsT&& value) {
86 m_eC2SecurityGroupsHasBeenSet = true;
87 m_eC2SecurityGroups = std::forward<EC2SecurityGroupsT>(value);
88 }
89 template <typename EC2SecurityGroupsT = Aws::Vector<EC2SecurityGroup>>
90 ClusterSecurityGroup& WithEC2SecurityGroups(EC2SecurityGroupsT&& value) {
91 SetEC2SecurityGroups(std::forward<EC2SecurityGroupsT>(value));
92 return *this;
93 }
94 template <typename EC2SecurityGroupsT = EC2SecurityGroup>
95 ClusterSecurityGroup& AddEC2SecurityGroups(EC2SecurityGroupsT&& value) {
96 m_eC2SecurityGroupsHasBeenSet = true;
97 m_eC2SecurityGroups.emplace_back(std::forward<EC2SecurityGroupsT>(value));
98 return *this;
99 }
101
103
107 inline const Aws::Vector<IPRange>& GetIPRanges() const { return m_iPRanges; }
108 inline bool IPRangesHasBeenSet() const { return m_iPRangesHasBeenSet; }
109 template <typename IPRangesT = Aws::Vector<IPRange>>
110 void SetIPRanges(IPRangesT&& value) {
111 m_iPRangesHasBeenSet = true;
112 m_iPRanges = std::forward<IPRangesT>(value);
113 }
114 template <typename IPRangesT = Aws::Vector<IPRange>>
115 ClusterSecurityGroup& WithIPRanges(IPRangesT&& value) {
116 SetIPRanges(std::forward<IPRangesT>(value));
117 return *this;
118 }
119 template <typename IPRangesT = IPRange>
120 ClusterSecurityGroup& AddIPRanges(IPRangesT&& value) {
121 m_iPRangesHasBeenSet = true;
122 m_iPRanges.emplace_back(std::forward<IPRangesT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
132 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
133 template <typename TagsT = Aws::Vector<Tag>>
134 void SetTags(TagsT&& value) {
135 m_tagsHasBeenSet = true;
136 m_tags = std::forward<TagsT>(value);
137 }
138 template <typename TagsT = Aws::Vector<Tag>>
140 SetTags(std::forward<TagsT>(value));
141 return *this;
142 }
143 template <typename TagsT = Tag>
145 m_tagsHasBeenSet = true;
146 m_tags.emplace_back(std::forward<TagsT>(value));
147 return *this;
148 }
150 private:
151 Aws::String m_clusterSecurityGroupName;
152
153 Aws::String m_description;
154
155 Aws::Vector<EC2SecurityGroup> m_eC2SecurityGroups;
156
157 Aws::Vector<IPRange> m_iPRanges;
158
159 Aws::Vector<Tag> m_tags;
160 bool m_clusterSecurityGroupNameHasBeenSet = false;
161 bool m_descriptionHasBeenSet = false;
162 bool m_eC2SecurityGroupsHasBeenSet = false;
163 bool m_iPRangesHasBeenSet = false;
164 bool m_tagsHasBeenSet = false;
165};
166
167} // namespace Model
168} // namespace Redshift
169} // namespace Aws
const Aws::Vector< Tag > & GetTags() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ClusterSecurityGroup & WithTags(TagsT &&value)
AWS_REDSHIFT_API ClusterSecurityGroup()=default
const Aws::Vector< IPRange > & GetIPRanges() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ClusterSecurityGroup & WithClusterSecurityGroupName(ClusterSecurityGroupNameT &&value)
const Aws::Vector< EC2SecurityGroup > & GetEC2SecurityGroups() const
void SetClusterSecurityGroupName(ClusterSecurityGroupNameT &&value)
ClusterSecurityGroup & WithIPRanges(IPRangesT &&value)
void SetEC2SecurityGroups(EC2SecurityGroupsT &&value)
ClusterSecurityGroup & AddEC2SecurityGroups(EC2SecurityGroupsT &&value)
ClusterSecurityGroup & WithDescription(DescriptionT &&value)
ClusterSecurityGroup & WithEC2SecurityGroups(EC2SecurityGroupsT &&value)
const Aws::String & GetClusterSecurityGroupName() const
ClusterSecurityGroup & AddTags(TagsT &&value)
AWS_REDSHIFT_API ClusterSecurityGroup(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API ClusterSecurityGroup & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ClusterSecurityGroup & AddIPRanges(IPRangesT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream