AWS SDK for C++  0.12.9
AWS SDK for C++
NatGateway.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>
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  NatGateway();
46  NatGateway(const Aws::Utils::Xml::XmlNode& xmlNode);
47  NatGateway& 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& GetVpcId() const{ return m_vpcId; }
56 
60  inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
61 
65  inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
66 
70  inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
71 
75  inline NatGateway& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
76 
80  inline NatGateway& WithVpcId(Aws::String&& value) { SetVpcId(value); return *this;}
81 
85  inline NatGateway& WithVpcId(const char* value) { SetVpcId(value); return *this;}
86 
90  inline const Aws::String& GetSubnetId() const{ return m_subnetId; }
91 
95  inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
96 
100  inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; }
101 
105  inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); }
106 
110  inline NatGateway& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;}
111 
115  inline NatGateway& WithSubnetId(Aws::String&& value) { SetSubnetId(value); return *this;}
116 
120  inline NatGateway& WithSubnetId(const char* value) { SetSubnetId(value); return *this;}
121 
125  inline const Aws::String& GetNatGatewayId() const{ return m_natGatewayId; }
126 
130  inline void SetNatGatewayId(const Aws::String& value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId = value; }
131 
135  inline void SetNatGatewayId(Aws::String&& value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId = value; }
136 
140  inline void SetNatGatewayId(const char* value) { m_natGatewayIdHasBeenSet = true; m_natGatewayId.assign(value); }
141 
145  inline NatGateway& WithNatGatewayId(const Aws::String& value) { SetNatGatewayId(value); return *this;}
146 
150  inline NatGateway& WithNatGatewayId(Aws::String&& value) { SetNatGatewayId(value); return *this;}
151 
155  inline NatGateway& WithNatGatewayId(const char* value) { SetNatGatewayId(value); return *this;}
156 
160  inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; }
161 
165  inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
166 
170  inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
171 
175  inline NatGateway& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;}
176 
180  inline NatGateway& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(value); return *this;}
181 
185  inline const Aws::Utils::DateTime& GetDeleteTime() const{ return m_deleteTime; }
186 
190  inline void SetDeleteTime(const Aws::Utils::DateTime& value) { m_deleteTimeHasBeenSet = true; m_deleteTime = value; }
191 
195  inline void SetDeleteTime(Aws::Utils::DateTime&& value) { m_deleteTimeHasBeenSet = true; m_deleteTime = value; }
196 
200  inline NatGateway& WithDeleteTime(const Aws::Utils::DateTime& value) { SetDeleteTime(value); return *this;}
201 
205  inline NatGateway& WithDeleteTime(Aws::Utils::DateTime&& value) { SetDeleteTime(value); return *this;}
206 
211  inline const Aws::Vector<NatGatewayAddress>& GetNatGatewayAddresses() const{ return m_natGatewayAddresses; }
212 
217  inline void SetNatGatewayAddresses(const Aws::Vector<NatGatewayAddress>& value) { m_natGatewayAddressesHasBeenSet = true; m_natGatewayAddresses = value; }
218 
223  inline void SetNatGatewayAddresses(Aws::Vector<NatGatewayAddress>&& value) { m_natGatewayAddressesHasBeenSet = true; m_natGatewayAddresses = value; }
224 
229  inline NatGateway& WithNatGatewayAddresses(const Aws::Vector<NatGatewayAddress>& value) { SetNatGatewayAddresses(value); return *this;}
230 
235  inline NatGateway& WithNatGatewayAddresses(Aws::Vector<NatGatewayAddress>&& value) { SetNatGatewayAddresses(value); return *this;}
236 
241  inline NatGateway& AddNatGatewayAddresses(const NatGatewayAddress& value) { m_natGatewayAddressesHasBeenSet = true; m_natGatewayAddresses.push_back(value); return *this; }
242 
247  inline NatGateway& AddNatGatewayAddresses(NatGatewayAddress&& value) { m_natGatewayAddressesHasBeenSet = true; m_natGatewayAddresses.push_back(value); return *this; }
248 
262  inline const NatGatewayState& GetState() const{ return m_state; }
263 
277  inline void SetState(const NatGatewayState& value) { m_stateHasBeenSet = true; m_state = value; }
278 
292  inline void SetState(NatGatewayState&& value) { m_stateHasBeenSet = true; m_state = value; }
293 
307  inline NatGateway& WithState(const NatGatewayState& value) { SetState(value); return *this;}
308 
322  inline NatGateway& WithState(NatGatewayState&& value) { SetState(value); return *this;}
323 
331  inline const Aws::String& GetFailureCode() const{ return m_failureCode; }
332 
340  inline void SetFailureCode(const Aws::String& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; }
341 
349  inline void SetFailureCode(Aws::String&& value) { m_failureCodeHasBeenSet = true; m_failureCode = value; }
350 
358  inline void SetFailureCode(const char* value) { m_failureCodeHasBeenSet = true; m_failureCode.assign(value); }
359 
367  inline NatGateway& WithFailureCode(const Aws::String& value) { SetFailureCode(value); return *this;}
368 
376  inline NatGateway& WithFailureCode(Aws::String&& value) { SetFailureCode(value); return *this;}
377 
385  inline NatGateway& WithFailureCode(const char* value) { SetFailureCode(value); return *this;}
386 
401  inline const Aws::String& GetFailureMessage() const{ return m_failureMessage; }
402 
417  inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; }
418 
433  inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; }
434 
449  inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); }
450 
465  inline NatGateway& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;}
466 
481  inline NatGateway& WithFailureMessage(Aws::String&& value) { SetFailureMessage(value); return *this;}
482 
497  inline NatGateway& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;}
498 
505  inline const ProvisionedBandwidth& GetProvisionedBandwidth() const{ return m_provisionedBandwidth; }
506 
513  inline void SetProvisionedBandwidth(const ProvisionedBandwidth& value) { m_provisionedBandwidthHasBeenSet = true; m_provisionedBandwidth = value; }
514 
521  inline void SetProvisionedBandwidth(ProvisionedBandwidth&& value) { m_provisionedBandwidthHasBeenSet = true; m_provisionedBandwidth = value; }
522 
529  inline NatGateway& WithProvisionedBandwidth(const ProvisionedBandwidth& value) { SetProvisionedBandwidth(value); return *this;}
530 
537  inline NatGateway& WithProvisionedBandwidth(ProvisionedBandwidth&& value) { SetProvisionedBandwidth(value); return *this;}
538 
539  private:
540  Aws::String m_vpcId;
541  bool m_vpcIdHasBeenSet;
542  Aws::String m_subnetId;
543  bool m_subnetIdHasBeenSet;
544  Aws::String m_natGatewayId;
545  bool m_natGatewayIdHasBeenSet;
546  Aws::Utils::DateTime m_createTime;
547  bool m_createTimeHasBeenSet;
548  Aws::Utils::DateTime m_deleteTime;
549  bool m_deleteTimeHasBeenSet;
550  Aws::Vector<NatGatewayAddress> m_natGatewayAddresses;
551  bool m_natGatewayAddressesHasBeenSet;
552  NatGatewayState m_state;
553  bool m_stateHasBeenSet;
554  Aws::String m_failureCode;
555  bool m_failureCodeHasBeenSet;
556  Aws::String m_failureMessage;
557  bool m_failureMessageHasBeenSet;
558  ProvisionedBandwidth m_provisionedBandwidth;
559  bool m_provisionedBandwidthHasBeenSet;
560  };
561 
562 } // namespace Model
563 } // namespace EC2
564 } // namespace Aws
void SetFailureMessage(Aws::String &&value)
Definition: NatGateway.h:433
void SetFailureCode(const char *value)
Definition: NatGateway.h:358
NatGateway & WithFailureCode(const char *value)
Definition: NatGateway.h:385
const Aws::String & GetNatGatewayId() const
Definition: NatGateway.h:125
NatGateway & WithCreateTime(const Aws::Utils::DateTime &value)
Definition: NatGateway.h:175
void SetCreateTime(Aws::Utils::DateTime &&value)
Definition: NatGateway.h:170
void SetVpcId(const Aws::String &value)
Definition: NatGateway.h:60
NatGateway & WithSubnetId(Aws::String &&value)
Definition: NatGateway.h:115
const Aws::String & GetSubnetId() const
Definition: NatGateway.h:90
NatGateway & WithNatGatewayId(Aws::String &&value)
Definition: NatGateway.h:150
NatGateway & WithFailureMessage(Aws::String &&value)
Definition: NatGateway.h:481
NatGateway & WithFailureCode(const Aws::String &value)
Definition: NatGateway.h:367
NatGateway & WithNatGatewayId(const char *value)
Definition: NatGateway.h:155
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetSubnetId(const Aws::String &value)
Definition: NatGateway.h:95
const Aws::Utils::DateTime & GetCreateTime() const
Definition: NatGateway.h:160
void SetSubnetId(Aws::String &&value)
Definition: NatGateway.h:100
void SetState(NatGatewayState &&value)
Definition: NatGateway.h:292
NatGateway & WithNatGatewayId(const Aws::String &value)
Definition: NatGateway.h:145
const Aws::String & GetFailureMessage() const
Definition: NatGateway.h:401
NatGateway & WithDeleteTime(const Aws::Utils::DateTime &value)
Definition: NatGateway.h:200
NatGateway & WithState(NatGatewayState &&value)
Definition: NatGateway.h:322
void SetFailureCode(const Aws::String &value)
Definition: NatGateway.h:340
void SetFailureCode(Aws::String &&value)
Definition: NatGateway.h:349
NatGateway & WithFailureMessage(const Aws::String &value)
Definition: NatGateway.h:465
void SetNatGatewayAddresses(const Aws::Vector< NatGatewayAddress > &value)
Definition: NatGateway.h:217
NatGateway & WithProvisionedBandwidth(const ProvisionedBandwidth &value)
Definition: NatGateway.h:529
NatGateway & WithCreateTime(Aws::Utils::DateTime &&value)
Definition: NatGateway.h:180
void SetNatGatewayAddresses(Aws::Vector< NatGatewayAddress > &&value)
Definition: NatGateway.h:223
NatGateway & WithState(const NatGatewayState &value)
Definition: NatGateway.h:307
const Aws::String & GetFailureCode() const
Definition: NatGateway.h:331
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetFailureMessage(const Aws::String &value)
Definition: NatGateway.h:417
void SetState(const NatGatewayState &value)
Definition: NatGateway.h:277
NatGateway & WithVpcId(Aws::String &&value)
Definition: NatGateway.h:80
void SetSubnetId(const char *value)
Definition: NatGateway.h:105
NatGateway & WithNatGatewayAddresses(Aws::Vector< NatGatewayAddress > &&value)
Definition: NatGateway.h:235
NatGateway & WithVpcId(const Aws::String &value)
Definition: NatGateway.h:75
void SetFailureMessage(const char *value)
Definition: NatGateway.h:449
NatGateway & WithVpcId(const char *value)
Definition: NatGateway.h:85
void SetVpcId(Aws::String &&value)
Definition: NatGateway.h:65
void SetNatGatewayId(const Aws::String &value)
Definition: NatGateway.h:130
void SetDeleteTime(const Aws::Utils::DateTime &value)
Definition: NatGateway.h:190
const Aws::Utils::DateTime & GetDeleteTime() const
Definition: NatGateway.h:185
const Aws::String & GetVpcId() const
Definition: NatGateway.h:55
NatGateway & AddNatGatewayAddresses(const NatGatewayAddress &value)
Definition: NatGateway.h:241
void SetDeleteTime(Aws::Utils::DateTime &&value)
Definition: NatGateway.h:195
void SetProvisionedBandwidth(ProvisionedBandwidth &&value)
Definition: NatGateway.h:521
NatGateway & WithDeleteTime(Aws::Utils::DateTime &&value)
Definition: NatGateway.h:205
NatGateway & AddNatGatewayAddresses(NatGatewayAddress &&value)
Definition: NatGateway.h:247
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
NatGateway & WithSubnetId(const Aws::String &value)
Definition: NatGateway.h:110
NatGateway & WithFailureMessage(const char *value)
Definition: NatGateway.h:497
NatGateway & WithSubnetId(const char *value)
Definition: NatGateway.h:120
void SetVpcId(const char *value)
Definition: NatGateway.h:70
void SetCreateTime(const Aws::Utils::DateTime &value)
Definition: NatGateway.h:165
const ProvisionedBandwidth & GetProvisionedBandwidth() const
Definition: NatGateway.h:505
const Aws::Vector< NatGatewayAddress > & GetNatGatewayAddresses() const
Definition: NatGateway.h:211
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
const NatGatewayState & GetState() const
Definition: NatGateway.h:262
void SetNatGatewayId(Aws::String &&value)
Definition: NatGateway.h:135
NatGateway & WithNatGatewayAddresses(const Aws::Vector< NatGatewayAddress > &value)
Definition: NatGateway.h:229
void SetNatGatewayId(const char *value)
Definition: NatGateway.h:140
NatGateway & WithProvisionedBandwidth(ProvisionedBandwidth &&value)
Definition: NatGateway.h:537
void SetProvisionedBandwidth(const ProvisionedBandwidth &value)
Definition: NatGateway.h:513
JSON (JavaScript Object Notation).
NatGateway & WithFailureCode(Aws::String &&value)
Definition: NatGateway.h:376