AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
PolicyStatement.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSVector.h>
8#include <aws/mailmanager/MailManager_EXPORTS.h>
9#include <aws/mailmanager/model/AcceptAction.h>
10#include <aws/mailmanager/model/PolicyCondition.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace MailManager {
22namespace Model {
23
31 public:
32 AWS_MAILMANAGER_API PolicyStatement() = default;
33 AWS_MAILMANAGER_API PolicyStatement(Aws::Utils::Json::JsonView jsonValue);
34 AWS_MAILMANAGER_API PolicyStatement& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
42 inline const Aws::Vector<PolicyCondition>& GetConditions() const { return m_conditions; }
43 inline bool ConditionsHasBeenSet() const { return m_conditionsHasBeenSet; }
44 template <typename ConditionsT = Aws::Vector<PolicyCondition>>
45 void SetConditions(ConditionsT&& value) {
46 m_conditionsHasBeenSet = true;
47 m_conditions = std::forward<ConditionsT>(value);
48 }
49 template <typename ConditionsT = Aws::Vector<PolicyCondition>>
50 PolicyStatement& WithConditions(ConditionsT&& value) {
51 SetConditions(std::forward<ConditionsT>(value));
52 return *this;
53 }
54 template <typename ConditionsT = PolicyCondition>
55 PolicyStatement& AddConditions(ConditionsT&& value) {
56 m_conditionsHasBeenSet = true;
57 m_conditions.emplace_back(std::forward<ConditionsT>(value));
58 return *this;
59 }
61
63
67 inline AcceptAction GetAction() const { return m_action; }
68 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
69 inline void SetAction(AcceptAction value) {
70 m_actionHasBeenSet = true;
71 m_action = value;
72 }
74 SetAction(value);
75 return *this;
76 }
78 private:
80
82 bool m_conditionsHasBeenSet = false;
83 bool m_actionHasBeenSet = false;
84};
85
86} // namespace Model
87} // namespace MailManager
88} // namespace Aws
const Aws::Vector< PolicyCondition > & GetConditions() const
AWS_MAILMANAGER_API PolicyStatement(Aws::Utils::Json::JsonView jsonValue)
AWS_MAILMANAGER_API Aws::Utils::Json::JsonValue Jsonize() const
void SetConditions(ConditionsT &&value)
PolicyStatement & AddConditions(ConditionsT &&value)
AWS_MAILMANAGER_API PolicyStatement()=default
PolicyStatement & WithConditions(ConditionsT &&value)
AWS_MAILMANAGER_API PolicyStatement & operator=(Aws::Utils::Json::JsonView jsonValue)
PolicyStatement & WithAction(AcceptAction value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue