7#include <aws/ec2/EC2_EXPORTS.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/core/utils/DateTime.h>
12#include <aws/ec2/model/ImageUsageResourceType.h>
13#include <aws/ec2/model/Tag.h>
53 template<
typename ImageIdT = Aws::String>
54 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet =
true; m_imageId = std::forward<ImageIdT>(value); }
55 template<
typename ImageIdT = Aws::String>
65 template<
typename ReportIdT = Aws::String>
66 void SetReportId(ReportIdT&& value) { m_reportIdHasBeenSet =
true; m_reportId = std::forward<ReportIdT>(value); }
67 template<
typename ReportIdT = Aws::String>
77 template<
typename ResourceTypesT = Aws::Vector<ImageUsageResourceType>>
78 void SetResourceTypes(ResourceTypesT&& value) { m_resourceTypesHasBeenSet =
true; m_resourceTypes = std::forward<ResourceTypesT>(value); }
79 template<
typename ResourceTypesT = Aws::Vector<ImageUsageResourceType>>
81 template<
typename ResourceTypesT = ImageUsageResourceType>
82 ImageUsageReport&
AddResourceTypes(ResourceTypesT&& value) { m_resourceTypesHasBeenSet =
true; m_resourceTypes.emplace_back(std::forward<ResourceTypesT>(value));
return *
this; }
92 template<
typename AccountIdsT = Aws::Vector<Aws::String>>
93 void SetAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet =
true; m_accountIds = std::forward<AccountIdsT>(value); }
94 template<
typename AccountIdsT = Aws::Vector<Aws::String>>
96 template<
typename AccountIdsT = Aws::String>
97 ImageUsageReport&
AddAccountIds(AccountIdsT&& value) { m_accountIdsHasBeenSet =
true; m_accountIds.emplace_back(std::forward<AccountIdsT>(value));
return *
this; }
110 template<
typename StateT = Aws::String>
111 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
112 template<
typename StateT = Aws::String>
123 template<
typename StateReasonT = Aws::String>
124 void SetStateReason(StateReasonT&& value) { m_stateReasonHasBeenSet =
true; m_stateReason = std::forward<StateReasonT>(value); }
125 template<
typename StateReasonT = Aws::String>
135 template<
typename CreationTimeT = Aws::Utils::DateTime>
136 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
137 template<
typename CreationTimeT = Aws::Utils::DateTime>
148 template<
typename ExpirationTimeT = Aws::Utils::DateTime>
149 void SetExpirationTime(ExpirationTimeT&& value) { m_expirationTimeHasBeenSet =
true; m_expirationTime = std::forward<ExpirationTimeT>(value); }
150 template<
typename ExpirationTimeT = Aws::Utils::DateTime>
160 template<
typename TagsT = Aws::Vector<Tag>>
161 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
162 template<
typename TagsT = Aws::Vector<Tag>>
164 template<
typename TagsT = Tag>
165 ImageUsageReport&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
170 bool m_imageIdHasBeenSet =
false;
173 bool m_reportIdHasBeenSet =
false;
176 bool m_resourceTypesHasBeenSet =
false;
179 bool m_accountIdsHasBeenSet =
false;
182 bool m_stateHasBeenSet =
false;
185 bool m_stateReasonHasBeenSet =
false;
188 bool m_creationTimeHasBeenSet =
false;
191 bool m_expirationTimeHasBeenSet =
false;
194 bool m_tagsHasBeenSet =
false;
bool AccountIdsHasBeenSet() const
bool StateReasonHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Utils::DateTime & GetExpirationTime() const
const Aws::Utils::DateTime & GetCreationTime() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ImageUsageReport & WithCreationTime(CreationTimeT &&value)
bool ReportIdHasBeenSet() const
ImageUsageReport & AddTags(TagsT &&value)
void SetImageId(ImageIdT &&value)
ImageUsageReport & WithResourceTypes(ResourceTypesT &&value)
ImageUsageReport & WithExpirationTime(ExpirationTimeT &&value)
const Aws::String & GetReportId() const
void SetResourceTypes(ResourceTypesT &&value)
ImageUsageReport & WithImageId(ImageIdT &&value)
bool ResourceTypesHasBeenSet() const
void SetReportId(ReportIdT &&value)
bool ExpirationTimeHasBeenSet() const
const Aws::String & GetState() const
void SetCreationTime(CreationTimeT &&value)
ImageUsageReport & WithAccountIds(AccountIdsT &&value)
void SetState(StateT &&value)
bool CreationTimeHasBeenSet() const
bool ImageIdHasBeenSet() const
ImageUsageReport & WithStateReason(StateReasonT &&value)
AWS_EC2_API ImageUsageReport()=default
void SetAccountIds(AccountIdsT &&value)
AWS_EC2_API ImageUsageReport(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API ImageUsageReport & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool StateHasBeenSet() const
const Aws::Vector< Aws::String > & GetAccountIds() const
ImageUsageReport & WithReportId(ReportIdT &&value)
const Aws::Vector< ImageUsageResourceType > & GetResourceTypes() const
void SetExpirationTime(ExpirationTimeT &&value)
ImageUsageReport & WithState(StateT &&value)
void SetStateReason(StateReasonT &&value)
void SetTags(TagsT &&value)
const Aws::String & GetImageId() const
ImageUsageReport & AddResourceTypes(ResourceTypesT &&value)
ImageUsageReport & WithTags(TagsT &&value)
bool TagsHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
ImageUsageReport & AddAccountIds(AccountIdsT &&value)
const Aws::String & GetStateReason() const
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