7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/fsx/model/SnapshotLifecycle.h>
11#include <aws/fsx/model/LifecycleTransitionReason.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/fsx/model/AdministrativeAction.h>
14#include <aws/fsx/model/Tag.h>
31 class AdministrativeAction;
51 template<
typename ResourceARNT = Aws::String>
52 void SetResourceARN(ResourceARNT&& value) { m_resourceARNHasBeenSet =
true; m_resourceARN = std::forward<ResourceARNT>(value); }
53 template<
typename ResourceARNT = Aws::String>
63 template<
typename SnapshotIdT = Aws::String>
64 void SetSnapshotId(SnapshotIdT&& value) { m_snapshotIdHasBeenSet =
true; m_snapshotId = std::forward<SnapshotIdT>(value); }
65 template<
typename SnapshotIdT = Aws::String>
75 template<
typename NameT = Aws::String>
76 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
77 template<
typename NameT = Aws::String>
87 template<
typename VolumeIdT = Aws::String>
88 void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet =
true; m_volumeId = std::forward<VolumeIdT>(value); }
89 template<
typename VolumeIdT = Aws::String>
97 template<
typename CreationTimeT = Aws::Utils::DateTime>
98 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet =
true; m_creationTime = std::forward<CreationTimeT>(value); }
99 template<
typename CreationTimeT = Aws::Utils::DateTime>
121 template<
typename LifecycleTransitionReasonT = LifecycleTransitionReason>
122 void SetLifecycleTransitionReason(LifecycleTransitionReasonT&& value) { m_lifecycleTransitionReasonHasBeenSet =
true; m_lifecycleTransitionReason = std::forward<LifecycleTransitionReasonT>(value); }
123 template<
typename LifecycleTransitionReasonT = LifecycleTransitionReason>
131 template<
typename TagsT = Aws::Vector<Tag>>
132 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
133 template<
typename TagsT = Aws::Vector<Tag>>
135 template<
typename TagsT = Tag>
136 Snapshot&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
147 template<
typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
148 void SetAdministrativeActions(AdministrativeActionsT&& value) { m_administrativeActionsHasBeenSet =
true; m_administrativeActions = std::forward<AdministrativeActionsT>(value); }
149 template<
typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
151 template<
typename AdministrativeActionsT = AdministrativeAction>
152 Snapshot&
AddAdministrativeActions(AdministrativeActionsT&& value) { m_administrativeActionsHasBeenSet =
true; m_administrativeActions.emplace_back(std::forward<AdministrativeActionsT>(value));
return *
this; }
157 bool m_resourceARNHasBeenSet =
false;
160 bool m_snapshotIdHasBeenSet =
false;
163 bool m_nameHasBeenSet =
false;
166 bool m_volumeIdHasBeenSet =
false;
169 bool m_creationTimeHasBeenSet =
false;
172 bool m_lifecycleHasBeenSet =
false;
174 LifecycleTransitionReason m_lifecycleTransitionReason;
175 bool m_lifecycleTransitionReasonHasBeenSet =
false;
178 bool m_tagsHasBeenSet =
false;
181 bool m_administrativeActionsHasBeenSet =
false;
void SetLifecycle(SnapshotLifecycle value)
const Aws::String & GetName() const
bool TagsHasBeenSet() const
AWS_FSX_API Snapshot(Aws::Utils::Json::JsonView jsonValue)
void SetSnapshotId(SnapshotIdT &&value)
void SetCreationTime(CreationTimeT &&value)
const Aws::Utils::DateTime & GetCreationTime() const
const LifecycleTransitionReason & GetLifecycleTransitionReason() const
void SetName(NameT &&value)
const Aws::Vector< AdministrativeAction > & GetAdministrativeActions() const
Snapshot & WithSnapshotId(SnapshotIdT &&value)
bool AdministrativeActionsHasBeenSet() const
void SetLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
bool SnapshotIdHasBeenSet() const
void SetTags(TagsT &&value)
Snapshot & AddTags(TagsT &&value)
Snapshot & WithTags(TagsT &&value)
Snapshot & WithName(NameT &&value)
Snapshot & WithVolumeId(VolumeIdT &&value)
Snapshot & WithLifecycle(SnapshotLifecycle value)
SnapshotLifecycle GetLifecycle() const
bool LifecycleHasBeenSet() const
Snapshot & WithLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
bool VolumeIdHasBeenSet() const
void SetResourceARN(ResourceARNT &&value)
AWS_FSX_API Snapshot()=default
AWS_FSX_API Snapshot & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetResourceARN() const
Snapshot & WithCreationTime(CreationTimeT &&value)
bool LifecycleTransitionReasonHasBeenSet() const
bool CreationTimeHasBeenSet() const
bool ResourceARNHasBeenSet() const
const Aws::String & GetVolumeId() const
void SetAdministrativeActions(AdministrativeActionsT &&value)
bool NameHasBeenSet() const
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
Snapshot & AddAdministrativeActions(AdministrativeActionsT &&value)
const Aws::String & GetSnapshotId() const
const Aws::Vector< Tag > & GetTags() const
Snapshot & WithAdministrativeActions(AdministrativeActionsT &&value)
void SetVolumeId(VolumeIdT &&value)
Snapshot & WithResourceARN(ResourceARNT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue