AWS SDK for C++

AWS SDK for C++ Version 1.11.749

Loading...
Searching...
No Matches
IamActionDefinition.h
1
6#pragma once
7#include <aws/budgets/Budgets_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace Budgets {
21namespace Model {
22
30 public:
31 AWS_BUDGETS_API IamActionDefinition() = default;
34 AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetPolicyArn() const { return m_policyArn; }
41 inline bool PolicyArnHasBeenSet() const { return m_policyArnHasBeenSet; }
42 template <typename PolicyArnT = Aws::String>
43 void SetPolicyArn(PolicyArnT&& value) {
44 m_policyArnHasBeenSet = true;
45 m_policyArn = std::forward<PolicyArnT>(value);
46 }
47 template <typename PolicyArnT = Aws::String>
48 IamActionDefinition& WithPolicyArn(PolicyArnT&& value) {
49 SetPolicyArn(std::forward<PolicyArnT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::Vector<Aws::String>& GetRoles() const { return m_roles; }
59 inline bool RolesHasBeenSet() const { return m_rolesHasBeenSet; }
60 template <typename RolesT = Aws::Vector<Aws::String>>
61 void SetRoles(RolesT&& value) {
62 m_rolesHasBeenSet = true;
63 m_roles = std::forward<RolesT>(value);
64 }
65 template <typename RolesT = Aws::Vector<Aws::String>>
66 IamActionDefinition& WithRoles(RolesT&& value) {
67 SetRoles(std::forward<RolesT>(value));
68 return *this;
69 }
70 template <typename RolesT = Aws::String>
71 IamActionDefinition& AddRoles(RolesT&& value) {
72 m_rolesHasBeenSet = true;
73 m_roles.emplace_back(std::forward<RolesT>(value));
74 return *this;
75 }
77
79
82 inline const Aws::Vector<Aws::String>& GetGroups() const { return m_groups; }
83 inline bool GroupsHasBeenSet() const { return m_groupsHasBeenSet; }
84 template <typename GroupsT = Aws::Vector<Aws::String>>
85 void SetGroups(GroupsT&& value) {
86 m_groupsHasBeenSet = true;
87 m_groups = std::forward<GroupsT>(value);
88 }
89 template <typename GroupsT = Aws::Vector<Aws::String>>
90 IamActionDefinition& WithGroups(GroupsT&& value) {
91 SetGroups(std::forward<GroupsT>(value));
92 return *this;
93 }
94 template <typename GroupsT = Aws::String>
95 IamActionDefinition& AddGroups(GroupsT&& value) {
96 m_groupsHasBeenSet = true;
97 m_groups.emplace_back(std::forward<GroupsT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Vector<Aws::String>& GetUsers() const { return m_users; }
107 inline bool UsersHasBeenSet() const { return m_usersHasBeenSet; }
108 template <typename UsersT = Aws::Vector<Aws::String>>
109 void SetUsers(UsersT&& value) {
110 m_usersHasBeenSet = true;
111 m_users = std::forward<UsersT>(value);
112 }
113 template <typename UsersT = Aws::Vector<Aws::String>>
115 SetUsers(std::forward<UsersT>(value));
116 return *this;
117 }
118 template <typename UsersT = Aws::String>
119 IamActionDefinition& AddUsers(UsersT&& value) {
120 m_usersHasBeenSet = true;
121 m_users.emplace_back(std::forward<UsersT>(value));
122 return *this;
123 }
125 private:
126 Aws::String m_policyArn;
127
129
131
133 bool m_policyArnHasBeenSet = false;
134 bool m_rolesHasBeenSet = false;
135 bool m_groupsHasBeenSet = false;
136 bool m_usersHasBeenSet = false;
137};
138
139} // namespace Model
140} // namespace Budgets
141} // namespace Aws
AWS_BUDGETS_API IamActionDefinition()=default
IamActionDefinition & AddRoles(RolesT &&value)
AWS_BUDGETS_API Aws::Utils::Json::JsonValue Jsonize() const
IamActionDefinition & WithPolicyArn(PolicyArnT &&value)
IamActionDefinition & AddUsers(UsersT &&value)
const Aws::Vector< Aws::String > & GetGroups() const
const Aws::Vector< Aws::String > & GetRoles() const
const Aws::Vector< Aws::String > & GetUsers() const
IamActionDefinition & WithGroups(GroupsT &&value)
AWS_BUDGETS_API IamActionDefinition(Aws::Utils::Json::JsonView jsonValue)
IamActionDefinition & AddGroups(GroupsT &&value)
AWS_BUDGETS_API IamActionDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
IamActionDefinition & WithUsers(UsersT &&value)
IamActionDefinition & WithRoles(RolesT &&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