AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
S3BucketConfiguration.h
1
6#pragma once
7#include <aws/accessanalyzer/AccessAnalyzer_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/accessanalyzer/model/S3PublicAccessBlockConfiguration.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/accessanalyzer/model/S3BucketAclGrantConfiguration.h>
13#include <aws/accessanalyzer/model/S3AccessPointConfiguration.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace AccessAnalyzer
27{
28namespace Model
29{
30
49 {
50 public:
51 AWS_ACCESSANALYZER_API S3BucketConfiguration() = default;
52 AWS_ACCESSANALYZER_API S3BucketConfiguration(Aws::Utils::Json::JsonView jsonValue);
54 AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const;
55
56
58
61 inline const Aws::String& GetBucketPolicy() const { return m_bucketPolicy; }
62 inline bool BucketPolicyHasBeenSet() const { return m_bucketPolicyHasBeenSet; }
63 template<typename BucketPolicyT = Aws::String>
64 void SetBucketPolicy(BucketPolicyT&& value) { m_bucketPolicyHasBeenSet = true; m_bucketPolicy = std::forward<BucketPolicyT>(value); }
65 template<typename BucketPolicyT = Aws::String>
66 S3BucketConfiguration& WithBucketPolicy(BucketPolicyT&& value) { SetBucketPolicy(std::forward<BucketPolicyT>(value)); return *this;}
68
70
77 inline const Aws::Vector<S3BucketAclGrantConfiguration>& GetBucketAclGrants() const { return m_bucketAclGrants; }
78 inline bool BucketAclGrantsHasBeenSet() const { return m_bucketAclGrantsHasBeenSet; }
79 template<typename BucketAclGrantsT = Aws::Vector<S3BucketAclGrantConfiguration>>
80 void SetBucketAclGrants(BucketAclGrantsT&& value) { m_bucketAclGrantsHasBeenSet = true; m_bucketAclGrants = std::forward<BucketAclGrantsT>(value); }
81 template<typename BucketAclGrantsT = Aws::Vector<S3BucketAclGrantConfiguration>>
82 S3BucketConfiguration& WithBucketAclGrants(BucketAclGrantsT&& value) { SetBucketAclGrants(std::forward<BucketAclGrantsT>(value)); return *this;}
83 template<typename BucketAclGrantsT = S3BucketAclGrantConfiguration>
84 S3BucketConfiguration& AddBucketAclGrants(BucketAclGrantsT&& value) { m_bucketAclGrantsHasBeenSet = true; m_bucketAclGrants.emplace_back(std::forward<BucketAclGrantsT>(value)); return *this; }
86
88
91 inline const S3PublicAccessBlockConfiguration& GetBucketPublicAccessBlock() const { return m_bucketPublicAccessBlock; }
92 inline bool BucketPublicAccessBlockHasBeenSet() const { return m_bucketPublicAccessBlockHasBeenSet; }
93 template<typename BucketPublicAccessBlockT = S3PublicAccessBlockConfiguration>
94 void SetBucketPublicAccessBlock(BucketPublicAccessBlockT&& value) { m_bucketPublicAccessBlockHasBeenSet = true; m_bucketPublicAccessBlock = std::forward<BucketPublicAccessBlockT>(value); }
95 template<typename BucketPublicAccessBlockT = S3PublicAccessBlockConfiguration>
96 S3BucketConfiguration& WithBucketPublicAccessBlock(BucketPublicAccessBlockT&& value) { SetBucketPublicAccessBlock(std::forward<BucketPublicAccessBlockT>(value)); return *this;}
98
100
104 inline const Aws::Map<Aws::String, S3AccessPointConfiguration>& GetAccessPoints() const { return m_accessPoints; }
105 inline bool AccessPointsHasBeenSet() const { return m_accessPointsHasBeenSet; }
106 template<typename AccessPointsT = Aws::Map<Aws::String, S3AccessPointConfiguration>>
107 void SetAccessPoints(AccessPointsT&& value) { m_accessPointsHasBeenSet = true; m_accessPoints = std::forward<AccessPointsT>(value); }
108 template<typename AccessPointsT = Aws::Map<Aws::String, S3AccessPointConfiguration>>
109 S3BucketConfiguration& WithAccessPoints(AccessPointsT&& value) { SetAccessPoints(std::forward<AccessPointsT>(value)); return *this;}
110 template<typename AccessPointsKeyT = Aws::String, typename AccessPointsValueT = S3AccessPointConfiguration>
111 S3BucketConfiguration& AddAccessPoints(AccessPointsKeyT&& key, AccessPointsValueT&& value) {
112 m_accessPointsHasBeenSet = true; m_accessPoints.emplace(std::forward<AccessPointsKeyT>(key), std::forward<AccessPointsValueT>(value)); return *this;
113 }
115 private:
116
117 Aws::String m_bucketPolicy;
118 bool m_bucketPolicyHasBeenSet = false;
119
121 bool m_bucketAclGrantsHasBeenSet = false;
122
123 S3PublicAccessBlockConfiguration m_bucketPublicAccessBlock;
124 bool m_bucketPublicAccessBlockHasBeenSet = false;
125
127 bool m_accessPointsHasBeenSet = false;
128 };
129
130} // namespace Model
131} // namespace AccessAnalyzer
132} // namespace Aws
S3BucketConfiguration & WithAccessPoints(AccessPointsT &&value)
AWS_ACCESSANALYZER_API S3BucketConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_ACCESSANALYZER_API S3BucketConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
S3BucketConfiguration & WithBucketPolicy(BucketPolicyT &&value)
void SetBucketPublicAccessBlock(BucketPublicAccessBlockT &&value)
S3BucketConfiguration & WithBucketPublicAccessBlock(BucketPublicAccessBlockT &&value)
AWS_ACCESSANALYZER_API Aws::Utils::Json::JsonValue Jsonize() const
S3BucketConfiguration & WithBucketAclGrants(BucketAclGrantsT &&value)
AWS_ACCESSANALYZER_API S3BucketConfiguration()=default
S3BucketConfiguration & AddBucketAclGrants(BucketAclGrantsT &&value)
const Aws::Map< Aws::String, S3AccessPointConfiguration > & GetAccessPoints() const
const Aws::Vector< S3BucketAclGrantConfiguration > & GetBucketAclGrants() const
S3BucketConfiguration & AddAccessPoints(AccessPointsKeyT &&key, AccessPointsValueT &&value)
const S3PublicAccessBlockConfiguration & GetBucketPublicAccessBlock() const
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue