AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PrincipalPermissions.h
1
6#pragma once
7#include <aws/glue/Glue_EXPORTS.h>
8#include <aws/glue/model/DataLakePrincipal.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glue/model/Permission.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Glue
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_GLUE_API PrincipalPermissions() = default;
40
41
43
46 inline const DataLakePrincipal& GetPrincipal() const { return m_principal; }
47 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
48 template<typename PrincipalT = DataLakePrincipal>
49 void SetPrincipal(PrincipalT&& value) { m_principalHasBeenSet = true; m_principal = std::forward<PrincipalT>(value); }
50 template<typename PrincipalT = DataLakePrincipal>
51 PrincipalPermissions& WithPrincipal(PrincipalT&& value) { SetPrincipal(std::forward<PrincipalT>(value)); return *this;}
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) { m_permissionsHasBeenSet = true; m_permissions = std::forward<PermissionsT>(value); }
62 template<typename PermissionsT = Aws::Vector<Permission>>
63 PrincipalPermissions& WithPermissions(PermissionsT&& value) { SetPermissions(std::forward<PermissionsT>(value)); return *this;}
64 inline PrincipalPermissions& AddPermissions(Permission value) { m_permissionsHasBeenSet = true; m_permissions.push_back(value); return *this; }
66 private:
67
68 DataLakePrincipal m_principal;
69 bool m_principalHasBeenSet = false;
70
71 Aws::Vector<Permission> m_permissions;
72 bool m_permissionsHasBeenSet = false;
73 };
74
75} // namespace Model
76} // namespace Glue
77} // 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