AWS SDK for C++

AWS SDK for C++ Version 1.11.761

Loading...
Searching...
No Matches
S3BucketDetail.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/guardduty/GuardDuty_EXPORTS.h>
11#include <aws/guardduty/model/DefaultServerSideEncryption.h>
12#include <aws/guardduty/model/Owner.h>
13#include <aws/guardduty/model/PublicAccess.h>
14#include <aws/guardduty/model/S3ObjectDetail.h>
15#include <aws/guardduty/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace GuardDuty {
27namespace Model {
28
35 public:
36 AWS_GUARDDUTY_API S3BucketDetail() = default;
37 AWS_GUARDDUTY_API S3BucketDetail(Aws::Utils::Json::JsonView jsonValue);
39 AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetArn() const { return m_arn; }
46 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
47 template <typename ArnT = Aws::String>
48 void SetArn(ArnT&& value) {
49 m_arnHasBeenSet = true;
50 m_arn = std::forward<ArnT>(value);
51 }
52 template <typename ArnT = Aws::String>
53 S3BucketDetail& WithArn(ArnT&& value) {
54 SetArn(std::forward<ArnT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetName() const { return m_name; }
64 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
65 template <typename NameT = Aws::String>
66 void SetName(NameT&& value) {
67 m_nameHasBeenSet = true;
68 m_name = std::forward<NameT>(value);
69 }
70 template <typename NameT = Aws::String>
71 S3BucketDetail& WithName(NameT&& value) {
72 SetName(std::forward<NameT>(value));
73 return *this;
74 }
76
78
81 inline const Aws::String& GetType() const { return m_type; }
82 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
83 template <typename TypeT = Aws::String>
84 void SetType(TypeT&& value) {
85 m_typeHasBeenSet = true;
86 m_type = std::forward<TypeT>(value);
87 }
88 template <typename TypeT = Aws::String>
89 S3BucketDetail& WithType(TypeT&& value) {
90 SetType(std::forward<TypeT>(value));
91 return *this;
92 }
94
96
99 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
100 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
101 template <typename CreatedAtT = Aws::Utils::DateTime>
102 void SetCreatedAt(CreatedAtT&& value) {
103 m_createdAtHasBeenSet = true;
104 m_createdAt = std::forward<CreatedAtT>(value);
105 }
106 template <typename CreatedAtT = Aws::Utils::DateTime>
107 S3BucketDetail& WithCreatedAt(CreatedAtT&& value) {
108 SetCreatedAt(std::forward<CreatedAtT>(value));
109 return *this;
110 }
112
114
117 inline const Owner& GetOwner() const { return m_owner; }
118 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
119 template <typename OwnerT = Owner>
120 void SetOwner(OwnerT&& value) {
121 m_ownerHasBeenSet = true;
122 m_owner = std::forward<OwnerT>(value);
123 }
124 template <typename OwnerT = Owner>
125 S3BucketDetail& WithOwner(OwnerT&& value) {
126 SetOwner(std::forward<OwnerT>(value));
127 return *this;
128 }
130
132
135 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
136 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
137 template <typename TagsT = Aws::Vector<Tag>>
138 void SetTags(TagsT&& value) {
139 m_tagsHasBeenSet = true;
140 m_tags = std::forward<TagsT>(value);
141 }
142 template <typename TagsT = Aws::Vector<Tag>>
143 S3BucketDetail& WithTags(TagsT&& value) {
144 SetTags(std::forward<TagsT>(value));
145 return *this;
146 }
147 template <typename TagsT = Tag>
148 S3BucketDetail& AddTags(TagsT&& value) {
149 m_tagsHasBeenSet = true;
150 m_tags.emplace_back(std::forward<TagsT>(value));
151 return *this;
152 }
154
156
159 inline const DefaultServerSideEncryption& GetDefaultServerSideEncryption() const { return m_defaultServerSideEncryption; }
160 inline bool DefaultServerSideEncryptionHasBeenSet() const { return m_defaultServerSideEncryptionHasBeenSet; }
161 template <typename DefaultServerSideEncryptionT = DefaultServerSideEncryption>
162 void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) {
163 m_defaultServerSideEncryptionHasBeenSet = true;
164 m_defaultServerSideEncryption = std::forward<DefaultServerSideEncryptionT>(value);
165 }
166 template <typename DefaultServerSideEncryptionT = DefaultServerSideEncryption>
167 S3BucketDetail& WithDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) {
168 SetDefaultServerSideEncryption(std::forward<DefaultServerSideEncryptionT>(value));
169 return *this;
170 }
172
174
177 inline const PublicAccess& GetPublicAccess() const { return m_publicAccess; }
178 inline bool PublicAccessHasBeenSet() const { return m_publicAccessHasBeenSet; }
179 template <typename PublicAccessT = PublicAccess>
180 void SetPublicAccess(PublicAccessT&& value) {
181 m_publicAccessHasBeenSet = true;
182 m_publicAccess = std::forward<PublicAccessT>(value);
183 }
184 template <typename PublicAccessT = PublicAccess>
185 S3BucketDetail& WithPublicAccess(PublicAccessT&& value) {
186 SetPublicAccess(std::forward<PublicAccessT>(value));
187 return *this;
188 }
190
192
195 inline const Aws::Vector<S3ObjectDetail>& GetS3ObjectDetails() const { return m_s3ObjectDetails; }
196 inline bool S3ObjectDetailsHasBeenSet() const { return m_s3ObjectDetailsHasBeenSet; }
197 template <typename S3ObjectDetailsT = Aws::Vector<S3ObjectDetail>>
198 void SetS3ObjectDetails(S3ObjectDetailsT&& value) {
199 m_s3ObjectDetailsHasBeenSet = true;
200 m_s3ObjectDetails = std::forward<S3ObjectDetailsT>(value);
201 }
202 template <typename S3ObjectDetailsT = Aws::Vector<S3ObjectDetail>>
203 S3BucketDetail& WithS3ObjectDetails(S3ObjectDetailsT&& value) {
204 SetS3ObjectDetails(std::forward<S3ObjectDetailsT>(value));
205 return *this;
206 }
207 template <typename S3ObjectDetailsT = S3ObjectDetail>
208 S3BucketDetail& AddS3ObjectDetails(S3ObjectDetailsT&& value) {
209 m_s3ObjectDetailsHasBeenSet = true;
210 m_s3ObjectDetails.emplace_back(std::forward<S3ObjectDetailsT>(value));
211 return *this;
212 }
214 private:
215 Aws::String m_arn;
216
217 Aws::String m_name;
218
219 Aws::String m_type;
220
221 Aws::Utils::DateTime m_createdAt{};
222
223 Owner m_owner;
224
225 Aws::Vector<Tag> m_tags;
226
227 DefaultServerSideEncryption m_defaultServerSideEncryption;
228
229 PublicAccess m_publicAccess;
230
231 Aws::Vector<S3ObjectDetail> m_s3ObjectDetails;
232 bool m_arnHasBeenSet = false;
233 bool m_nameHasBeenSet = false;
234 bool m_typeHasBeenSet = false;
235 bool m_createdAtHasBeenSet = false;
236 bool m_ownerHasBeenSet = false;
237 bool m_tagsHasBeenSet = false;
238 bool m_defaultServerSideEncryptionHasBeenSet = false;
239 bool m_publicAccessHasBeenSet = false;
240 bool m_s3ObjectDetailsHasBeenSet = false;
241};
242
243} // namespace Model
244} // namespace GuardDuty
245} // namespace Aws
S3BucketDetail & WithArn(ArnT &&value)
S3BucketDetail & AddS3ObjectDetails(S3ObjectDetailsT &&value)
void SetS3ObjectDetails(S3ObjectDetailsT &&value)
S3BucketDetail & AddTags(TagsT &&value)
void SetCreatedAt(CreatedAtT &&value)
AWS_GUARDDUTY_API S3BucketDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetCreatedAt() const
S3BucketDetail & WithType(TypeT &&value)
S3BucketDetail & WithCreatedAt(CreatedAtT &&value)
const PublicAccess & GetPublicAccess() const
AWS_GUARDDUTY_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Tag > & GetTags() const
S3BucketDetail & WithPublicAccess(PublicAccessT &&value)
const Aws::Vector< S3ObjectDetail > & GetS3ObjectDetails() const
const Aws::String & GetName() const
S3BucketDetail & WithOwner(OwnerT &&value)
AWS_GUARDDUTY_API S3BucketDetail(Aws::Utils::Json::JsonView jsonValue)
S3BucketDetail & WithS3ObjectDetails(S3ObjectDetailsT &&value)
const DefaultServerSideEncryption & GetDefaultServerSideEncryption() const
const Aws::String & GetType() const
S3BucketDetail & WithName(NameT &&value)
AWS_GUARDDUTY_API S3BucketDetail()=default
void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
S3BucketDetail & WithDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
void SetPublicAccess(PublicAccessT &&value)
const Aws::String & GetArn() const
S3BucketDetail & WithTags(TagsT &&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