AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
TransitGatewayMeteringPolicyRule.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/TransitGatewayAttachmentResourceType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Xml {
17class XmlNode;
18} // namespace Xml
19} // namespace Utils
20namespace EC2 {
21namespace Model {
22
30 public:
31 AWS_EC2_API TransitGatewayMeteringPolicyRule() = default;
34
35 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline const Aws::String& GetSourceTransitGatewayAttachmentId() const { return m_sourceTransitGatewayAttachmentId; }
43 inline bool SourceTransitGatewayAttachmentIdHasBeenSet() const { return m_sourceTransitGatewayAttachmentIdHasBeenSet; }
44 template <typename SourceTransitGatewayAttachmentIdT = Aws::String>
45 void SetSourceTransitGatewayAttachmentId(SourceTransitGatewayAttachmentIdT&& value) {
46 m_sourceTransitGatewayAttachmentIdHasBeenSet = true;
47 m_sourceTransitGatewayAttachmentId = std::forward<SourceTransitGatewayAttachmentIdT>(value);
48 }
49 template <typename SourceTransitGatewayAttachmentIdT = Aws::String>
50 TransitGatewayMeteringPolicyRule& WithSourceTransitGatewayAttachmentId(SourceTransitGatewayAttachmentIdT&& value) {
51 SetSourceTransitGatewayAttachmentId(std::forward<SourceTransitGatewayAttachmentIdT>(value));
52 return *this;
53 }
55
57
62 inline TransitGatewayAttachmentResourceType GetSourceTransitGatewayAttachmentType() const { return m_sourceTransitGatewayAttachmentType; }
63 inline bool SourceTransitGatewayAttachmentTypeHasBeenSet() const { return m_sourceTransitGatewayAttachmentTypeHasBeenSet; }
65 m_sourceTransitGatewayAttachmentTypeHasBeenSet = true;
66 m_sourceTransitGatewayAttachmentType = value;
67 }
70 return *this;
71 }
73
75
78 inline const Aws::String& GetSourceCidrBlock() const { return m_sourceCidrBlock; }
79 inline bool SourceCidrBlockHasBeenSet() const { return m_sourceCidrBlockHasBeenSet; }
80 template <typename SourceCidrBlockT = Aws::String>
81 void SetSourceCidrBlock(SourceCidrBlockT&& value) {
82 m_sourceCidrBlockHasBeenSet = true;
83 m_sourceCidrBlock = std::forward<SourceCidrBlockT>(value);
84 }
85 template <typename SourceCidrBlockT = Aws::String>
87 SetSourceCidrBlock(std::forward<SourceCidrBlockT>(value));
88 return *this;
89 }
91
93
96 inline const Aws::String& GetSourcePortRange() const { return m_sourcePortRange; }
97 inline bool SourcePortRangeHasBeenSet() const { return m_sourcePortRangeHasBeenSet; }
98 template <typename SourcePortRangeT = Aws::String>
99 void SetSourcePortRange(SourcePortRangeT&& value) {
100 m_sourcePortRangeHasBeenSet = true;
101 m_sourcePortRange = std::forward<SourcePortRangeT>(value);
102 }
103 template <typename SourcePortRangeT = Aws::String>
105 SetSourcePortRange(std::forward<SourcePortRangeT>(value));
106 return *this;
107 }
109
111
114 inline const Aws::String& GetDestinationTransitGatewayAttachmentId() const { return m_destinationTransitGatewayAttachmentId; }
115 inline bool DestinationTransitGatewayAttachmentIdHasBeenSet() const { return m_destinationTransitGatewayAttachmentIdHasBeenSet; }
116 template <typename DestinationTransitGatewayAttachmentIdT = Aws::String>
117 void SetDestinationTransitGatewayAttachmentId(DestinationTransitGatewayAttachmentIdT&& value) {
118 m_destinationTransitGatewayAttachmentIdHasBeenSet = true;
119 m_destinationTransitGatewayAttachmentId = std::forward<DestinationTransitGatewayAttachmentIdT>(value);
120 }
121 template <typename DestinationTransitGatewayAttachmentIdT = Aws::String>
122 TransitGatewayMeteringPolicyRule& WithDestinationTransitGatewayAttachmentId(DestinationTransitGatewayAttachmentIdT&& value) {
123 SetDestinationTransitGatewayAttachmentId(std::forward<DestinationTransitGatewayAttachmentIdT>(value));
124 return *this;
125 }
127
129
135 return m_destinationTransitGatewayAttachmentType;
136 }
137 inline bool DestinationTransitGatewayAttachmentTypeHasBeenSet() const { return m_destinationTransitGatewayAttachmentTypeHasBeenSet; }
139 m_destinationTransitGatewayAttachmentTypeHasBeenSet = true;
140 m_destinationTransitGatewayAttachmentType = value;
141 }
144 return *this;
145 }
147
149
152 inline const Aws::String& GetDestinationCidrBlock() const { return m_destinationCidrBlock; }
153 inline bool DestinationCidrBlockHasBeenSet() const { return m_destinationCidrBlockHasBeenSet; }
154 template <typename DestinationCidrBlockT = Aws::String>
155 void SetDestinationCidrBlock(DestinationCidrBlockT&& value) {
156 m_destinationCidrBlockHasBeenSet = true;
157 m_destinationCidrBlock = std::forward<DestinationCidrBlockT>(value);
158 }
159 template <typename DestinationCidrBlockT = Aws::String>
161 SetDestinationCidrBlock(std::forward<DestinationCidrBlockT>(value));
162 return *this;
163 }
165
167
170 inline const Aws::String& GetDestinationPortRange() const { return m_destinationPortRange; }
171 inline bool DestinationPortRangeHasBeenSet() const { return m_destinationPortRangeHasBeenSet; }
172 template <typename DestinationPortRangeT = Aws::String>
173 void SetDestinationPortRange(DestinationPortRangeT&& value) {
174 m_destinationPortRangeHasBeenSet = true;
175 m_destinationPortRange = std::forward<DestinationPortRangeT>(value);
176 }
177 template <typename DestinationPortRangeT = Aws::String>
179 SetDestinationPortRange(std::forward<DestinationPortRangeT>(value));
180 return *this;
181 }
183
185
188 inline const Aws::String& GetProtocol() const { return m_protocol; }
189 inline bool ProtocolHasBeenSet() const { return m_protocolHasBeenSet; }
190 template <typename ProtocolT = Aws::String>
191 void SetProtocol(ProtocolT&& value) {
192 m_protocolHasBeenSet = true;
193 m_protocol = std::forward<ProtocolT>(value);
194 }
195 template <typename ProtocolT = Aws::String>
197 SetProtocol(std::forward<ProtocolT>(value));
198 return *this;
199 }
201 private:
202 Aws::String m_sourceTransitGatewayAttachmentId;
203
205
206 Aws::String m_sourceCidrBlock;
207
208 Aws::String m_sourcePortRange;
209
210 Aws::String m_destinationTransitGatewayAttachmentId;
211
213
214 Aws::String m_destinationCidrBlock;
215
216 Aws::String m_destinationPortRange;
217
218 Aws::String m_protocol;
219 bool m_sourceTransitGatewayAttachmentIdHasBeenSet = false;
220 bool m_sourceTransitGatewayAttachmentTypeHasBeenSet = false;
221 bool m_sourceCidrBlockHasBeenSet = false;
222 bool m_sourcePortRangeHasBeenSet = false;
223 bool m_destinationTransitGatewayAttachmentIdHasBeenSet = false;
224 bool m_destinationTransitGatewayAttachmentTypeHasBeenSet = false;
225 bool m_destinationCidrBlockHasBeenSet = false;
226 bool m_destinationPortRangeHasBeenSet = false;
227 bool m_protocolHasBeenSet = false;
228};
229
230} // namespace Model
231} // namespace EC2
232} // namespace Aws
TransitGatewayMeteringPolicyRule & WithSourcePortRange(SourcePortRangeT &&value)
TransitGatewayMeteringPolicyRule & WithDestinationTransitGatewayAttachmentId(DestinationTransitGatewayAttachmentIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetSourceTransitGatewayAttachmentId(SourceTransitGatewayAttachmentIdT &&value)
TransitGatewayAttachmentResourceType GetSourceTransitGatewayAttachmentType() const
TransitGatewayMeteringPolicyRule & WithSourceTransitGatewayAttachmentType(TransitGatewayAttachmentResourceType value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
TransitGatewayMeteringPolicyRule & WithDestinationCidrBlock(DestinationCidrBlockT &&value)
void SetDestinationTransitGatewayAttachmentId(DestinationTransitGatewayAttachmentIdT &&value)
void SetSourceTransitGatewayAttachmentType(TransitGatewayAttachmentResourceType value)
TransitGatewayMeteringPolicyRule & WithSourceTransitGatewayAttachmentId(SourceTransitGatewayAttachmentIdT &&value)
AWS_EC2_API TransitGatewayMeteringPolicyRule & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetDestinationTransitGatewayAttachmentType(TransitGatewayAttachmentResourceType value)
TransitGatewayMeteringPolicyRule & WithProtocol(ProtocolT &&value)
TransitGatewayAttachmentResourceType GetDestinationTransitGatewayAttachmentType() const
TransitGatewayMeteringPolicyRule & WithDestinationTransitGatewayAttachmentType(TransitGatewayAttachmentResourceType value)
AWS_EC2_API TransitGatewayMeteringPolicyRule(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayMeteringPolicyRule & WithDestinationPortRange(DestinationPortRangeT &&value)
TransitGatewayMeteringPolicyRule & WithSourceCidrBlock(SourceCidrBlockT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream