AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateVpnGatewayRequest.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/GatewayType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/TagSpecification.h>
13#include <utility>
14
15namespace Aws
16{
17namespace EC2
18{
19namespace Model
20{
21
28 {
29 public:
30 AWS_EC2_API CreateVpnGatewayRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateVpnGateway"; }
37
38 AWS_EC2_API Aws::String SerializePayload() const override;
39
40 protected:
41 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42
43 public:
44
46
49 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
50 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
51 template<typename AvailabilityZoneT = Aws::String>
52 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
53 template<typename AvailabilityZoneT = Aws::String>
54 CreateVpnGatewayRequest& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
56
58
61 inline GatewayType GetType() const { return m_type; }
62 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
63 inline void SetType(GatewayType value) { m_typeHasBeenSet = true; m_type = value; }
64 inline CreateVpnGatewayRequest& WithType(GatewayType value) { SetType(value); return *this;}
66
68
71 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
72 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
73 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
74 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
75 template<typename TagSpecificationsT = Aws::Vector<TagSpecification>>
76 CreateVpnGatewayRequest& WithTagSpecifications(TagSpecificationsT&& value) { SetTagSpecifications(std::forward<TagSpecificationsT>(value)); return *this;}
77 template<typename TagSpecificationsT = TagSpecification>
78 CreateVpnGatewayRequest& AddTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value)); return *this; }
80
82
88 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
89 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
90 inline void SetAmazonSideAsn(long long value) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; }
91 inline CreateVpnGatewayRequest& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;}
93
95
101 inline bool GetDryRun() const { return m_dryRun; }
102 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
103 inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; }
104 inline CreateVpnGatewayRequest& WithDryRun(bool value) { SetDryRun(value); return *this;}
106 private:
107
108 Aws::String m_availabilityZone;
109 bool m_availabilityZoneHasBeenSet = false;
110
112 bool m_typeHasBeenSet = false;
113
114 Aws::Vector<TagSpecification> m_tagSpecifications;
115 bool m_tagSpecificationsHasBeenSet = false;
116
117 long long m_amazonSideAsn{0};
118 bool m_amazonSideAsnHasBeenSet = false;
119
120 bool m_dryRun{false};
121 bool m_dryRunHasBeenSet = false;
122 };
123
124} // namespace Model
125} // namespace EC2
126} // namespace Aws
AWS_EC2_API Aws::String SerializePayload() const override
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateVpnGatewayRequest & AddTagSpecifications(TagSpecificationsT &&value)
CreateVpnGatewayRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
CreateVpnGatewayRequest & WithAmazonSideAsn(long long value)
virtual const char * GetServiceRequestName() const override
void SetAvailabilityZone(AvailabilityZoneT &&value)
CreateVpnGatewayRequest & WithType(GatewayType value)
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateVpnGatewayRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API CreateVpnGatewayRequest()=default
CreateVpnGatewayRequest & WithDryRun(bool value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector