AWS SDK for C++

AWS SDK for C++ Version 1.11.741

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/resiliencehub/ResilienceHub_EXPORTS.h>
10#include <aws/resiliencehub/model/PermissionModelType.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ResilienceHub {
22namespace Model {
23
32 public:
33 AWS_RESILIENCEHUB_API PermissionModel() = default;
34 AWS_RESILIENCEHUB_API PermissionModel(Aws::Utils::Json::JsonView jsonValue);
35 AWS_RESILIENCEHUB_API PermissionModel& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
49 inline const Aws::Vector<Aws::String>& GetCrossAccountRoleArns() const { return m_crossAccountRoleArns; }
50 inline bool CrossAccountRoleArnsHasBeenSet() const { return m_crossAccountRoleArnsHasBeenSet; }
51 template <typename CrossAccountRoleArnsT = Aws::Vector<Aws::String>>
52 void SetCrossAccountRoleArns(CrossAccountRoleArnsT&& value) {
53 m_crossAccountRoleArnsHasBeenSet = true;
54 m_crossAccountRoleArns = std::forward<CrossAccountRoleArnsT>(value);
55 }
56 template <typename CrossAccountRoleArnsT = Aws::Vector<Aws::String>>
57 PermissionModel& WithCrossAccountRoleArns(CrossAccountRoleArnsT&& value) {
58 SetCrossAccountRoleArns(std::forward<CrossAccountRoleArnsT>(value));
59 return *this;
60 }
61 template <typename CrossAccountRoleArnsT = Aws::String>
62 PermissionModel& AddCrossAccountRoleArns(CrossAccountRoleArnsT&& value) {
63 m_crossAccountRoleArnsHasBeenSet = true;
64 m_crossAccountRoleArns.emplace_back(std::forward<CrossAccountRoleArnsT>(value));
65 return *this;
66 }
68
70
82 inline const Aws::String& GetInvokerRoleName() const { return m_invokerRoleName; }
83 inline bool InvokerRoleNameHasBeenSet() const { return m_invokerRoleNameHasBeenSet; }
84 template <typename InvokerRoleNameT = Aws::String>
85 void SetInvokerRoleName(InvokerRoleNameT&& value) {
86 m_invokerRoleNameHasBeenSet = true;
87 m_invokerRoleName = std::forward<InvokerRoleNameT>(value);
88 }
89 template <typename InvokerRoleNameT = Aws::String>
90 PermissionModel& WithInvokerRoleName(InvokerRoleNameT&& value) {
91 SetInvokerRoleName(std::forward<InvokerRoleNameT>(value));
92 return *this;
93 }
95
97
102 inline PermissionModelType GetType() const { return m_type; }
103 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
104 inline void SetType(PermissionModelType value) {
105 m_typeHasBeenSet = true;
106 m_type = value;
107 }
109 SetType(value);
110 return *this;
111 }
113 private:
114 Aws::Vector<Aws::String> m_crossAccountRoleArns;
115
116 Aws::String m_invokerRoleName;
117
119 bool m_crossAccountRoleArnsHasBeenSet = false;
120 bool m_invokerRoleNameHasBeenSet = false;
121 bool m_typeHasBeenSet = false;
122};
123
124} // namespace Model
125} // namespace ResilienceHub
126} // namespace Aws
void SetInvokerRoleName(InvokerRoleNameT &&value)
PermissionModel & WithInvokerRoleName(InvokerRoleNameT &&value)
AWS_RESILIENCEHUB_API PermissionModel(Aws::Utils::Json::JsonView jsonValue)
void SetType(PermissionModelType value)
void SetCrossAccountRoleArns(CrossAccountRoleArnsT &&value)
const Aws::String & GetInvokerRoleName() const
AWS_RESILIENCEHUB_API PermissionModel & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_RESILIENCEHUB_API PermissionModel()=default
PermissionModel & WithCrossAccountRoleArns(CrossAccountRoleArnsT &&value)
AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< Aws::String > & GetCrossAccountRoleArns() const
PermissionModel & AddCrossAccountRoleArns(CrossAccountRoleArnsT &&value)
PermissionModel & WithType(PermissionModelType 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