AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateVpnGatewayRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ec2/EC2Request.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/GatewayType.h>
12#include <aws/ec2/model/TagSpecification.h>
13
14#include <utility>
15
16namespace Aws {
17namespace EC2 {
18namespace Model {
19
26 public:
27 AWS_EC2_API CreateVpnGatewayRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateVpnGateway"; }
34
35 AWS_EC2_API Aws::String SerializePayload() const override;
36
37 protected:
38 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
39
40 public:
42
45 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
46 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
47 template <typename AvailabilityZoneT = Aws::String>
48 void SetAvailabilityZone(AvailabilityZoneT&& value) {
49 m_availabilityZoneHasBeenSet = true;
50 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
51 }
52 template <typename AvailabilityZoneT = Aws::String>
53 CreateVpnGatewayRequest& WithAvailabilityZone(AvailabilityZoneT&& value) {
54 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
55 return *this;
56 }
58
60
63 inline GatewayType GetType() const { return m_type; }
64 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
65 inline void SetType(GatewayType value) {
66 m_typeHasBeenSet = true;
67 m_type = value;
68 }
70 SetType(value);
71 return *this;
72 }
74
76
79 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
80 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
81 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
82 void SetTagSpecifications(TagSpecificationsT&& value) {
83 m_tagSpecificationsHasBeenSet = true;
84 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
85 }
86 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
87 CreateVpnGatewayRequest& WithTagSpecifications(TagSpecificationsT&& value) {
88 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
89 return *this;
90 }
91 template <typename TagSpecificationsT = TagSpecification>
92 CreateVpnGatewayRequest& AddTagSpecifications(TagSpecificationsT&& value) {
93 m_tagSpecificationsHasBeenSet = true;
94 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
95 return *this;
96 }
98
100
106 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
107 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
108 inline void SetAmazonSideAsn(long long value) {
109 m_amazonSideAsnHasBeenSet = true;
110 m_amazonSideAsn = value;
111 }
113 SetAmazonSideAsn(value);
114 return *this;
115 }
117
119
125 inline bool GetDryRun() const { return m_dryRun; }
126 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
127 inline void SetDryRun(bool value) {
128 m_dryRunHasBeenSet = true;
129 m_dryRun = value;
130 }
132 SetDryRun(value);
133 return *this;
134 }
136 private:
137 Aws::String m_availabilityZone;
138
140
141 Aws::Vector<TagSpecification> m_tagSpecifications;
142
143 long long m_amazonSideAsn{0};
144
145 bool m_dryRun{false};
146 bool m_availabilityZoneHasBeenSet = false;
147 bool m_typeHasBeenSet = false;
148 bool m_tagSpecificationsHasBeenSet = false;
149 bool m_amazonSideAsnHasBeenSet = false;
150 bool m_dryRunHasBeenSet = false;
151};
152
153} // namespace Model
154} // namespace EC2
155} // 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