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/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/TransitGatewayMeteringPayerType.h>
12#include <aws/ec2/model/TransitGatewayMeteringPolicyEntryState.h>
13#include <aws/ec2/model/TransitGatewayMeteringPolicyRule.h>
47 template <
typename PolicyRuleNumberT = Aws::String>
49 m_policyRuleNumberHasBeenSet =
true;
50 m_policyRuleNumber = std::forward<PolicyRuleNumberT>(value);
52 template <
typename PolicyRuleNumberT = Aws::String>
67 m_meteredAccountHasBeenSet =
true;
68 m_meteredAccount = value;
83 m_stateHasBeenSet =
true;
98 template <
typename UpdatedAtT = Aws::Utils::DateTime>
100 m_updatedAtHasBeenSet =
true;
101 m_updatedAt = std::forward<UpdatedAtT>(value);
103 template <
typename UpdatedAtT = Aws::Utils::DateTime>
117 template <
typename UpdateEffectiveAtT = Aws::Utils::DateTime>
119 m_updateEffectiveAtHasBeenSet =
true;
120 m_updateEffectiveAt = std::forward<UpdateEffectiveAtT>(value);
122 template <
typename UpdateEffectiveAtT = Aws::Utils::DateTime>
135 template <
typename MeteringPolicyRuleT = TransitGatewayMeteringPolicyRule>
137 m_meteringPolicyRuleHasBeenSet =
true;
138 m_meteringPolicyRule = std::forward<MeteringPolicyRuleT>(value);
140 template <
typename MeteringPolicyRuleT = TransitGatewayMeteringPolicyRule>
157 TransitGatewayMeteringPolicyRule m_meteringPolicyRule;
158 bool m_policyRuleNumberHasBeenSet =
false;
159 bool m_meteredAccountHasBeenSet =
false;
160 bool m_stateHasBeenSet =
false;
161 bool m_updatedAtHasBeenSet =
false;
162 bool m_updateEffectiveAtHasBeenSet =
false;
163 bool m_meteringPolicyRuleHasBeenSet =
false;
const TransitGatewayMeteringPolicyRule & GetMeteringPolicyRule() const
const Aws::Utils::DateTime & GetUpdateEffectiveAt() const
void SetState(TransitGatewayMeteringPolicyEntryState value)
void SetMeteredAccount(TransitGatewayMeteringPayerType value)
TransitGatewayMeteringPolicyEntry & WithMeteredAccount(TransitGatewayMeteringPayerType value)
TransitGatewayMeteringPolicyEntry & WithState(TransitGatewayMeteringPolicyEntryState value)
bool UpdateEffectiveAtHasBeenSet() const
TransitGatewayMeteringPayerType GetMeteredAccount() const
AWS_EC2_API TransitGatewayMeteringPolicyEntry(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
TransitGatewayMeteringPolicyEntry & WithMeteringPolicyRule(MeteringPolicyRuleT &&value)
TransitGatewayMeteringPolicyEntry & WithUpdateEffectiveAt(UpdateEffectiveAtT &&value)
bool PolicyRuleNumberHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
TransitGatewayMeteringPolicyEntryState GetState() const
void SetMeteringPolicyRule(MeteringPolicyRuleT &&value)
TransitGatewayMeteringPolicyEntry & WithUpdatedAt(UpdatedAtT &&value)
void SetPolicyRuleNumber(PolicyRuleNumberT &&value)
bool MeteringPolicyRuleHasBeenSet() const
void SetUpdatedAt(UpdatedAtT &&value)
bool UpdatedAtHasBeenSet() const
void SetUpdateEffectiveAt(UpdateEffectiveAtT &&value)
bool StateHasBeenSet() const
const Aws::Utils::DateTime & GetUpdatedAt() const
bool MeteredAccountHasBeenSet() const
AWS_EC2_API TransitGatewayMeteringPolicyEntry & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API TransitGatewayMeteringPolicyEntry()=default
TransitGatewayMeteringPolicyEntry & WithPolicyRuleNumber(PolicyRuleNumberT &&value)
const Aws::String & GetPolicyRuleNumber() const
TransitGatewayMeteringPayerType
TransitGatewayMeteringPolicyEntryState
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream