AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Permission.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/signer/Signer_EXPORTS.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace signer {
20namespace Model {
21
29 public:
30 AWS_SIGNER_API Permission() = default;
31 AWS_SIGNER_API Permission(Aws::Utils::Json::JsonView jsonValue);
33 AWS_SIGNER_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const Aws::String& GetAction() const { return m_action; }
40 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
41 template <typename ActionT = Aws::String>
42 void SetAction(ActionT&& value) {
43 m_actionHasBeenSet = true;
44 m_action = std::forward<ActionT>(value);
45 }
46 template <typename ActionT = Aws::String>
47 Permission& WithAction(ActionT&& value) {
48 SetAction(std::forward<ActionT>(value));
49 return *this;
50 }
52
54
57 inline const Aws::String& GetPrincipal() const { return m_principal; }
58 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
59 template <typename PrincipalT = Aws::String>
60 void SetPrincipal(PrincipalT&& value) {
61 m_principalHasBeenSet = true;
62 m_principal = std::forward<PrincipalT>(value);
63 }
64 template <typename PrincipalT = Aws::String>
65 Permission& WithPrincipal(PrincipalT&& value) {
66 SetPrincipal(std::forward<PrincipalT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::String& GetStatementId() const { return m_statementId; }
76 inline bool StatementIdHasBeenSet() const { return m_statementIdHasBeenSet; }
77 template <typename StatementIdT = Aws::String>
78 void SetStatementId(StatementIdT&& value) {
79 m_statementIdHasBeenSet = true;
80 m_statementId = std::forward<StatementIdT>(value);
81 }
82 template <typename StatementIdT = Aws::String>
83 Permission& WithStatementId(StatementIdT&& value) {
84 SetStatementId(std::forward<StatementIdT>(value));
85 return *this;
86 }
88
90
93 inline const Aws::String& GetProfileVersion() const { return m_profileVersion; }
94 inline bool ProfileVersionHasBeenSet() const { return m_profileVersionHasBeenSet; }
95 template <typename ProfileVersionT = Aws::String>
96 void SetProfileVersion(ProfileVersionT&& value) {
97 m_profileVersionHasBeenSet = true;
98 m_profileVersion = std::forward<ProfileVersionT>(value);
99 }
100 template <typename ProfileVersionT = Aws::String>
101 Permission& WithProfileVersion(ProfileVersionT&& value) {
102 SetProfileVersion(std::forward<ProfileVersionT>(value));
103 return *this;
104 }
106 private:
107 Aws::String m_action;
108
109 Aws::String m_principal;
110
111 Aws::String m_statementId;
112
113 Aws::String m_profileVersion;
114 bool m_actionHasBeenSet = false;
115 bool m_principalHasBeenSet = false;
116 bool m_statementIdHasBeenSet = false;
117 bool m_profileVersionHasBeenSet = false;
118};
119
120} // namespace Model
121} // namespace signer
122} // namespace Aws
void SetStatementId(StatementIdT &&value)
Definition Permission.h:78
AWS_SIGNER_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetAction() const
Definition Permission.h:39
const Aws::String & GetPrincipal() const
Definition Permission.h:57
Permission & WithPrincipal(PrincipalT &&value)
Definition Permission.h:65
Permission & WithStatementId(StatementIdT &&value)
Definition Permission.h:83
const Aws::String & GetStatementId() const
Definition Permission.h:75
AWS_SIGNER_API Permission()=default
void SetProfileVersion(ProfileVersionT &&value)
Definition Permission.h:96
void SetAction(ActionT &&value)
Definition Permission.h:42
const Aws::String & GetProfileVersion() const
Definition Permission.h:93
Permission & WithAction(ActionT &&value)
Definition Permission.h:47
bool ProfileVersionHasBeenSet() const
Definition Permission.h:94
AWS_SIGNER_API Permission & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetPrincipal(PrincipalT &&value)
Definition Permission.h:60
Permission & WithProfileVersion(ProfileVersionT &&value)
Definition Permission.h:101
AWS_SIGNER_API Permission(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue