AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ScopeDetails.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/dataexchange/DataExchange_EXPORTS.h>
9#include <aws/dataexchange/model/LakeFormationTagPolicyDetails.h>
10#include <aws/dataexchange/model/RedshiftDataShareDetails.h>
11#include <aws/dataexchange/model/S3DataAccessDetails.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace DataExchange {
23namespace Model {
24
32 public:
33 AWS_DATAEXCHANGE_API ScopeDetails() = default;
34 AWS_DATAEXCHANGE_API ScopeDetails(Aws::Utils::Json::JsonView jsonValue);
35 AWS_DATAEXCHANGE_API ScopeDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Aws::Vector<LakeFormationTagPolicyDetails>& GetLakeFormationTagPolicies() const { return m_lakeFormationTagPolicies; }
43 inline bool LakeFormationTagPoliciesHasBeenSet() const { return m_lakeFormationTagPoliciesHasBeenSet; }
44 template <typename LakeFormationTagPoliciesT = Aws::Vector<LakeFormationTagPolicyDetails>>
45 void SetLakeFormationTagPolicies(LakeFormationTagPoliciesT&& value) {
46 m_lakeFormationTagPoliciesHasBeenSet = true;
47 m_lakeFormationTagPolicies = std::forward<LakeFormationTagPoliciesT>(value);
48 }
49 template <typename LakeFormationTagPoliciesT = Aws::Vector<LakeFormationTagPolicyDetails>>
50 ScopeDetails& WithLakeFormationTagPolicies(LakeFormationTagPoliciesT&& value) {
51 SetLakeFormationTagPolicies(std::forward<LakeFormationTagPoliciesT>(value));
52 return *this;
53 }
54 template <typename LakeFormationTagPoliciesT = LakeFormationTagPolicyDetails>
55 ScopeDetails& AddLakeFormationTagPolicies(LakeFormationTagPoliciesT&& value) {
56 m_lakeFormationTagPoliciesHasBeenSet = true;
57 m_lakeFormationTagPolicies.emplace_back(std::forward<LakeFormationTagPoliciesT>(value));
58 return *this;
59 }
61
63
66 inline const Aws::Vector<RedshiftDataShareDetails>& GetRedshiftDataShares() const { return m_redshiftDataShares; }
67 inline bool RedshiftDataSharesHasBeenSet() const { return m_redshiftDataSharesHasBeenSet; }
68 template <typename RedshiftDataSharesT = Aws::Vector<RedshiftDataShareDetails>>
69 void SetRedshiftDataShares(RedshiftDataSharesT&& value) {
70 m_redshiftDataSharesHasBeenSet = true;
71 m_redshiftDataShares = std::forward<RedshiftDataSharesT>(value);
72 }
73 template <typename RedshiftDataSharesT = Aws::Vector<RedshiftDataShareDetails>>
74 ScopeDetails& WithRedshiftDataShares(RedshiftDataSharesT&& value) {
75 SetRedshiftDataShares(std::forward<RedshiftDataSharesT>(value));
76 return *this;
77 }
78 template <typename RedshiftDataSharesT = RedshiftDataShareDetails>
79 ScopeDetails& AddRedshiftDataShares(RedshiftDataSharesT&& value) {
80 m_redshiftDataSharesHasBeenSet = true;
81 m_redshiftDataShares.emplace_back(std::forward<RedshiftDataSharesT>(value));
82 return *this;
83 }
85
87
90 inline const Aws::Vector<S3DataAccessDetails>& GetS3DataAccesses() const { return m_s3DataAccesses; }
91 inline bool S3DataAccessesHasBeenSet() const { return m_s3DataAccessesHasBeenSet; }
92 template <typename S3DataAccessesT = Aws::Vector<S3DataAccessDetails>>
93 void SetS3DataAccesses(S3DataAccessesT&& value) {
94 m_s3DataAccessesHasBeenSet = true;
95 m_s3DataAccesses = std::forward<S3DataAccessesT>(value);
96 }
97 template <typename S3DataAccessesT = Aws::Vector<S3DataAccessDetails>>
98 ScopeDetails& WithS3DataAccesses(S3DataAccessesT&& value) {
99 SetS3DataAccesses(std::forward<S3DataAccessesT>(value));
100 return *this;
101 }
102 template <typename S3DataAccessesT = S3DataAccessDetails>
103 ScopeDetails& AddS3DataAccesses(S3DataAccessesT&& value) {
104 m_s3DataAccessesHasBeenSet = true;
105 m_s3DataAccesses.emplace_back(std::forward<S3DataAccessesT>(value));
106 return *this;
107 }
109 private:
110 Aws::Vector<LakeFormationTagPolicyDetails> m_lakeFormationTagPolicies;
111
112 Aws::Vector<RedshiftDataShareDetails> m_redshiftDataShares;
113
114 Aws::Vector<S3DataAccessDetails> m_s3DataAccesses;
115 bool m_lakeFormationTagPoliciesHasBeenSet = false;
116 bool m_redshiftDataSharesHasBeenSet = false;
117 bool m_s3DataAccessesHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace DataExchange
122} // namespace Aws
AWS_DATAEXCHANGE_API ScopeDetails(Aws::Utils::Json::JsonView jsonValue)
AWS_DATAEXCHANGE_API ScopeDetails()=default
const Aws::Vector< RedshiftDataShareDetails > & GetRedshiftDataShares() const
ScopeDetails & AddRedshiftDataShares(RedshiftDataSharesT &&value)
ScopeDetails & AddS3DataAccesses(S3DataAccessesT &&value)
const Aws::Vector< S3DataAccessDetails > & GetS3DataAccesses() const
const Aws::Vector< LakeFormationTagPolicyDetails > & GetLakeFormationTagPolicies() const
AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const
ScopeDetails & WithS3DataAccesses(S3DataAccessesT &&value)
AWS_DATAEXCHANGE_API ScopeDetails & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetLakeFormationTagPolicies(LakeFormationTagPoliciesT &&value)
ScopeDetails & WithRedshiftDataShares(RedshiftDataSharesT &&value)
ScopeDetails & WithLakeFormationTagPolicies(LakeFormationTagPoliciesT &&value)
void SetS3DataAccesses(S3DataAccessesT &&value)
ScopeDetails & AddLakeFormationTagPolicies(LakeFormationTagPoliciesT &&value)
void SetRedshiftDataShares(RedshiftDataSharesT &&value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue