AWS SDK for C++

AWS SDK for C++ Version 1.11.817

Loading...
Searching...
No Matches
PermissionModel.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/resiliencehubv2/Resiliencehubv2_EXPORTS.h>
10#include <aws/resiliencehubv2/model/CrossAccountRole.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace resiliencehubv2 {
22namespace Model {
23
30 public:
31 AWS_RESILIENCEHUBV2_API PermissionModel() = default;
32 AWS_RESILIENCEHUBV2_API PermissionModel(Aws::Utils::Json::JsonView jsonValue);
33 AWS_RESILIENCEHUBV2_API PermissionModel& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_RESILIENCEHUBV2_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
38 inline const Aws::String& GetInvokerRoleName() const { return m_invokerRoleName; }
39 inline bool InvokerRoleNameHasBeenSet() const { return m_invokerRoleNameHasBeenSet; }
40 template <typename InvokerRoleNameT = Aws::String>
41 void SetInvokerRoleName(InvokerRoleNameT&& value) {
42 m_invokerRoleNameHasBeenSet = true;
43 m_invokerRoleName = std::forward<InvokerRoleNameT>(value);
44 }
45 template <typename InvokerRoleNameT = Aws::String>
46 PermissionModel& WithInvokerRoleName(InvokerRoleNameT&& value) {
47 SetInvokerRoleName(std::forward<InvokerRoleNameT>(value));
48 return *this;
49 }
51
53
56 inline const Aws::Vector<CrossAccountRole>& GetCrossAccountRoles() const { return m_crossAccountRoles; }
57 inline bool CrossAccountRolesHasBeenSet() const { return m_crossAccountRolesHasBeenSet; }
58 template <typename CrossAccountRolesT = Aws::Vector<CrossAccountRole>>
59 void SetCrossAccountRoles(CrossAccountRolesT&& value) {
60 m_crossAccountRolesHasBeenSet = true;
61 m_crossAccountRoles = std::forward<CrossAccountRolesT>(value);
62 }
63 template <typename CrossAccountRolesT = Aws::Vector<CrossAccountRole>>
64 PermissionModel& WithCrossAccountRoles(CrossAccountRolesT&& value) {
65 SetCrossAccountRoles(std::forward<CrossAccountRolesT>(value));
66 return *this;
67 }
68 template <typename CrossAccountRolesT = CrossAccountRole>
69 PermissionModel& AddCrossAccountRoles(CrossAccountRolesT&& value) {
70 m_crossAccountRolesHasBeenSet = true;
71 m_crossAccountRoles.emplace_back(std::forward<CrossAccountRolesT>(value));
72 return *this;
73 }
75 private:
76 Aws::String m_invokerRoleName;
77
78 Aws::Vector<CrossAccountRole> m_crossAccountRoles;
79 bool m_invokerRoleNameHasBeenSet = false;
80 bool m_crossAccountRolesHasBeenSet = false;
81};
82
83} // namespace Model
84} // namespace resiliencehubv2
85} // namespace Aws
void SetCrossAccountRoles(CrossAccountRolesT &&value)
AWS_RESILIENCEHUBV2_API PermissionModel(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUBV2_API Aws::Utils::Json::JsonValue Jsonize() const
PermissionModel & WithInvokerRoleName(InvokerRoleNameT &&value)
AWS_RESILIENCEHUBV2_API PermissionModel & operator=(Aws::Utils::Json::JsonView jsonValue)
PermissionModel & AddCrossAccountRoles(CrossAccountRolesT &&value)
AWS_RESILIENCEHUBV2_API PermissionModel()=default
PermissionModel & WithCrossAccountRoles(CrossAccountRolesT &&value)
const Aws::String & GetInvokerRoleName() const
void SetInvokerRoleName(InvokerRoleNameT &&value)
const Aws::Vector< CrossAccountRole > & GetCrossAccountRoles() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue