AWS SDK for C++  0.14.3
AWS SDK for C++
ClusterSecurityGroup.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
22 #include <aws/redshift/model/Tag.h>
23 
24 namespace Aws
25 {
26 namespace Utils
27 {
28 namespace Xml
29 {
30  class XmlNode;
31 } // namespace Xml
32 } // namespace Utils
33 namespace Redshift
34 {
35 namespace Model
36 {
37 
42  {
43  public:
46  ClusterSecurityGroup& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
47 
48  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
49  void OutputToStream(Aws::OStream& oStream, const char* location) const;
50 
55  inline const Aws::String& GetClusterSecurityGroupName() const{ return m_clusterSecurityGroupName; }
56 
61  inline void SetClusterSecurityGroupName(const Aws::String& value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName = value; }
62 
67  inline void SetClusterSecurityGroupName(Aws::String&& value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName = value; }
68 
73  inline void SetClusterSecurityGroupName(const char* value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName.assign(value); }
74 
79  inline ClusterSecurityGroup& WithClusterSecurityGroupName(const Aws::String& value) { SetClusterSecurityGroupName(value); return *this;}
80 
85  inline ClusterSecurityGroup& WithClusterSecurityGroupName(Aws::String&& value) { SetClusterSecurityGroupName(value); return *this;}
86 
91  inline ClusterSecurityGroup& WithClusterSecurityGroupName(const char* value) { SetClusterSecurityGroupName(value); return *this;}
92 
96  inline const Aws::String& GetDescription() const{ return m_description; }
97 
101  inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
102 
106  inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = value; }
107 
111  inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
112 
116  inline ClusterSecurityGroup& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
117 
121  inline ClusterSecurityGroup& WithDescription(Aws::String&& value) { SetDescription(value); return *this;}
122 
126  inline ClusterSecurityGroup& WithDescription(const char* value) { SetDescription(value); return *this;}
127 
132  inline const Aws::Vector<EC2SecurityGroup>& GetEC2SecurityGroups() const{ return m_eC2SecurityGroups; }
133 
138  inline void SetEC2SecurityGroups(const Aws::Vector<EC2SecurityGroup>& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups = value; }
139 
144  inline void SetEC2SecurityGroups(Aws::Vector<EC2SecurityGroup>&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups = value; }
145 
150  inline ClusterSecurityGroup& WithEC2SecurityGroups(const Aws::Vector<EC2SecurityGroup>& value) { SetEC2SecurityGroups(value); return *this;}
151 
156  inline ClusterSecurityGroup& WithEC2SecurityGroups(Aws::Vector<EC2SecurityGroup>&& value) { SetEC2SecurityGroups(value); return *this;}
157 
162  inline ClusterSecurityGroup& AddEC2SecurityGroups(const EC2SecurityGroup& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups.push_back(value); return *this; }
163 
168  inline ClusterSecurityGroup& AddEC2SecurityGroups(EC2SecurityGroup&& value) { m_eC2SecurityGroupsHasBeenSet = true; m_eC2SecurityGroups.push_back(value); return *this; }
169 
174  inline const Aws::Vector<IPRange>& GetIPRanges() const{ return m_iPRanges; }
175 
180  inline void SetIPRanges(const Aws::Vector<IPRange>& value) { m_iPRangesHasBeenSet = true; m_iPRanges = value; }
181 
186  inline void SetIPRanges(Aws::Vector<IPRange>&& value) { m_iPRangesHasBeenSet = true; m_iPRanges = value; }
187 
192  inline ClusterSecurityGroup& WithIPRanges(const Aws::Vector<IPRange>& value) { SetIPRanges(value); return *this;}
193 
198  inline ClusterSecurityGroup& WithIPRanges(Aws::Vector<IPRange>&& value) { SetIPRanges(value); return *this;}
199 
204  inline ClusterSecurityGroup& AddIPRanges(const IPRange& value) { m_iPRangesHasBeenSet = true; m_iPRanges.push_back(value); return *this; }
205 
210  inline ClusterSecurityGroup& AddIPRanges(IPRange&& value) { m_iPRangesHasBeenSet = true; m_iPRanges.push_back(value); return *this; }
211 
215  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
216 
220  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
221 
225  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
226 
230  inline ClusterSecurityGroup& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
231 
235  inline ClusterSecurityGroup& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
236 
240  inline ClusterSecurityGroup& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
241 
245  inline ClusterSecurityGroup& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
246 
247  private:
248  Aws::String m_clusterSecurityGroupName;
249  bool m_clusterSecurityGroupNameHasBeenSet;
250  Aws::String m_description;
251  bool m_descriptionHasBeenSet;
252  Aws::Vector<EC2SecurityGroup> m_eC2SecurityGroups;
253  bool m_eC2SecurityGroupsHasBeenSet;
254  Aws::Vector<IPRange> m_iPRanges;
255  bool m_iPRangesHasBeenSet;
256  Aws::Vector<Tag> m_tags;
257  bool m_tagsHasBeenSet;
258  };
259 
260 } // namespace Model
261 } // namespace Redshift
262 } // namespace Aws
void SetIPRanges(Aws::Vector< IPRange > &&value)
void SetTags(Aws::Vector< Tag > &&value)
ClusterSecurityGroup & WithIPRanges(Aws::Vector< IPRange > &&value)
void SetDescription(const Aws::String &value)
ClusterSecurityGroup & AddTags(Tag &&value)
void SetIPRanges(const Aws::Vector< IPRange > &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
ClusterSecurityGroup & WithIPRanges(const Aws::Vector< IPRange > &value)
ClusterSecurityGroup & WithClusterSecurityGroupName(Aws::String &&value)
ClusterSecurityGroup & AddIPRanges(IPRange &&value)
ClusterSecurityGroup & WithTags(const Aws::Vector< Tag > &value)
#define AWS_REDSHIFT_API
ClusterSecurityGroup & AddEC2SecurityGroups(const EC2SecurityGroup &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetClusterSecurityGroupName(const Aws::String &value)
ClusterSecurityGroup & WithDescription(Aws::String &&value)
void SetEC2SecurityGroups(Aws::Vector< EC2SecurityGroup > &&value)
ClusterSecurityGroup & AddEC2SecurityGroups(EC2SecurityGroup &&value)
ClusterSecurityGroup & WithDescription(const Aws::String &value)
const Aws::Vector< Tag > & GetTags() const
ClusterSecurityGroup & AddIPRanges(const IPRange &value)
void SetClusterSecurityGroupName(Aws::String &&value)
ClusterSecurityGroup & WithTags(Aws::Vector< Tag > &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
ClusterSecurityGroup & WithClusterSecurityGroupName(const char *value)
ClusterSecurityGroup & WithDescription(const char *value)
const Aws::Vector< EC2SecurityGroup > & GetEC2SecurityGroups() const
ClusterSecurityGroup & WithEC2SecurityGroups(const Aws::Vector< EC2SecurityGroup > &value)
ClusterSecurityGroup & AddTags(const Tag &value)
void SetTags(const Aws::Vector< Tag > &value)
void SetEC2SecurityGroups(const Aws::Vector< EC2SecurityGroup > &value)
const Aws::String & GetClusterSecurityGroupName() const
ClusterSecurityGroup & WithEC2SecurityGroups(Aws::Vector< EC2SecurityGroup > &&value)
const Aws::Vector< IPRange > & GetIPRanges() const
JSON (JavaScript Object Notation).
ClusterSecurityGroup & WithClusterSecurityGroupName(const Aws::String &value)