7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/Tag.h>
13#include <aws/ec2/model/TransitGatewayMeteringPolicyState.h>
46 template <
typename TransitGatewayMeteringPolicyIdT = Aws::String>
48 m_transitGatewayMeteringPolicyIdHasBeenSet =
true;
49 m_transitGatewayMeteringPolicyId = std::forward<TransitGatewayMeteringPolicyIdT>(value);
51 template <
typename TransitGatewayMeteringPolicyIdT = Aws::String>
64 template <
typename TransitGatewayIdT = Aws::String>
66 m_transitGatewayIdHasBeenSet =
true;
67 m_transitGatewayId = std::forward<TransitGatewayIdT>(value);
69 template <
typename TransitGatewayIdT = Aws::String>
82 template <
typename M
iddleboxAttachmentIdsT = Aws::Vector<Aws::String>>
84 m_middleboxAttachmentIdsHasBeenSet =
true;
85 m_middleboxAttachmentIds = std::forward<MiddleboxAttachmentIdsT>(value);
87 template <
typename M
iddleboxAttachmentIdsT = Aws::Vector<Aws::String>>
92 template <
typename M
iddleboxAttachmentIdsT = Aws::String>
94 m_middleboxAttachmentIdsHasBeenSet =
true;
95 m_middleboxAttachmentIds.emplace_back(std::forward<MiddleboxAttachmentIdsT>(value));
107 m_stateHasBeenSet =
true;
122 template <
typename UpdateEffectiveAtT = Aws::Utils::DateTime>
124 m_updateEffectiveAtHasBeenSet =
true;
125 m_updateEffectiveAt = std::forward<UpdateEffectiveAtT>(value);
127 template <
typename UpdateEffectiveAtT = Aws::Utils::DateTime>
140 template <
typename TagsT = Aws::Vector<Tag>>
142 m_tagsHasBeenSet =
true;
143 m_tags = std::forward<TagsT>(value);
145 template <
typename TagsT = Aws::Vector<Tag>>
147 SetTags(std::forward<TagsT>(value));
150 template <
typename TagsT = Tag>
152 m_tagsHasBeenSet =
true;
153 m_tags.emplace_back(std::forward<TagsT>(value));
169 bool m_transitGatewayMeteringPolicyIdHasBeenSet =
false;
170 bool m_transitGatewayIdHasBeenSet =
false;
171 bool m_middleboxAttachmentIdsHasBeenSet =
false;
172 bool m_stateHasBeenSet =
false;
173 bool m_updateEffectiveAtHasBeenSet =
false;
174 bool m_tagsHasBeenSet =
false;
bool UpdateEffectiveAtHasBeenSet() const
TransitGatewayMeteringPolicyState GetState() const
TransitGatewayMeteringPolicy & WithMiddleboxAttachmentIds(MiddleboxAttachmentIdsT &&value)
void SetTransitGatewayMeteringPolicyId(TransitGatewayMeteringPolicyIdT &&value)
TransitGatewayMeteringPolicy & AddMiddleboxAttachmentIds(MiddleboxAttachmentIdsT &&value)
bool StateHasBeenSet() const
const Aws::String & GetTransitGatewayMeteringPolicyId() const
bool TransitGatewayMeteringPolicyIdHasBeenSet() const
TransitGatewayMeteringPolicy & WithTransitGatewayId(TransitGatewayIdT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_EC2_API TransitGatewayMeteringPolicy & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
TransitGatewayMeteringPolicy & WithTags(TagsT &&value)
const Aws::Vector< Aws::String > & GetMiddleboxAttachmentIds() const
void SetState(TransitGatewayMeteringPolicyState value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool TransitGatewayIdHasBeenSet() const
TransitGatewayMeteringPolicy & WithTransitGatewayMeteringPolicyId(TransitGatewayMeteringPolicyIdT &&value)
TransitGatewayMeteringPolicy & WithState(TransitGatewayMeteringPolicyState value)
TransitGatewayMeteringPolicy & AddTags(TagsT &&value)
void SetMiddleboxAttachmentIds(MiddleboxAttachmentIdsT &&value)
void SetUpdateEffectiveAt(UpdateEffectiveAtT &&value)
const Aws::Utils::DateTime & GetUpdateEffectiveAt() const
TransitGatewayMeteringPolicy & WithUpdateEffectiveAt(UpdateEffectiveAtT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetTags(TagsT &&value)
bool TagsHasBeenSet() const
void SetTransitGatewayId(TransitGatewayIdT &&value)
bool MiddleboxAttachmentIdsHasBeenSet() const
AWS_EC2_API TransitGatewayMeteringPolicy()=default
AWS_EC2_API TransitGatewayMeteringPolicy(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetTransitGatewayId() const
TransitGatewayMeteringPolicyState
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream