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 GetBucketLoggingRequest : public S3Request
37 {
38 public:
39 GetBucketLoggingRequest();
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 "GetBucketLogging"; }
46
47 Aws::String SerializePayload() const override;
48
49 void AddQueryStringParameters(Aws::Http::URI& uri) const override;
50
51
52 /**
53 * <p>The bucket name for which to get the logging information.</p>
54 */
55 inline const Aws::String& GetBucket() const{ return m_bucket; }
56
57 /**
58 * <p>The bucket name for which to get the logging information.</p>
59 */
60 inline bool BucketHasBeenSet() const { return m_bucketHasBeenSet; }
61
62 /**
63 * <p>The bucket name for which to get the logging information.</p>
64 */
65 inline void SetBucket(const Aws::String& value) { m_bucketHasBeenSet = true; m_bucket = value; }
66
67 /**
68 * <p>The bucket name for which to get the logging information.</p>
69 */
70 inline void SetBucket(Aws::String&& value) { m_bucketHasBeenSet = true; m_bucket = std::move(value); }
71
72 /**
73 * <p>The bucket name for which to get the logging information.</p>
74 */
75 inline void SetBucket(const char* value) { m_bucketHasBeenSet = true; m_bucket.assign(value); }
76
77 /**
78 * <p>The bucket name for which to get the logging information.</p>
79 */
80 inline GetBucketLoggingRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
81
82 /**
83 * <p>The bucket name for which to get the logging information.</p>
84 */
85 inline GetBucketLoggingRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
86
87 /**
88 * <p>The bucket name for which to get the logging information.</p>
89 */
90 inline GetBucketLoggingRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
91
92
93
94 inline const Aws::Map<Aws::String, Aws::String>& GetCustomizedAccessLogTag() const{ return m_customizedAccessLogTag; }
95
96
97 inline bool CustomizedAccessLogTagHasBeenSet() const { return m_customizedAccessLogTagHasBeenSet; }
98
99
100 inline void SetCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = value; }
101
102
103 inline void SetCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag = std::move(value); }
104
105
106 inline GetBucketLoggingRequest& WithCustomizedAccessLogTag(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomizedAccessLogTag(value); return *this;}
107
108
109 inline GetBucketLoggingRequest& WithCustomizedAccessLogTag(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomizedAccessLogTag(std::move(value)); return *this;}
110
111
112 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
113
114
115 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const Aws::String& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
116
117
118 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const Aws::String& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
119
120
121 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), std::move(value)); return *this; }
122
123
124 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, Aws::String&& value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, std::move(value)); return *this; }
125
126
127 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(Aws::String&& key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(std::move(key), value); return *this; }
128
129
130 inline GetBucketLoggingRequest& AddCustomizedAccessLogTag(const char* key, const char* value) { m_customizedAccessLogTagHasBeenSet = true; m_customizedAccessLogTag.emplace(key, value); return *this; }
131
132 private:
133
134 Aws::String m_bucket;
135 bool m_bucketHasBeenSet;
136
137 Aws::Map<Aws::String, Aws::String> m_customizedAccessLogTag;
138 bool m_customizedAccessLogTagHasBeenSet;
139 };
140
141} // namespace Model
142} // namespace S3
143} // namespace Aws
144