AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
TransitGatewayMeteringPolicyEntry.h
1
6#pragma once
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>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2 {
24namespace Model {
25
33 public:
34 AWS_EC2_API TransitGatewayMeteringPolicyEntry() = default;
37
38 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
40
42
45 inline const Aws::String& GetPolicyRuleNumber() const { return m_policyRuleNumber; }
46 inline bool PolicyRuleNumberHasBeenSet() const { return m_policyRuleNumberHasBeenSet; }
47 template <typename PolicyRuleNumberT = Aws::String>
48 void SetPolicyRuleNumber(PolicyRuleNumberT&& value) {
49 m_policyRuleNumberHasBeenSet = true;
50 m_policyRuleNumber = std::forward<PolicyRuleNumberT>(value);
51 }
52 template <typename PolicyRuleNumberT = Aws::String>
54 SetPolicyRuleNumber(std::forward<PolicyRuleNumberT>(value));
55 return *this;
56 }
58
60
64 inline TransitGatewayMeteringPayerType GetMeteredAccount() const { return m_meteredAccount; }
65 inline bool MeteredAccountHasBeenSet() const { return m_meteredAccountHasBeenSet; }
67 m_meteredAccountHasBeenSet = true;
68 m_meteredAccount = value;
69 }
71 SetMeteredAccount(value);
72 return *this;
73 }
75
77
80 inline TransitGatewayMeteringPolicyEntryState GetState() const { return m_state; }
81 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
83 m_stateHasBeenSet = true;
84 m_state = value;
85 }
87 SetState(value);
88 return *this;
89 }
91
93
96 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
97 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
98 template <typename UpdatedAtT = Aws::Utils::DateTime>
99 void SetUpdatedAt(UpdatedAtT&& value) {
100 m_updatedAtHasBeenSet = true;
101 m_updatedAt = std::forward<UpdatedAtT>(value);
102 }
103 template <typename UpdatedAtT = Aws::Utils::DateTime>
105 SetUpdatedAt(std::forward<UpdatedAtT>(value));
106 return *this;
107 }
109
111
115 inline const Aws::Utils::DateTime& GetUpdateEffectiveAt() const { return m_updateEffectiveAt; }
116 inline bool UpdateEffectiveAtHasBeenSet() const { return m_updateEffectiveAtHasBeenSet; }
117 template <typename UpdateEffectiveAtT = Aws::Utils::DateTime>
118 void SetUpdateEffectiveAt(UpdateEffectiveAtT&& value) {
119 m_updateEffectiveAtHasBeenSet = true;
120 m_updateEffectiveAt = std::forward<UpdateEffectiveAtT>(value);
121 }
122 template <typename UpdateEffectiveAtT = Aws::Utils::DateTime>
124 SetUpdateEffectiveAt(std::forward<UpdateEffectiveAtT>(value));
125 return *this;
126 }
128
130
133 inline const TransitGatewayMeteringPolicyRule& GetMeteringPolicyRule() const { return m_meteringPolicyRule; }
134 inline bool MeteringPolicyRuleHasBeenSet() const { return m_meteringPolicyRuleHasBeenSet; }
135 template <typename MeteringPolicyRuleT = TransitGatewayMeteringPolicyRule>
136 void SetMeteringPolicyRule(MeteringPolicyRuleT&& value) {
137 m_meteringPolicyRuleHasBeenSet = true;
138 m_meteringPolicyRule = std::forward<MeteringPolicyRuleT>(value);
139 }
140 template <typename MeteringPolicyRuleT = TransitGatewayMeteringPolicyRule>
142 SetMeteringPolicyRule(std::forward<MeteringPolicyRuleT>(value));
143 return *this;
144 }
146 private:
147 Aws::String m_policyRuleNumber;
148
150
152
153 Aws::Utils::DateTime m_updatedAt{};
154
155 Aws::Utils::DateTime m_updateEffectiveAt{};
156
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;
164};
165
166} // namespace Model
167} // namespace EC2
168} // namespace Aws
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
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream