AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
S3DataAccessAsset.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/dataexchange/DataExchange_EXPORTS.h>
10#include <aws/dataexchange/model/KmsKeyToGrant.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace DataExchange {
22namespace Model {
23
30 public:
31 AWS_DATAEXCHANGE_API S3DataAccessAsset() = default;
32 AWS_DATAEXCHANGE_API S3DataAccessAsset(Aws::Utils::Json::JsonView jsonValue);
33 AWS_DATAEXCHANGE_API S3DataAccessAsset& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetBucket() const { return m_bucket; }
41 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
42 template <typename BucketT = Aws::String>
43 void SetBucket(BucketT&& value) {
44 m_bucketHasBeenSet = true;
45 m_bucket = std::forward<BucketT>(value);
46 }
47 template <typename BucketT = Aws::String>
48 S3DataAccessAsset& WithBucket(BucketT&& value) {
49 SetBucket(std::forward<BucketT>(value));
50 return *this;
51 }
53
55
59 inline const Aws::Vector<Aws::String>& GetKeyPrefixes() const { return m_keyPrefixes; }
60 inline bool KeyPrefixesHasBeenSet() const { return m_keyPrefixesHasBeenSet; }
61 template <typename KeyPrefixesT = Aws::Vector<Aws::String>>
62 void SetKeyPrefixes(KeyPrefixesT&& value) {
63 m_keyPrefixesHasBeenSet = true;
64 m_keyPrefixes = std::forward<KeyPrefixesT>(value);
65 }
66 template <typename KeyPrefixesT = Aws::Vector<Aws::String>>
67 S3DataAccessAsset& WithKeyPrefixes(KeyPrefixesT&& value) {
68 SetKeyPrefixes(std::forward<KeyPrefixesT>(value));
69 return *this;
70 }
71 template <typename KeyPrefixesT = Aws::String>
72 S3DataAccessAsset& AddKeyPrefixes(KeyPrefixesT&& value) {
73 m_keyPrefixesHasBeenSet = true;
74 m_keyPrefixes.emplace_back(std::forward<KeyPrefixesT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::Vector<Aws::String>& GetKeys() const { return m_keys; }
84 inline bool KeysHasBeenSet() const { return m_keysHasBeenSet; }
85 template <typename KeysT = Aws::Vector<Aws::String>>
86 void SetKeys(KeysT&& value) {
87 m_keysHasBeenSet = true;
88 m_keys = std::forward<KeysT>(value);
89 }
90 template <typename KeysT = Aws::Vector<Aws::String>>
91 S3DataAccessAsset& WithKeys(KeysT&& value) {
92 SetKeys(std::forward<KeysT>(value));
93 return *this;
94 }
95 template <typename KeysT = Aws::String>
96 S3DataAccessAsset& AddKeys(KeysT&& value) {
97 m_keysHasBeenSet = true;
98 m_keys.emplace_back(std::forward<KeysT>(value));
99 return *this;
100 }
102
104
109 inline const Aws::String& GetS3AccessPointAlias() const { return m_s3AccessPointAlias; }
110 inline bool S3AccessPointAliasHasBeenSet() const { return m_s3AccessPointAliasHasBeenSet; }
111 template <typename S3AccessPointAliasT = Aws::String>
112 void SetS3AccessPointAlias(S3AccessPointAliasT&& value) {
113 m_s3AccessPointAliasHasBeenSet = true;
114 m_s3AccessPointAlias = std::forward<S3AccessPointAliasT>(value);
115 }
116 template <typename S3AccessPointAliasT = Aws::String>
117 S3DataAccessAsset& WithS3AccessPointAlias(S3AccessPointAliasT&& value) {
118 SetS3AccessPointAlias(std::forward<S3AccessPointAliasT>(value));
119 return *this;
120 }
122
124
128 inline const Aws::String& GetS3AccessPointArn() const { return m_s3AccessPointArn; }
129 inline bool S3AccessPointArnHasBeenSet() const { return m_s3AccessPointArnHasBeenSet; }
130 template <typename S3AccessPointArnT = Aws::String>
131 void SetS3AccessPointArn(S3AccessPointArnT&& value) {
132 m_s3AccessPointArnHasBeenSet = true;
133 m_s3AccessPointArn = std::forward<S3AccessPointArnT>(value);
134 }
135 template <typename S3AccessPointArnT = Aws::String>
136 S3DataAccessAsset& WithS3AccessPointArn(S3AccessPointArnT&& value) {
137 SetS3AccessPointArn(std::forward<S3AccessPointArnT>(value));
138 return *this;
139 }
141
143
148 inline const Aws::Vector<KmsKeyToGrant>& GetKmsKeysToGrant() const { return m_kmsKeysToGrant; }
149 inline bool KmsKeysToGrantHasBeenSet() const { return m_kmsKeysToGrantHasBeenSet; }
150 template <typename KmsKeysToGrantT = Aws::Vector<KmsKeyToGrant>>
151 void SetKmsKeysToGrant(KmsKeysToGrantT&& value) {
152 m_kmsKeysToGrantHasBeenSet = true;
153 m_kmsKeysToGrant = std::forward<KmsKeysToGrantT>(value);
154 }
155 template <typename KmsKeysToGrantT = Aws::Vector<KmsKeyToGrant>>
156 S3DataAccessAsset& WithKmsKeysToGrant(KmsKeysToGrantT&& value) {
157 SetKmsKeysToGrant(std::forward<KmsKeysToGrantT>(value));
158 return *this;
159 }
160 template <typename KmsKeysToGrantT = KmsKeyToGrant>
161 S3DataAccessAsset& AddKmsKeysToGrant(KmsKeysToGrantT&& value) {
162 m_kmsKeysToGrantHasBeenSet = true;
163 m_kmsKeysToGrant.emplace_back(std::forward<KmsKeysToGrantT>(value));
164 return *this;
165 }
167 private:
168 Aws::String m_bucket;
169
170 Aws::Vector<Aws::String> m_keyPrefixes;
171
173
174 Aws::String m_s3AccessPointAlias;
175
176 Aws::String m_s3AccessPointArn;
177
178 Aws::Vector<KmsKeyToGrant> m_kmsKeysToGrant;
179 bool m_bucketHasBeenSet = false;
180 bool m_keyPrefixesHasBeenSet = false;
181 bool m_keysHasBeenSet = false;
182 bool m_s3AccessPointAliasHasBeenSet = false;
183 bool m_s3AccessPointArnHasBeenSet = false;
184 bool m_kmsKeysToGrantHasBeenSet = false;
185};
186
187} // namespace Model
188} // namespace DataExchange
189} // namespace Aws
AWS_DATAEXCHANGE_API S3DataAccessAsset(Aws::Utils::Json::JsonView jsonValue)
S3DataAccessAsset & WithKeyPrefixes(KeyPrefixesT &&value)
const Aws::String & GetS3AccessPointAlias() const
S3DataAccessAsset & WithBucket(BucketT &&value)
void SetKmsKeysToGrant(KmsKeysToGrantT &&value)
S3DataAccessAsset & WithKeys(KeysT &&value)
const Aws::String & GetS3AccessPointArn() const
AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetS3AccessPointArn(S3AccessPointArnT &&value)
S3DataAccessAsset & AddKeys(KeysT &&value)
S3DataAccessAsset & WithS3AccessPointAlias(S3AccessPointAliasT &&value)
const Aws::Vector< KmsKeyToGrant > & GetKmsKeysToGrant() const
const Aws::Vector< Aws::String > & GetKeyPrefixes() const
AWS_DATAEXCHANGE_API S3DataAccessAsset & operator=(Aws::Utils::Json::JsonView jsonValue)
S3DataAccessAsset & AddKmsKeysToGrant(KmsKeysToGrantT &&value)
S3DataAccessAsset & WithS3AccessPointArn(S3AccessPointArnT &&value)
S3DataAccessAsset & WithKmsKeysToGrant(KmsKeysToGrantT &&value)
const Aws::Vector< Aws::String > & GetKeys() const
S3DataAccessAsset & AddKeyPrefixes(KeyPrefixesT &&value)
void SetS3AccessPointAlias(S3AccessPointAliasT &&value)
AWS_DATAEXCHANGE_API S3DataAccessAsset()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue