AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
LakeFormationDataPermissionAsset.h
1
6#pragma once
7#include <aws/dataexchange/DataExchange_EXPORTS.h>
8#include <aws/dataexchange/model/LakeFormationDataPermissionDetails.h>
9#include <aws/dataexchange/model/LakeFormationDataPermissionType.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/dataexchange/model/LFPermission.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace DataExchange
26{
27namespace Model
28{
29
36 {
37 public:
38 AWS_DATAEXCHANGE_API LakeFormationDataPermissionAsset() = default;
41 AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
48 inline const LakeFormationDataPermissionDetails& GetLakeFormationDataPermissionDetails() const { return m_lakeFormationDataPermissionDetails; }
49 inline bool LakeFormationDataPermissionDetailsHasBeenSet() const { return m_lakeFormationDataPermissionDetailsHasBeenSet; }
50 template<typename LakeFormationDataPermissionDetailsT = LakeFormationDataPermissionDetails>
51 void SetLakeFormationDataPermissionDetails(LakeFormationDataPermissionDetailsT&& value) { m_lakeFormationDataPermissionDetailsHasBeenSet = true; m_lakeFormationDataPermissionDetails = std::forward<LakeFormationDataPermissionDetailsT>(value); }
52 template<typename LakeFormationDataPermissionDetailsT = LakeFormationDataPermissionDetails>
53 LakeFormationDataPermissionAsset& WithLakeFormationDataPermissionDetails(LakeFormationDataPermissionDetailsT&& value) { SetLakeFormationDataPermissionDetails(std::forward<LakeFormationDataPermissionDetailsT>(value)); return *this;}
55
57
60 inline LakeFormationDataPermissionType GetLakeFormationDataPermissionType() const { return m_lakeFormationDataPermissionType; }
61 inline bool LakeFormationDataPermissionTypeHasBeenSet() const { return m_lakeFormationDataPermissionTypeHasBeenSet; }
62 inline void SetLakeFormationDataPermissionType(LakeFormationDataPermissionType value) { m_lakeFormationDataPermissionTypeHasBeenSet = true; m_lakeFormationDataPermissionType = value; }
65
67
70 inline const Aws::Vector<LFPermission>& GetPermissions() const { return m_permissions; }
71 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
72 template<typename PermissionsT = Aws::Vector<LFPermission>>
73 void SetPermissions(PermissionsT&& value) { m_permissionsHasBeenSet = true; m_permissions = std::forward<PermissionsT>(value); }
74 template<typename PermissionsT = Aws::Vector<LFPermission>>
75 LakeFormationDataPermissionAsset& WithPermissions(PermissionsT&& value) { SetPermissions(std::forward<PermissionsT>(value)); return *this;}
76 inline LakeFormationDataPermissionAsset& AddPermissions(LFPermission value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
78
80
84 inline const Aws::String& GetRoleArn() const { return m_roleArn; }
85 inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
86 template<typename RoleArnT = Aws::String>
87 void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::forward<RoleArnT>(value); }
88 template<typename RoleArnT = Aws::String>
89 LakeFormationDataPermissionAsset& WithRoleArn(RoleArnT&& value) { SetRoleArn(std::forward<RoleArnT>(value)); return *this;}
91 private:
92
93 LakeFormationDataPermissionDetails m_lakeFormationDataPermissionDetails;
94 bool m_lakeFormationDataPermissionDetailsHasBeenSet = false;
95
97 bool m_lakeFormationDataPermissionTypeHasBeenSet = false;
98
99 Aws::Vector<LFPermission> m_permissions;
100 bool m_permissionsHasBeenSet = false;
101
102 Aws::String m_roleArn;
103 bool m_roleArnHasBeenSet = false;
104 };
105
106} // namespace Model
107} // namespace DataExchange
108} // namespace Aws
const LakeFormationDataPermissionDetails & GetLakeFormationDataPermissionDetails() const
void SetLakeFormationDataPermissionType(LakeFormationDataPermissionType value)
LakeFormationDataPermissionAsset & AddPermissions(LFPermission value)
AWS_DATAEXCHANGE_API LakeFormationDataPermissionAsset(Aws::Utils::Json::JsonView jsonValue)
AWS_DATAEXCHANGE_API LakeFormationDataPermissionAsset()=default
LakeFormationDataPermissionAsset & WithPermissions(PermissionsT &&value)
LakeFormationDataPermissionAsset & WithRoleArn(RoleArnT &&value)
LakeFormationDataPermissionAsset & WithLakeFormationDataPermissionType(LakeFormationDataPermissionType value)
void SetLakeFormationDataPermissionDetails(LakeFormationDataPermissionDetailsT &&value)
AWS_DATAEXCHANGE_API LakeFormationDataPermissionAsset & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_DATAEXCHANGE_API Aws::Utils::Json::JsonValue Jsonize() const
LakeFormationDataPermissionAsset & WithLakeFormationDataPermissionDetails(LakeFormationDataPermissionDetailsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue