1/*
2* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3*
4* Licensed under the Apache License, Version 2.0 (the "License").
5* You may not use this file except in compliance with the License.
6* A copy of the License is located at
7*
8* http://aws.amazon.com/apache2.0
9*
10* or in the "license" file accompanying this file. This file is distributed
11* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12* express or implied. See the License for the specific language governing
13* permissions and limitations under the License.
14*/
15
16#pragma once
17#include <aws/s3/S3_EXPORTS.h>
18#include <aws/s3/S3Request.h>
19#include <aws/core/utils/memory/stl/AWSString.h>
20#include <aws/core/utils/memory/stl/AWSMap.h>
21#include <utility>
22
23namespace Aws
24{
25namespace Http
26{
27 class URI;
28} //namespace Http
29namespace S3
30{
31namespace Model
32{
33
34 /**
35 */
36 class AWS_S3_API GetBucketAnalyticsConfigurationRequest : public S3Request
37 {
38 public:
39 GetBucketAnalyticsConfigurationRequest();
40
41 // Service request name is the Operation name which will send this request out,
42 // each operation should has unique request name, so that we can get operation's name from this request.
43 // Note: this is not true for response, multiple operations may have the same response name,
44 // so we can not get operation's name from response.
45 inline virtual const char* GetServiceRequestName() const override { return "GetBucketAnalyticsConfiguration"; }
46
47 Aws::String SerializePayload() const override;
48
49 void AddQueryStringParameters(Aws::Http::URI& uri) const override;
50
51
52 /**
53 * <p>The name of the bucket from which an analytics configuration is
54 * retrieved.</p>
55 */
56 inline const Aws::String& GetBucket() const{ return m_bucket; }
57
58 /**
59 * <p>The name of the bucket from which an analytics configuration is
60 * retrieved.</p>
61 */
62 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
63
64 /**
65 * <p>The name of the bucket from which an analytics configuration is
66 * retrieved.</p>
67 */
68 inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
69
70 /**
71 * <p>The name of the bucket from which an analytics configuration is
72 * retrieved.</p>
73 */
74 inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
75
76 /**
77 * <p>The name of the bucket from which an analytics configuration is
78 * retrieved.</p>
79 */
80 inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
81
82 /**
83 * <p>The name of the bucket from which an analytics configuration is
84 * retrieved.</p>
85 */
86 inline GetBucketAnalyticsConfigurationRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
87
88 /**
89 * <p>The name of the bucket from which an analytics configuration is
90 * retrieved.</p>
91 */
92 inline GetBucketAnalyticsConfigurationRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
93
94 /**
95 * <p>The name of the bucket from which an analytics configuration is
96 * retrieved.</p>
97 */
98 inline GetBucketAnalyticsConfigurationRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
99
100
101 /**
102 * <p>The ID that identifies the analytics configuration.</p>
103 */
104 inline const Aws::String& GetId() const{ return m_id; }
105
106 /**
107 * <p>The ID that identifies the analytics configuration.</p>
108 */
109 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
110
111 /**
112 * <p>The ID that identifies the analytics configuration.</p>
113 */
114 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
115
116 /**
117 * <p>The ID that identifies the analytics configuration.</p>
118 */
119 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
120
121 /**
122 * <p>The ID that identifies the analytics configuration.</p>
123 */
124 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
125
126 /**
127 * <p>The ID that identifies the analytics configuration.</p>
128 */
129 inline GetBucketAnalyticsConfigurationRequest& WithId(const Aws::String& value) { SetId(value); return *this;}
130
131 /**
132 * <p>The ID that identifies the analytics configuration.</p>
133 */
134 inline GetBucketAnalyticsConfigurationRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
135
136 /**
137 * <p>The ID that identifies the analytics configuration.</p>
138 */
139 inline GetBucketAnalyticsConfigurationRequest& WithId(const char* value) { SetId(value); return *this;}
140
141
142
143 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
144
145
146 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
147
148
149 inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
150
151
152 inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
153
154
155 inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
156
157
158 inline GetBucketAnalyticsConfigurationRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
159
160
161 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
162
163
164 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
165
166
167 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
168
169
170 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
171
172
173 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
174
175
176 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
177
178
179 inline GetBucketAnalyticsConfigurationRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
180
181 private:
182
183 Aws::String m_bucket;
184 bool m_bucketHasBeenSet;
185
186 Aws::String m_id;
187 bool m_idHasBeenSet;
188
189 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
190 bool m_customizedAccessLogTagHasBeenSet;
191 };
192
193} // namespace Model
194} // namespace S3
195} // namespace Aws
196