AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PutBucketNotificationConfigurationRequest.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/s3/S3Request.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/s3/model/NotificationConfiguration.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Http
17{
18 class URI;
19} //namespace Http
20namespace S3
21{
22namespace Model
23{
24
28 {
29 public:
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "PutBucketNotificationConfiguration"; }
37
38 AWS_S3_API Aws::String SerializePayload() const override;
39
40 AWS_S3_API void AddQueryStringParameters(Aws::Http::URI& uri) const override;
41
43
44 AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override;
48 AWS_S3_API EndpointParameters GetEndpointContextParams() const override;
49
51
54 inline const Aws::String& GetBucket() const { return m_bucket; }
55 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
56 template<typename BucketT = Aws::String>
57 void SetBucket(BucketT&& value) { m_bucketHasBeenSet = true; m_bucket = std::forward<BucketT>(value); }
58 template<typename BucketT = Aws::String>
59 PutBucketNotificationConfigurationRequest& WithBucket(BucketT&& value) { SetBucket(std::forward<BucketT>(value)); return *this;}
61
63
64 inline const NotificationConfiguration& GetNotificationConfiguration() const { return m_notificationConfiguration; }
65 inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; }
66 template<typename NotificationConfigurationT = NotificationConfiguration>
67 void SetNotificationConfiguration(NotificationConfigurationT&& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = std::forward<NotificationConfigurationT>(value); }
68 template<typename NotificationConfigurationT = NotificationConfiguration>
69 PutBucketNotificationConfigurationRequest& WithNotificationConfiguration(NotificationConfigurationT&& value) { SetNotificationConfiguration(std::forward<NotificationConfigurationT>(value)); return *this;}
71
73
78 inline const Aws::String& GetExpectedBucketOwner() const { return m_expectedBucketOwner; }
79 inline bool ExpectedBucketOwnerHasBeenSet() const { return m_expectedBucketOwnerHasBeenSet; }
80 template<typename ExpectedBucketOwnerT = Aws::String>
81 void SetExpectedBucketOwner(ExpectedBucketOwnerT&& value) { m_expectedBucketOwnerHasBeenSet = true; m_expectedBucketOwner = std::forward<ExpectedBucketOwnerT>(value); }
82 template<typename ExpectedBucketOwnerT = Aws::String>
83 PutBucketNotificationConfigurationRequest& WithExpectedBucketOwner(ExpectedBucketOwnerT&& value) { SetExpectedBucketOwner(std::forward<ExpectedBucketOwnerT>(value)); return *this;}
85
87
91 inline bool GetSkipDestinationValidation() const { return m_skipDestinationValidation; }
92 inline bool SkipDestinationValidationHasBeenSet() const { return m_skipDestinationValidationHasBeenSet; }
93 inline void SetSkipDestinationValidation(bool value) { m_skipDestinationValidationHasBeenSet = true; m_skipDestinationValidation = value; }
96
98
99 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const { return m_customizedAccessLogTag; }
100 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
101 template<typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
102 void SetCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::forward<CustomizedAccessLogTagT>(value); }
103 template<typename CustomizedAccessLogTagT = Aws::Map<Aws::String, Aws::String>>
104 PutBucketNotificationConfigurationRequest& WithCustomizedAccessLogTag(CustomizedAccessLogTagT&& value) { SetCustomizedAccessLogTag(std::forward<CustomizedAccessLogTagT>(value)); return *this;}
105 template<typename CustomizedAccessLogTagKeyT = Aws::String, typename CustomizedAccessLogTagValueT = Aws::String>
106 PutBucketNotificationConfigurationRequest& AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT&& key, CustomizedAccessLogTagValueT&& value) {
107 m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::forward<CustomizedAccessLogTagKeyT>(key), std::forward<CustomizedAccessLogTagValueT>(value)); return *this;
108 }
110 private:
111
112 Aws::String m_bucket;
113 bool m_bucketHasBeenSet = false;
114
115 NotificationConfiguration m_notificationConfiguration;
116 bool m_notificationConfigurationHasBeenSet = false;
117
118 Aws::String m_expectedBucketOwner;
119 bool m_expectedBucketOwnerHasBeenSet = false;
120
121 bool m_skipDestinationValidation{false};
122 bool m_skipDestinationValidationHasBeenSet = false;
123
124 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
125 bool m_customizedAccessLogTagHasBeenSet = false;
126 };
127
128} // namespace Model
129} // namespace S3
130} // namespace Aws
AWS_S3_API EndpointParameters GetEndpointContextParams() const override
PutBucketNotificationConfigurationRequest & WithBucket(BucketT &&value)
PutBucketNotificationConfigurationRequest & WithNotificationConfiguration(NotificationConfigurationT &&value)
AWS_S3_API void AddQueryStringParameters(Aws::Http::URI &uri) const override
AWS_S3_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
PutBucketNotificationConfigurationRequest & WithCustomizedAccessLogTag(CustomizedAccessLogTagT &&value)
PutBucketNotificationConfigurationRequest & WithExpectedBucketOwner(ExpectedBucketOwnerT &&value)
AWS_S3_API Aws::String SerializePayload() const override
const Aws::Map< Aws::String, Aws::String > & GetCustomizedAccessLogTag() const
PutBucketNotificationConfigurationRequest & AddCustomizedAccessLogTag(CustomizedAccessLogTagKeyT &&key, CustomizedAccessLogTagValueT &&value)
PutBucketNotificationConfigurationRequest & WithSkipDestinationValidation(bool value)
AWS_S3_API bool HasEmbeddedError(IOStream &body, const Http::HeaderValueCollection &header) const override
Aws::Endpoint::EndpointParameters EndpointParameters
Definition S3Request.h:22
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_iostream< char, std::char_traits< char > > IOStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String