AWS SDK for C++

AWS SDK for C++ Version 1.11.744

Loading...
Searching...
No Matches
Policy.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/mpa/MPA_EXPORTS.h>
9#include <aws/mpa/model/PolicyType.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace MPA {
21namespace Model {
22
29class Policy {
30 public:
31 AWS_MPA_API Policy() = default;
32 AWS_MPA_API Policy(Aws::Utils::Json::JsonView jsonValue);
35
37
40 inline const Aws::String& GetArn() const { return m_arn; }
41 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
42 template <typename ArnT = Aws::String>
43 void SetArn(ArnT&& value) {
44 m_arnHasBeenSet = true;
45 m_arn = std::forward<ArnT>(value);
46 }
47 template <typename ArnT = Aws::String>
48 Policy& WithArn(ArnT&& value) {
49 SetArn(std::forward<ArnT>(value));
50 return *this;
51 }
53
55
58 inline int GetDefaultVersion() const { return m_defaultVersion; }
59 inline bool DefaultVersionHasBeenSet() const { return m_defaultVersionHasBeenSet; }
60 inline void SetDefaultVersion(int value) {
61 m_defaultVersionHasBeenSet = true;
62 m_defaultVersion = value;
63 }
64 inline Policy& WithDefaultVersion(int value) {
65 SetDefaultVersion(value);
66 return *this;
67 }
69
71
74 inline PolicyType GetPolicyType() const { return m_policyType; }
75 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
76 inline void SetPolicyType(PolicyType value) {
77 m_policyTypeHasBeenSet = true;
78 m_policyType = value;
79 }
81 SetPolicyType(value);
82 return *this;
83 }
85
87
90 inline const Aws::String& GetName() const { return m_name; }
91 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
92 template <typename NameT = Aws::String>
93 void SetName(NameT&& value) {
94 m_nameHasBeenSet = true;
95 m_name = std::forward<NameT>(value);
96 }
97 template <typename NameT = Aws::String>
98 Policy& WithName(NameT&& value) {
99 SetName(std::forward<NameT>(value));
100 return *this;
101 }
103 private:
104 Aws::String m_arn;
105
106 int m_defaultVersion{0};
107
108 PolicyType m_policyType{PolicyType::NOT_SET};
109
110 Aws::String m_name;
111 bool m_arnHasBeenSet = false;
112 bool m_defaultVersionHasBeenSet = false;
113 bool m_policyTypeHasBeenSet = false;
114 bool m_nameHasBeenSet = false;
115};
116
117} // namespace Model
118} // namespace MPA
119} // namespace Aws
Policy & WithName(NameT &&value)
Definition Policy.h:98
Policy & WithArn(ArnT &&value)
Definition Policy.h:48
AWS_MPA_API Policy(Aws::Utils::Json::JsonView jsonValue)
PolicyType GetPolicyType() const
Definition Policy.h:74
void SetPolicyType(PolicyType value)
Definition Policy.h:76
void SetArn(ArnT &&value)
Definition Policy.h:43
Policy & WithPolicyType(PolicyType value)
Definition Policy.h:80
bool DefaultVersionHasBeenSet() const
Definition Policy.h:59
void SetName(NameT &&value)
Definition Policy.h:93
AWS_MPA_API Policy()=default
bool NameHasBeenSet() const
Definition Policy.h:91
const Aws::String & GetArn() const
Definition Policy.h:40
Policy & WithDefaultVersion(int value)
Definition Policy.h:64
AWS_MPA_API Aws::Utils::Json::JsonValue Jsonize() const
bool PolicyTypeHasBeenSet() const
Definition Policy.h:75
void SetDefaultVersion(int value)
Definition Policy.h:60
int GetDefaultVersion() const
Definition Policy.h:58
bool ArnHasBeenSet() const
Definition Policy.h:41
const Aws::String & GetName() const
Definition Policy.h:90
AWS_MPA_API Policy & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue