AWS SDK for C++  0.14.3
AWS SDK for C++
RouteTable.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
16 #include <aws/ec2/EC2_EXPORTS.h>
20 #include <aws/ec2/model/Route.h>
22 #include <aws/ec2/model/Tag.h>
24 
25 namespace Aws
26 {
27 namespace Utils
28 {
29 namespace Xml
30 {
31  class XmlNode;
32 } // namespace Xml
33 } // namespace Utils
34 namespace EC2
35 {
36 namespace Model
37 {
38 
43  {
44  public:
45  RouteTable();
46  RouteTable(const Aws::Utils::Xml::XmlNode& xmlNode);
47  RouteTable& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
48 
49  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
50  void OutputToStream(Aws::OStream& oStream, const char* location) const;
51 
55  inline const Aws::String& GetRouteTableId() const{ return m_routeTableId; }
56 
60  inline void SetRouteTableId(const Aws::String& value) { m_routeTableIdHasBeenSet = true; m_routeTableId = value; }
61 
65  inline void SetRouteTableId(Aws::String&& value) { m_routeTableIdHasBeenSet = true; m_routeTableId = value; }
66 
70  inline void SetRouteTableId(const char* value) { m_routeTableIdHasBeenSet = true; m_routeTableId.assign(value); }
71 
75  inline RouteTable& WithRouteTableId(const Aws::String& value) { SetRouteTableId(value); return *this;}
76 
80  inline RouteTable& WithRouteTableId(Aws::String&& value) { SetRouteTableId(value); return *this;}
81 
85  inline RouteTable& WithRouteTableId(const char* value) { SetRouteTableId(value); return *this;}
86 
90  inline const Aws::String& GetVpcId() const{ return m_vpcId; }
91 
95  inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
96 
100  inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
101 
105  inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
106 
110  inline RouteTable& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
111 
115  inline RouteTable& WithVpcId(Aws::String&& value) { SetVpcId(value); return *this;}
116 
120  inline RouteTable& WithVpcId(const char* value) { SetVpcId(value); return *this;}
121 
125  inline const Aws::Vector<Route>& GetRoutes() const{ return m_routes; }
126 
130  inline void SetRoutes(const Aws::Vector<Route>& value) { m_routesHasBeenSet = true; m_routes = value; }
131 
135  inline void SetRoutes(Aws::Vector<Route>&& value) { m_routesHasBeenSet = true; m_routes = value; }
136 
140  inline RouteTable& WithRoutes(const Aws::Vector<Route>& value) { SetRoutes(value); return *this;}
141 
145  inline RouteTable& WithRoutes(Aws::Vector<Route>&& value) { SetRoutes(value); return *this;}
146 
150  inline RouteTable& AddRoutes(const Route& value) { m_routesHasBeenSet = true; m_routes.push_back(value); return *this; }
151 
155  inline RouteTable& AddRoutes(Route&& value) { m_routesHasBeenSet = true; m_routes.push_back(value); return *this; }
156 
160  inline const Aws::Vector<RouteTableAssociation>& GetAssociations() const{ return m_associations; }
161 
165  inline void SetAssociations(const Aws::Vector<RouteTableAssociation>& value) { m_associationsHasBeenSet = true; m_associations = value; }
166 
170  inline void SetAssociations(Aws::Vector<RouteTableAssociation>&& value) { m_associationsHasBeenSet = true; m_associations = value; }
171 
175  inline RouteTable& WithAssociations(const Aws::Vector<RouteTableAssociation>& value) { SetAssociations(value); return *this;}
176 
180  inline RouteTable& WithAssociations(Aws::Vector<RouteTableAssociation>&& value) { SetAssociations(value); return *this;}
181 
185  inline RouteTable& AddAssociations(const RouteTableAssociation& value) { m_associationsHasBeenSet = true; m_associations.push_back(value); return *this; }
186 
190  inline RouteTable& AddAssociations(RouteTableAssociation&& value) { m_associationsHasBeenSet = true; m_associations.push_back(value); return *this; }
191 
195  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
196 
200  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
201 
205  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
206 
210  inline RouteTable& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
211 
215  inline RouteTable& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
216 
220  inline RouteTable& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
221 
225  inline RouteTable& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
226 
230  inline const Aws::Vector<PropagatingVgw>& GetPropagatingVgws() const{ return m_propagatingVgws; }
231 
235  inline void SetPropagatingVgws(const Aws::Vector<PropagatingVgw>& value) { m_propagatingVgwsHasBeenSet = true; m_propagatingVgws = value; }
236 
240  inline void SetPropagatingVgws(Aws::Vector<PropagatingVgw>&& value) { m_propagatingVgwsHasBeenSet = true; m_propagatingVgws = value; }
241 
245  inline RouteTable& WithPropagatingVgws(const Aws::Vector<PropagatingVgw>& value) { SetPropagatingVgws(value); return *this;}
246 
250  inline RouteTable& WithPropagatingVgws(Aws::Vector<PropagatingVgw>&& value) { SetPropagatingVgws(value); return *this;}
251 
255  inline RouteTable& AddPropagatingVgws(const PropagatingVgw& value) { m_propagatingVgwsHasBeenSet = true; m_propagatingVgws.push_back(value); return *this; }
256 
260  inline RouteTable& AddPropagatingVgws(PropagatingVgw&& value) { m_propagatingVgwsHasBeenSet = true; m_propagatingVgws.push_back(value); return *this; }
261 
262  private:
263  Aws::String m_routeTableId;
264  bool m_routeTableIdHasBeenSet;
265  Aws::String m_vpcId;
266  bool m_vpcIdHasBeenSet;
267  Aws::Vector<Route> m_routes;
268  bool m_routesHasBeenSet;
269  Aws::Vector<RouteTableAssociation> m_associations;
270  bool m_associationsHasBeenSet;
271  Aws::Vector<Tag> m_tags;
272  bool m_tagsHasBeenSet;
273  Aws::Vector<PropagatingVgw> m_propagatingVgws;
274  bool m_propagatingVgwsHasBeenSet;
275  };
276 
277 } // namespace Model
278 } // namespace EC2
279 } // namespace Aws
void SetAssociations(Aws::Vector< RouteTableAssociation > &&value)
Definition: RouteTable.h:170
RouteTable & WithPropagatingVgws(const Aws::Vector< PropagatingVgw > &value)
Definition: RouteTable.h:245
RouteTable & WithRouteTableId(const char *value)
Definition: RouteTable.h:85
RouteTable & WithAssociations(const Aws::Vector< RouteTableAssociation > &value)
Definition: RouteTable.h:175
void SetRoutes(const Aws::Vector< Route > &value)
Definition: RouteTable.h:130
void SetRouteTableId(const Aws::String &value)
Definition: RouteTable.h:60
void SetPropagatingVgws(Aws::Vector< PropagatingVgw > &&value)
Definition: RouteTable.h:240
RouteTable & AddAssociations(const RouteTableAssociation &value)
Definition: RouteTable.h:185
void SetAssociations(const Aws::Vector< RouteTableAssociation > &value)
Definition: RouteTable.h:165
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
RouteTable & AddPropagatingVgws(PropagatingVgw &&value)
Definition: RouteTable.h:260
const Aws::String & GetVpcId() const
Definition: RouteTable.h:90
RouteTable & AddPropagatingVgws(const PropagatingVgw &value)
Definition: RouteTable.h:255
void SetVpcId(const char *value)
Definition: RouteTable.h:105
void SetPropagatingVgws(const Aws::Vector< PropagatingVgw > &value)
Definition: RouteTable.h:235
RouteTable & WithVpcId(const char *value)
Definition: RouteTable.h:120
const Aws::Vector< RouteTableAssociation > & GetAssociations() const
Definition: RouteTable.h:160
RouteTable & WithVpcId(Aws::String &&value)
Definition: RouteTable.h:115
RouteTable & WithTags(const Aws::Vector< Tag > &value)
Definition: RouteTable.h:210
RouteTable & AddAssociations(RouteTableAssociation &&value)
Definition: RouteTable.h:190
void SetTags(Aws::Vector< Tag > &&value)
Definition: RouteTable.h:205
void SetVpcId(Aws::String &&value)
Definition: RouteTable.h:100
RouteTable & WithRoutes(Aws::Vector< Route > &&value)
Definition: RouteTable.h:145
RouteTable & AddTags(const Tag &value)
Definition: RouteTable.h:220
RouteTable & WithAssociations(Aws::Vector< RouteTableAssociation > &&value)
Definition: RouteTable.h:180
void SetRoutes(Aws::Vector< Route > &&value)
Definition: RouteTable.h:135
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
RouteTable & WithRouteTableId(Aws::String &&value)
Definition: RouteTable.h:80
void SetRouteTableId(Aws::String &&value)
Definition: RouteTable.h:65
RouteTable & WithRoutes(const Aws::Vector< Route > &value)
Definition: RouteTable.h:140
const Aws::String & GetRouteTableId() const
Definition: RouteTable.h:55
const Aws::Vector< Tag > & GetTags() const
Definition: RouteTable.h:195
void SetVpcId(const Aws::String &value)
Definition: RouteTable.h:95
RouteTable & AddRoutes(const Route &value)
Definition: RouteTable.h:150
RouteTable & AddTags(Tag &&value)
Definition: RouteTable.h:225
RouteTable & WithRouteTableId(const Aws::String &value)
Definition: RouteTable.h:75
RouteTable & WithTags(Aws::Vector< Tag > &&value)
Definition: RouteTable.h:215
void SetTags(const Aws::Vector< Tag > &value)
Definition: RouteTable.h:200
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::Vector< PropagatingVgw > & GetPropagatingVgws() const
Definition: RouteTable.h:230
void SetRouteTableId(const char *value)
Definition: RouteTable.h:70
const Aws::Vector< Route > & GetRoutes() const
Definition: RouteTable.h:125
RouteTable & AddRoutes(Route &&value)
Definition: RouteTable.h:155
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:37
RouteTable & WithPropagatingVgws(Aws::Vector< PropagatingVgw > &&value)
Definition: RouteTable.h:250
RouteTable & WithVpcId(const Aws::String &value)
Definition: RouteTable.h:110
JSON (JavaScript Object Notation).