AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PermissionModel.h
1
6#pragma once
7#include <aws/resiliencehub/ResilienceHub_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/resiliencehub/model/PermissionModelType.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 ResilienceHub
24{
25namespace Model
26{
27
36 {
37 public:
38 AWS_RESILIENCEHUB_API PermissionModel() = default;
39 AWS_RESILIENCEHUB_API PermissionModel(Aws::Utils::Json::JsonView jsonValue);
40 AWS_RESILIENCEHUB_API PermissionModel& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_RESILIENCEHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
55 inline const Aws::Vector<Aws::String>& GetCrossAccountRoleArns() const { return m_crossAccountRoleArns; }
56 inline bool CrossAccountRoleArnsHasBeenSet() const { return m_crossAccountRoleArnsHasBeenSet; }
57 template<typename CrossAccountRoleArnsT = Aws::Vector<Aws::String>>
58 void SetCrossAccountRoleArns(CrossAccountRoleArnsT&& value) { m_crossAccountRoleArnsHasBeenSet = true; m_crossAccountRoleArns = std::forward<CrossAccountRoleArnsT>(value); }
59 template<typename CrossAccountRoleArnsT = Aws::Vector<Aws::String>>
60 PermissionModel& WithCrossAccountRoleArns(CrossAccountRoleArnsT&& value) { SetCrossAccountRoleArns(std::forward<CrossAccountRoleArnsT>(value)); return *this;}
61 template<typename CrossAccountRoleArnsT = Aws::String>
62 PermissionModel& AddCrossAccountRoleArns(CrossAccountRoleArnsT&& value) { m_crossAccountRoleArnsHasBeenSet = true; m_crossAccountRoleArns.emplace_back(std::forward<CrossAccountRoleArnsT>(value)); return *this; }
64
66
78 inline const Aws::String& GetInvokerRoleName() const { return m_invokerRoleName; }
79 inline bool InvokerRoleNameHasBeenSet() const { return m_invokerRoleNameHasBeenSet; }
80 template<typename InvokerRoleNameT = Aws::String>
81 void SetInvokerRoleName(InvokerRoleNameT&& value) { m_invokerRoleNameHasBeenSet = true; m_invokerRoleName = std::forward<InvokerRoleNameT>(value); }
82 template<typename InvokerRoleNameT = Aws::String>
83 PermissionModel& WithInvokerRoleName(InvokerRoleNameT&& value) { SetInvokerRoleName(std::forward<InvokerRoleNameT>(value)); return *this;}
85
87
92 inline PermissionModelType GetType() const { return m_type; }
93 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
94 inline void SetType(PermissionModelType value) { m_typeHasBeenSet = true; m_type = value; }
95 inline PermissionModel& WithType(PermissionModelType value) { SetType(value); return *this;}
97 private:
98
99 Aws::Vector<Aws::String> m_crossAccountRoleArns;
100 bool m_crossAccountRoleArnsHasBeenSet = false;
101
102 Aws::String m_invokerRoleName;
103 bool m_invokerRoleNameHasBeenSet = false;
104
106 bool m_typeHasBeenSet = false;
107 };
108
109} // namespace Model
110} // namespace ResilienceHub
111} // 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