AWS SDK for C++

AWS SDK for C++ Version 1.11.685

Loading...
Searching...
No Matches
UpdateBucketRequest.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/lightsail/LightsailRequest.h>
10#include <aws/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/AccessRules.h>
12#include <aws/lightsail/model/BucketAccessLogConfig.h>
13#include <aws/lightsail/model/BucketCorsConfig.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Lightsail {
19namespace Model {
20
24 public:
25 AWS_LIGHTSAIL_API UpdateBucketRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "UpdateBucket"; }
32
33 AWS_LIGHTSAIL_API Aws::String SerializePayload() const override;
34
36
38
41 inline const Aws::String& GetBucketName() const { return m_bucketName; }
42 inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; }
43 template <typename BucketNameT = Aws::String>
44 void SetBucketName(BucketNameT&& value) {
45 m_bucketNameHasBeenSet = true;
46 m_bucketName = std::forward<BucketNameT>(value);
47 }
48 template <typename BucketNameT = Aws::String>
49 UpdateBucketRequest& WithBucketName(BucketNameT&& value) {
50 SetBucketName(std::forward<BucketNameT>(value));
51 return *this;
52 }
54
56
60 inline const AccessRules& GetAccessRules() const { return m_accessRules; }
61 inline bool AccessRulesHasBeenSet() const { return m_accessRulesHasBeenSet; }
62 template <typename AccessRulesT = AccessRules>
63 void SetAccessRules(AccessRulesT&& value) {
64 m_accessRulesHasBeenSet = true;
65 m_accessRules = std::forward<AccessRulesT>(value);
66 }
67 template <typename AccessRulesT = AccessRules>
68 UpdateBucketRequest& WithAccessRules(AccessRulesT&& value) {
69 SetAccessRules(std::forward<AccessRulesT>(value));
70 return *this;
71 }
73
75
83 inline const Aws::String& GetVersioning() const { return m_versioning; }
84 inline bool VersioningHasBeenSet() const { return m_versioningHasBeenSet; }
85 template <typename VersioningT = Aws::String>
86 void SetVersioning(VersioningT&& value) {
87 m_versioningHasBeenSet = true;
88 m_versioning = std::forward<VersioningT>(value);
89 }
90 template <typename VersioningT = Aws::String>
91 UpdateBucketRequest& WithVersioning(VersioningT&& value) {
92 SetVersioning(std::forward<VersioningT>(value));
93 return *this;
94 }
96
98
103 inline const Aws::Vector<Aws::String>& GetReadonlyAccessAccounts() const { return m_readonlyAccessAccounts; }
104 inline bool ReadonlyAccessAccountsHasBeenSet() const { return m_readonlyAccessAccountsHasBeenSet; }
105 template <typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
106 void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
107 m_readonlyAccessAccountsHasBeenSet = true;
108 m_readonlyAccessAccounts = std::forward<ReadonlyAccessAccountsT>(value);
109 }
110 template <typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
111 UpdateBucketRequest& WithReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
112 SetReadonlyAccessAccounts(std::forward<ReadonlyAccessAccountsT>(value));
113 return *this;
114 }
115 template <typename ReadonlyAccessAccountsT = Aws::String>
116 UpdateBucketRequest& AddReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) {
117 m_readonlyAccessAccountsHasBeenSet = true;
118 m_readonlyAccessAccounts.emplace_back(std::forward<ReadonlyAccessAccountsT>(value));
119 return *this;
120 }
122
124
127 inline const BucketAccessLogConfig& GetAccessLogConfig() const { return m_accessLogConfig; }
128 inline bool AccessLogConfigHasBeenSet() const { return m_accessLogConfigHasBeenSet; }
129 template <typename AccessLogConfigT = BucketAccessLogConfig>
130 void SetAccessLogConfig(AccessLogConfigT&& value) {
131 m_accessLogConfigHasBeenSet = true;
132 m_accessLogConfig = std::forward<AccessLogConfigT>(value);
133 }
134 template <typename AccessLogConfigT = BucketAccessLogConfig>
135 UpdateBucketRequest& WithAccessLogConfig(AccessLogConfigT&& value) {
136 SetAccessLogConfig(std::forward<AccessLogConfigT>(value));
137 return *this;
138 }
140
142
151 inline const BucketCorsConfig& GetCors() const { return m_cors; }
152 inline bool CorsHasBeenSet() const { return m_corsHasBeenSet; }
153 template <typename CorsT = BucketCorsConfig>
154 void SetCors(CorsT&& value) {
155 m_corsHasBeenSet = true;
156 m_cors = std::forward<CorsT>(value);
157 }
158 template <typename CorsT = BucketCorsConfig>
160 SetCors(std::forward<CorsT>(value));
161 return *this;
162 }
164 private:
165 Aws::String m_bucketName;
166 bool m_bucketNameHasBeenSet = false;
167
168 AccessRules m_accessRules;
169 bool m_accessRulesHasBeenSet = false;
170
171 Aws::String m_versioning;
172 bool m_versioningHasBeenSet = false;
173
174 Aws::Vector<Aws::String> m_readonlyAccessAccounts;
175 bool m_readonlyAccessAccountsHasBeenSet = false;
176
177 BucketAccessLogConfig m_accessLogConfig;
178 bool m_accessLogConfigHasBeenSet = false;
179
180 BucketCorsConfig m_cors;
181 bool m_corsHasBeenSet = false;
182};
183
184} // namespace Model
185} // namespace Lightsail
186} // namespace Aws
UpdateBucketRequest & AddReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
UpdateBucketRequest & WithReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
UpdateBucketRequest & WithAccessLogConfig(AccessLogConfigT &&value)
void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
const BucketCorsConfig & GetCors() const
const Aws::Vector< Aws::String > & GetReadonlyAccessAccounts() const
AWS_LIGHTSAIL_API Aws::String SerializePayload() const override
UpdateBucketRequest & WithAccessRules(AccessRulesT &&value)
UpdateBucketRequest & WithVersioning(VersioningT &&value)
virtual const char * GetServiceRequestName() const override
AWS_LIGHTSAIL_API UpdateBucketRequest()=default
AWS_LIGHTSAIL_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
UpdateBucketRequest & WithBucketName(BucketNameT &&value)
UpdateBucketRequest & WithCors(CorsT &&value)
const BucketAccessLogConfig & GetAccessLogConfig() const
void SetAccessLogConfig(AccessLogConfigT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector