AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
PrincipalPermissions.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/glue/Glue_EXPORTS.h>
9#include <aws/glue/model/DataLakePrincipal.h>
10#include <aws/glue/model/Permission.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace Glue {
22namespace Model {
23
30 public:
31 AWS_GLUE_API PrincipalPermissions() = default;
35
37
40 inline const DataLakePrincipal& GetPrincipal() const { return m_principal; }
41 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
42 template <typename PrincipalT = DataLakePrincipal>
43 void SetPrincipal(PrincipalT&& value) {
44 m_principalHasBeenSet = true;
45 m_principal = std::forward<PrincipalT>(value);
46 }
47 template <typename PrincipalT = DataLakePrincipal>
48 PrincipalPermissions& WithPrincipal(PrincipalT&& value) {
49 SetPrincipal(std::forward<PrincipalT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::Vector<Permission>& GetPermissions() const { return m_permissions; }
59 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
60 template <typename PermissionsT = Aws::Vector<Permission>>
61 void SetPermissions(PermissionsT&& value) {
62 m_permissionsHasBeenSet = true;
63 m_permissions = std::forward<PermissionsT>(value);
64 }
65 template <typename PermissionsT = Aws::Vector<Permission>>
66 PrincipalPermissions& WithPermissions(PermissionsT&& value) {
67 SetPermissions(std::forward<PermissionsT>(value));
68 return *this;
69 }
71 m_permissionsHasBeenSet = true;
72 m_permissions.push_back(value);
73 return *this;
74 }
76 private:
77 DataLakePrincipal m_principal;
78
79 Aws::Vector<Permission> m_permissions;
80 bool m_principalHasBeenSet = false;
81 bool m_permissionsHasBeenSet = false;
82};
83
84} // namespace Model
85} // namespace Glue
86} // namespace Aws
PrincipalPermissions & WithPermissions(PermissionsT &&value)
AWS_GLUE_API PrincipalPermissions(Aws::Utils::Json::JsonView jsonValue)
PrincipalPermissions & WithPrincipal(PrincipalT &&value)
AWS_GLUE_API PrincipalPermissions & operator=(Aws::Utils::Json::JsonView jsonValue)
PrincipalPermissions & AddPermissions(Permission value)
AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_GLUE_API PrincipalPermissions()=default
const DataLakePrincipal & GetPrincipal() const
const Aws::Vector< Permission > & GetPermissions() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue