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/InternetGatewayExclusionMode.h>
13#include <aws/ec2/model/Tag.h>
14#include <aws/ec2/model/VpcBlockPublicAccessExclusionState.h>
54 template <
typename ExclusionIdT = Aws::String>
56 m_exclusionIdHasBeenSet =
true;
57 m_exclusionId = std::forward<ExclusionIdT>(value);
59 template <
typename ExclusionIdT = Aws::String>
78 m_internetGatewayExclusionModeHasBeenSet =
true;
79 m_internetGatewayExclusionMode = value;
93 template <
typename ResourceArnT = Aws::String>
95 m_resourceArnHasBeenSet =
true;
96 m_resourceArn = std::forward<ResourceArnT>(value);
98 template <
typename ResourceArnT = Aws::String>
112 m_stateHasBeenSet =
true;
127 template <
typename ReasonT = Aws::String>
129 m_reasonHasBeenSet =
true;
130 m_reason = std::forward<ReasonT>(value);
132 template <
typename ReasonT = Aws::String>
145 template <
typename CreationTimestampT = Aws::Utils::DateTime>
147 m_creationTimestampHasBeenSet =
true;
148 m_creationTimestamp = std::forward<CreationTimestampT>(value);
150 template <
typename CreationTimestampT = Aws::Utils::DateTime>
163 template <
typename LastUpdateTimestampT = Aws::Utils::DateTime>
165 m_lastUpdateTimestampHasBeenSet =
true;
166 m_lastUpdateTimestamp = std::forward<LastUpdateTimestampT>(value);
168 template <
typename LastUpdateTimestampT = Aws::Utils::DateTime>
181 template <
typename DeletionTimestampT = Aws::Utils::DateTime>
183 m_deletionTimestampHasBeenSet =
true;
184 m_deletionTimestamp = std::forward<DeletionTimestampT>(value);
186 template <
typename DeletionTimestampT = Aws::Utils::DateTime>
204 template <
typename TagsT = Aws::Vector<Tag>>
206 m_tagsHasBeenSet =
true;
207 m_tags = std::forward<TagsT>(value);
209 template <
typename TagsT = Aws::Vector<Tag>>
211 SetTags(std::forward<TagsT>(value));
214 template <
typename TagsT = Tag>
216 m_tagsHasBeenSet =
true;
217 m_tags.emplace_back(std::forward<TagsT>(value));
239 bool m_exclusionIdHasBeenSet =
false;
240 bool m_internetGatewayExclusionModeHasBeenSet =
false;
241 bool m_resourceArnHasBeenSet =
false;
242 bool m_stateHasBeenSet =
false;
243 bool m_reasonHasBeenSet =
false;
244 bool m_creationTimestampHasBeenSet =
false;
245 bool m_lastUpdateTimestampHasBeenSet =
false;
246 bool m_deletionTimestampHasBeenSet =
false;
247 bool m_tagsHasBeenSet =
false;
bool CreationTimestampHasBeenSet() const
VpcBlockPublicAccessExclusion & WithState(VpcBlockPublicAccessExclusionState value)
bool InternetGatewayExclusionModeHasBeenSet() const
void SetReason(ReasonT &&value)
VpcBlockPublicAccessExclusion & AddTags(TagsT &&value)
const Aws::String & GetReason() const
void SetResourceArn(ResourceArnT &&value)
void SetState(VpcBlockPublicAccessExclusionState value)
void SetExclusionId(ExclusionIdT &&value)
void SetCreationTimestamp(CreationTimestampT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API VpcBlockPublicAccessExclusion & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool DeletionTimestampHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetDeletionTimestamp(DeletionTimestampT &&value)
VpcBlockPublicAccessExclusion & WithDeletionTimestamp(DeletionTimestampT &&value)
VpcBlockPublicAccessExclusionState GetState() const
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetExclusionId() const
VpcBlockPublicAccessExclusion & WithCreationTimestamp(CreationTimestampT &&value)
bool ExclusionIdHasBeenSet() const
AWS_EC2_API VpcBlockPublicAccessExclusion(const Aws::Utils::Xml::XmlNode &xmlNode)
bool TagsHasBeenSet() const
VpcBlockPublicAccessExclusion & WithLastUpdateTimestamp(LastUpdateTimestampT &&value)
void SetTags(TagsT &&value)
void SetInternetGatewayExclusionMode(InternetGatewayExclusionMode value)
const Aws::Utils::DateTime & GetDeletionTimestamp() const
InternetGatewayExclusionMode GetInternetGatewayExclusionMode() const
bool LastUpdateTimestampHasBeenSet() const
void SetLastUpdateTimestamp(LastUpdateTimestampT &&value)
const Aws::String & GetResourceArn() const
VpcBlockPublicAccessExclusion & WithTags(TagsT &&value)
const Aws::Utils::DateTime & GetCreationTimestamp() const
bool ReasonHasBeenSet() const
const Aws::Utils::DateTime & GetLastUpdateTimestamp() const
bool ResourceArnHasBeenSet() const
bool StateHasBeenSet() const
VpcBlockPublicAccessExclusion & WithInternetGatewayExclusionMode(InternetGatewayExclusionMode value)
AWS_EC2_API VpcBlockPublicAccessExclusion()=default
VpcBlockPublicAccessExclusion & WithReason(ReasonT &&value)
VpcBlockPublicAccessExclusion & WithExclusionId(ExclusionIdT &&value)
VpcBlockPublicAccessExclusion & WithResourceArn(ResourceArnT &&value)
VpcBlockPublicAccessExclusionState
InternetGatewayExclusionMode
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