AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
S3Object.h
1
6#pragma once
7#include <aws/macie2/Macie2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/macie2/model/ServerSideEncryption.h>
11#include <aws/macie2/model/StorageClass.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/macie2/model/KeyValuePair.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace Macie2
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_MACIE2_API S3Object() = default;
41 AWS_MACIE2_API S3Object(Aws::Utils::Json::JsonView jsonValue);
42 AWS_MACIE2_API S3Object& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetBucketArn() const { return m_bucketArn; }
51 inline bool BucketArnHasBeenSet() const { return m_bucketArnHasBeenSet; }
52 template<typename BucketArnT = Aws::String>
53 void SetBucketArn(BucketArnT&& value) { m_bucketArnHasBeenSet = true; m_bucketArn = std::forward<BucketArnT>(value); }
54 template<typename BucketArnT = Aws::String>
55 S3Object& WithBucketArn(BucketArnT&& value) { SetBucketArn(std::forward<BucketArnT>(value)); return *this;}
57
59
64 inline const Aws::String& GetETag() const { return m_eTag; }
65 inline bool ETagHasBeenSet() const { return m_eTagHasBeenSet; }
66 template<typename ETagT = Aws::String>
67 void SetETag(ETagT&& value) { m_eTagHasBeenSet = true; m_eTag = std::forward<ETagT>(value); }
68 template<typename ETagT = Aws::String>
69 S3Object& WithETag(ETagT&& value) { SetETag(std::forward<ETagT>(value)); return *this;}
71
73
77 inline const Aws::String& GetExtension() const { return m_extension; }
78 inline bool ExtensionHasBeenSet() const { return m_extensionHasBeenSet; }
79 template<typename ExtensionT = Aws::String>
80 void SetExtension(ExtensionT&& value) { m_extensionHasBeenSet = true; m_extension = std::forward<ExtensionT>(value); }
81 template<typename ExtensionT = Aws::String>
82 S3Object& WithExtension(ExtensionT&& value) { SetExtension(std::forward<ExtensionT>(value)); return *this;}
84
86
90 inline const Aws::String& GetKey() const { return m_key; }
91 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
92 template<typename KeyT = Aws::String>
93 void SetKey(KeyT&& value) { m_keyHasBeenSet = true; m_key = std::forward<KeyT>(value); }
94 template<typename KeyT = Aws::String>
95 S3Object& WithKey(KeyT&& value) { SetKey(std::forward<KeyT>(value)); return *this;}
97
99
103 inline const Aws::Utils::DateTime& GetLastModified() const { return m_lastModified; }
104 inline bool LastModifiedHasBeenSet() const { return m_lastModifiedHasBeenSet; }
105 template<typename LastModifiedT = Aws::Utils::DateTime>
106 void SetLastModified(LastModifiedT&& value) { m_lastModifiedHasBeenSet = true; m_lastModified = std::forward<LastModifiedT>(value); }
107 template<typename LastModifiedT = Aws::Utils::DateTime>
108 S3Object& WithLastModified(LastModifiedT&& value) { SetLastModified(std::forward<LastModifiedT>(value)); return *this;}
110
112
116 inline const Aws::String& GetPath() const { return m_path; }
117 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
118 template<typename PathT = Aws::String>
119 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
120 template<typename PathT = Aws::String>
121 S3Object& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
123
125
129 inline bool GetPublicAccess() const { return m_publicAccess; }
130 inline bool PublicAccessHasBeenSet() const { return m_publicAccessHasBeenSet; }
131 inline void SetPublicAccess(bool value) { m_publicAccessHasBeenSet = true; m_publicAccess = value; }
132 inline S3Object& WithPublicAccess(bool value) { SetPublicAccess(value); return *this;}
134
136
139 inline const ServerSideEncryption& GetServerSideEncryption() const { return m_serverSideEncryption; }
140 inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; }
141 template<typename ServerSideEncryptionT = ServerSideEncryption>
142 void SetServerSideEncryption(ServerSideEncryptionT&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::forward<ServerSideEncryptionT>(value); }
143 template<typename ServerSideEncryptionT = ServerSideEncryption>
144 S3Object& WithServerSideEncryption(ServerSideEncryptionT&& value) { SetServerSideEncryption(std::forward<ServerSideEncryptionT>(value)); return *this;}
146
148
151 inline long long GetSize() const { return m_size; }
152 inline bool SizeHasBeenSet() const { return m_sizeHasBeenSet; }
153 inline void SetSize(long long value) { m_sizeHasBeenSet = true; m_size = value; }
154 inline S3Object& WithSize(long long value) { SetSize(value); return *this;}
156
158
161 inline StorageClass GetStorageClass() const { return m_storageClass; }
162 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
163 inline void SetStorageClass(StorageClass value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
164 inline S3Object& WithStorageClass(StorageClass value) { SetStorageClass(value); return *this;}
166
168
171 inline const Aws::Vector<KeyValuePair>& GetTags() const { return m_tags; }
172 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
173 template<typename TagsT = Aws::Vector<KeyValuePair>>
174 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
175 template<typename TagsT = Aws::Vector<KeyValuePair>>
176 S3Object& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
177 template<typename TagsT = KeyValuePair>
178 S3Object& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
180
182
185 inline const Aws::String& GetVersionId() const { return m_versionId; }
186 inline bool VersionIdHasBeenSet() const { return m_versionIdHasBeenSet; }
187 template<typename VersionIdT = Aws::String>
188 void SetVersionId(VersionIdT&& value) { m_versionIdHasBeenSet = true; m_versionId = std::forward<VersionIdT>(value); }
189 template<typename VersionIdT = Aws::String>
190 S3Object& WithVersionId(VersionIdT&& value) { SetVersionId(std::forward<VersionIdT>(value)); return *this;}
192 private:
193
194 Aws::String m_bucketArn;
195 bool m_bucketArnHasBeenSet = false;
196
197 Aws::String m_eTag;
198 bool m_eTagHasBeenSet = false;
199
200 Aws::String m_extension;
201 bool m_extensionHasBeenSet = false;
202
203 Aws::String m_key;
204 bool m_keyHasBeenSet = false;
205
206 Aws::Utils::DateTime m_lastModified{};
207 bool m_lastModifiedHasBeenSet = false;
208
209 Aws::String m_path;
210 bool m_pathHasBeenSet = false;
211
212 bool m_publicAccess{false};
213 bool m_publicAccessHasBeenSet = false;
214
215 ServerSideEncryption m_serverSideEncryption;
216 bool m_serverSideEncryptionHasBeenSet = false;
217
218 long long m_size{0};
219 bool m_sizeHasBeenSet = false;
220
221 StorageClass m_storageClass{StorageClass::NOT_SET};
222 bool m_storageClassHasBeenSet = false;
223
225 bool m_tagsHasBeenSet = false;
226
227 Aws::String m_versionId;
228 bool m_versionIdHasBeenSet = false;
229 };
230
231} // namespace Model
232} // namespace Macie2
233} // namespace Aws
bool PublicAccessHasBeenSet() const
Definition S3Object.h:130
const Aws::String & GetPath() const
Definition S3Object.h:116
bool ServerSideEncryptionHasBeenSet() const
Definition S3Object.h:140
void SetLastModified(LastModifiedT &&value)
Definition S3Object.h:106
S3Object & WithBucketArn(BucketArnT &&value)
Definition S3Object.h:55
void SetKey(KeyT &&value)
Definition S3Object.h:93
void SetExtension(ExtensionT &&value)
Definition S3Object.h:80
const Aws::Vector< KeyValuePair > & GetTags() const
Definition S3Object.h:171
S3Object & WithETag(ETagT &&value)
Definition S3Object.h:69
const ServerSideEncryption & GetServerSideEncryption() const
Definition S3Object.h:139
S3Object & WithPath(PathT &&value)
Definition S3Object.h:121
void SetServerSideEncryption(ServerSideEncryptionT &&value)
Definition S3Object.h:142
void SetTags(TagsT &&value)
Definition S3Object.h:174
S3Object & AddTags(TagsT &&value)
Definition S3Object.h:178
S3Object & WithExtension(ExtensionT &&value)
Definition S3Object.h:82
void SetStorageClass(StorageClass value)
Definition S3Object.h:163
bool VersionIdHasBeenSet() const
Definition S3Object.h:186
AWS_MACIE2_API S3Object & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetLastModified() const
Definition S3Object.h:103
S3Object & WithLastModified(LastModifiedT &&value)
Definition S3Object.h:108
AWS_MACIE2_API S3Object(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetExtension() const
Definition S3Object.h:77
S3Object & WithKey(KeyT &&value)
Definition S3Object.h:95
S3Object & WithPublicAccess(bool value)
Definition S3Object.h:132
S3Object & WithVersionId(VersionIdT &&value)
Definition S3Object.h:190
const Aws::String & GetVersionId() const
Definition S3Object.h:185
bool ETagHasBeenSet() const
Definition S3Object.h:65
void SetETag(ETagT &&value)
Definition S3Object.h:67
bool BucketArnHasBeenSet() const
Definition S3Object.h:51
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
long long GetSize() const
Definition S3Object.h:151
const Aws::String & GetBucketArn() const
Definition S3Object.h:50
void SetBucketArn(BucketArnT &&value)
Definition S3Object.h:53
void SetPublicAccess(bool value)
Definition S3Object.h:131
bool LastModifiedHasBeenSet() const
Definition S3Object.h:104
S3Object & WithTags(TagsT &&value)
Definition S3Object.h:176
AWS_MACIE2_API S3Object()=default
void SetPath(PathT &&value)
Definition S3Object.h:119
const Aws::String & GetETag() const
Definition S3Object.h:64
void SetSize(long long value)
Definition S3Object.h:153
bool ExtensionHasBeenSet() const
Definition S3Object.h:78
S3Object & WithSize(long long value)
Definition S3Object.h:154
bool StorageClassHasBeenSet() const
Definition S3Object.h:162
S3Object & WithServerSideEncryption(ServerSideEncryptionT &&value)
Definition S3Object.h:144
StorageClass GetStorageClass() const
Definition S3Object.h:161
void SetVersionId(VersionIdT &&value)
Definition S3Object.h:188
const Aws::String & GetKey() const
Definition S3Object.h:90
S3Object & WithStorageClass(StorageClass value)
Definition S3Object.h:164
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue