AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ClusterSecurityGroup.h
1
6#pragma once
7#include <aws/redshift/Redshift_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/redshift/model/EC2SecurityGroup.h>
12#include <aws/redshift/model/IPRange.h>
13#include <aws/redshift/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace Redshift
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_REDSHIFT_API ClusterSecurityGroup() = default;
39 AWS_REDSHIFT_API ClusterSecurityGroup(const Aws::Utils::Xml::XmlNode& xmlNode);
40 AWS_REDSHIFT_API ClusterSecurityGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
41
42 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
45
47
51 inline const Aws::String& GetClusterSecurityGroupName() const { return m_clusterSecurityGroupName; }
52 inline bool ClusterSecurityGroupNameHasBeenSet() const { return m_clusterSecurityGroupNameHasBeenSet; }
53 template<typename ClusterSecurityGroupNameT = Aws::String>
54 void SetClusterSecurityGroupName(ClusterSecurityGroupNameT&& value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName = std::forward<ClusterSecurityGroupNameT>(value); }
55 template<typename ClusterSecurityGroupNameT = Aws::String>
56 ClusterSecurityGroup& WithClusterSecurityGroupName(ClusterSecurityGroupNameT&& value) { SetClusterSecurityGroupName(std::forward<ClusterSecurityGroupNameT>(value)); return *this;}
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) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
67 template<typename DescriptionT = Aws::String>
68 ClusterSecurityGroup& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
70
72
76 inline const Aws::Vector<EC2SecurityGroup>& GetEC2SecurityGroups() const { return m_eC2SecurityGroups; }
77 inline bool EC2SecurityGroupsHasBeenSet() const { return m_eC2SecurityGroupsHasBeenSet; }
78 template<typename EC2SecurityGroupsT = Aws::Vector<EC2SecurityGroup>>
79 void SetEC2SecurityGroups(EC2SecurityGroupsT&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups = std::forward<EC2SecurityGroupsT>(value); }
80 template<typename EC2SecurityGroupsT = Aws::Vector<EC2SecurityGroup>>
81 ClusterSecurityGroup& WithEC2SecurityGroups(EC2SecurityGroupsT&& value) { SetEC2SecurityGroups(std::forward<EC2SecurityGroupsT>(value)); return *this;}
82 template<typename EC2SecurityGroupsT = EC2SecurityGroup>
83 ClusterSecurityGroup& AddEC2SecurityGroups(EC2SecurityGroupsT&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups.emplace_back(std::forward<EC2SecurityGroupsT>(value)); return *this; }
85
87
91 inline const Aws::Vector<IPRange>& GetIPRanges() const { return m_iPRanges; }
92 inline bool IPRangesHasBeenSet() const { return m_iPRangesHasBeenSet; }
93 template<typename IPRangesT = Aws::Vector<IPRange>>
94 void SetIPRanges(IPRangesT&& value) { m_iPRangesHasBeenSet = true; m_iPRanges = std::forward<IPRangesT>(value); }
95 template<typename IPRangesT = Aws::Vector<IPRange>>
96 ClusterSecurityGroup& WithIPRanges(IPRangesT&& value) { SetIPRanges(std::forward<IPRangesT>(value)); return *this;}
97 template<typename IPRangesT = IPRange>
98 ClusterSecurityGroup& AddIPRanges(IPRangesT&& value) { m_iPRangesHasBeenSet = true; m_iPRanges.emplace_back(std::forward<IPRangesT>(value)); return *this; }
100
102
105 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
106 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
107 template<typename TagsT = Aws::Vector<Tag>>
108 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
109 template<typename TagsT = Aws::Vector<Tag>>
110 ClusterSecurityGroup& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
111 template<typename TagsT = Tag>
112 ClusterSecurityGroup& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
114 private:
115
116 Aws::String m_clusterSecurityGroupName;
117 bool m_clusterSecurityGroupNameHasBeenSet = false;
118
119 Aws::String m_description;
120 bool m_descriptionHasBeenSet = false;
121
122 Aws::Vector<EC2SecurityGroup> m_eC2SecurityGroups;
123 bool m_eC2SecurityGroupsHasBeenSet = false;
124
125 Aws::Vector<IPRange> m_iPRanges;
126 bool m_iPRangesHasBeenSet = false;
127
128 Aws::Vector<Tag> m_tags;
129 bool m_tagsHasBeenSet = false;
130 };
131
132} // namespace Model
133} // namespace Redshift
134} // 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