AWS SDK for C++

AWS SDK for C++ Version 1.11.718

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
34class Policy {
35 public:
36 AWS_MPA_API Policy() = default;
37 AWS_MPA_API Policy(Aws::Utils::Json::JsonView jsonValue);
40
42
45 inline const Aws::String& GetArn() const { return m_arn; }
46 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
47 template <typename ArnT = Aws::String>
48 void SetArn(ArnT&& value) {
49 m_arnHasBeenSet = true;
50 m_arn = std::forward<ArnT>(value);
51 }
52 template <typename ArnT = Aws::String>
53 Policy& WithArn(ArnT&& value) {
54 SetArn(std::forward<ArnT>(value));
55 return *this;
56 }
58
60
63 inline int GetDefaultVersion() const { return m_defaultVersion; }
64 inline bool DefaultVersionHasBeenSet() const { return m_defaultVersionHasBeenSet; }
65 inline void SetDefaultVersion(int value) {
66 m_defaultVersionHasBeenSet = true;
67 m_defaultVersion = value;
68 }
69 inline Policy& WithDefaultVersion(int value) {
70 SetDefaultVersion(value);
71 return *this;
72 }
74
76
79 inline PolicyType GetPolicyType() const { return m_policyType; }
80 inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; }
81 inline void SetPolicyType(PolicyType value) {
82 m_policyTypeHasBeenSet = true;
83 m_policyType = value;
84 }
86 SetPolicyType(value);
87 return *this;
88 }
90
92
95 inline const Aws::String& GetName() const { return m_name; }
96 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
97 template <typename NameT = Aws::String>
98 void SetName(NameT&& value) {
99 m_nameHasBeenSet = true;
100 m_name = std::forward<NameT>(value);
101 }
102 template <typename NameT = Aws::String>
103 Policy& WithName(NameT&& value) {
104 SetName(std::forward<NameT>(value));
105 return *this;
106 }
108 private:
109 Aws::String m_arn;
110
111 int m_defaultVersion{0};
112
113 PolicyType m_policyType{PolicyType::NOT_SET};
114
115 Aws::String m_name;
116 bool m_arnHasBeenSet = false;
117 bool m_defaultVersionHasBeenSet = false;
118 bool m_policyTypeHasBeenSet = false;
119 bool m_nameHasBeenSet = false;
120};
121
122} // namespace Model
123} // namespace MPA
124} // namespace Aws
Policy & WithName(NameT &&value)
Definition Policy.h:103
Policy & WithArn(ArnT &&value)
Definition Policy.h:53
AWS_MPA_API Policy(Aws::Utils::Json::JsonView jsonValue)
PolicyType GetPolicyType() const
Definition Policy.h:79
void SetPolicyType(PolicyType value)
Definition Policy.h:81
void SetArn(ArnT &&value)
Definition Policy.h:48
Policy & WithPolicyType(PolicyType value)
Definition Policy.h:85
bool DefaultVersionHasBeenSet() const
Definition Policy.h:64
void SetName(NameT &&value)
Definition Policy.h:98
AWS_MPA_API Policy()=default
bool NameHasBeenSet() const
Definition Policy.h:96
const Aws::String & GetArn() const
Definition Policy.h:45
Policy & WithDefaultVersion(int value)
Definition Policy.h:69
AWS_MPA_API Aws::Utils::Json::JsonValue Jsonize() const
bool PolicyTypeHasBeenSet() const
Definition Policy.h:80
void SetDefaultVersion(int value)
Definition Policy.h:65
int GetDefaultVersion() const
Definition Policy.h:63
bool ArnHasBeenSet() const
Definition Policy.h:46
const Aws::String & GetName() const
Definition Policy.h:95
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