AWS SDK for C++

AWS SDK for C++ Version 1.11.709

Loading...
Searching...
No Matches
Principal.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ram/RAM_EXPORTS.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace RAM {
21namespace Model {
22
29class Principal {
30 public:
31 AWS_RAM_API Principal() = default;
32 AWS_RAM_API Principal(Aws::Utils::Json::JsonView jsonValue);
35
37
40 inline const Aws::String& GetId() const { return m_id; }
41 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
42 template <typename IdT = Aws::String>
43 void SetId(IdT&& value) {
44 m_idHasBeenSet = true;
45 m_id = std::forward<IdT>(value);
46 }
47 template <typename IdT = Aws::String>
48 Principal& WithId(IdT&& value) {
49 SetId(std::forward<IdT>(value));
50 return *this;
51 }
53
55
61 inline const Aws::String& GetResourceShareArn() const { return m_resourceShareArn; }
62 inline bool ResourceShareArnHasBeenSet() const { return m_resourceShareArnHasBeenSet; }
63 template <typename ResourceShareArnT = Aws::String>
64 void SetResourceShareArn(ResourceShareArnT&& value) {
65 m_resourceShareArnHasBeenSet = true;
66 m_resourceShareArn = std::forward<ResourceShareArnT>(value);
67 }
68 template <typename ResourceShareArnT = Aws::String>
69 Principal& WithResourceShareArn(ResourceShareArnT&& value) {
70 SetResourceShareArn(std::forward<ResourceShareArnT>(value));
71 return *this;
72 }
74
76
80 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
81 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
82 template <typename CreationTimeT = Aws::Utils::DateTime>
83 void SetCreationTime(CreationTimeT&& value) {
84 m_creationTimeHasBeenSet = true;
85 m_creationTime = std::forward<CreationTimeT>(value);
86 }
87 template <typename CreationTimeT = Aws::Utils::DateTime>
88 Principal& WithCreationTime(CreationTimeT&& value) {
89 SetCreationTime(std::forward<CreationTimeT>(value));
90 return *this;
91 }
93
95
99 inline const Aws::Utils::DateTime& GetLastUpdatedTime() const { return m_lastUpdatedTime; }
100 inline bool LastUpdatedTimeHasBeenSet() const { return m_lastUpdatedTimeHasBeenSet; }
101 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
102 void SetLastUpdatedTime(LastUpdatedTimeT&& value) {
103 m_lastUpdatedTimeHasBeenSet = true;
104 m_lastUpdatedTime = std::forward<LastUpdatedTimeT>(value);
105 }
106 template <typename LastUpdatedTimeT = Aws::Utils::DateTime>
107 Principal& WithLastUpdatedTime(LastUpdatedTimeT&& value) {
108 SetLastUpdatedTime(std::forward<LastUpdatedTimeT>(value));
109 return *this;
110 }
112
114
121 inline bool GetExternal() const { return m_external; }
122 inline bool ExternalHasBeenSet() const { return m_externalHasBeenSet; }
123 inline void SetExternal(bool value) {
124 m_externalHasBeenSet = true;
125 m_external = value;
126 }
127 inline Principal& WithExternal(bool value) {
128 SetExternal(value);
129 return *this;
130 }
132 private:
133 Aws::String m_id;
134
135 Aws::String m_resourceShareArn;
136
137 Aws::Utils::DateTime m_creationTime{};
138
139 Aws::Utils::DateTime m_lastUpdatedTime{};
140
141 bool m_external{false};
142 bool m_idHasBeenSet = false;
143 bool m_resourceShareArnHasBeenSet = false;
144 bool m_creationTimeHasBeenSet = false;
145 bool m_lastUpdatedTimeHasBeenSet = false;
146 bool m_externalHasBeenSet = false;
147};
148
149} // namespace Model
150} // namespace RAM
151} // namespace Aws
bool ExternalHasBeenSet() const
Definition Principal.h:122
AWS_RAM_API Principal()=default
void SetCreationTime(CreationTimeT &&value)
Definition Principal.h:83
void SetExternal(bool value)
Definition Principal.h:123
Principal & WithId(IdT &&value)
Definition Principal.h:48
bool LastUpdatedTimeHasBeenSet() const
Definition Principal.h:100
bool IdHasBeenSet() const
Definition Principal.h:41
const Aws::String & GetResourceShareArn() const
Definition Principal.h:61
void SetLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Principal.h:102
const Aws::String & GetId() const
Definition Principal.h:40
AWS_RAM_API Aws::Utils::Json::JsonValue Jsonize() const
Principal & WithCreationTime(CreationTimeT &&value)
Definition Principal.h:88
AWS_RAM_API Principal & operator=(Aws::Utils::Json::JsonView jsonValue)
bool ResourceShareArnHasBeenSet() const
Definition Principal.h:62
const Aws::Utils::DateTime & GetLastUpdatedTime() const
Definition Principal.h:99
AWS_RAM_API Principal(Aws::Utils::Json::JsonView jsonValue)
bool CreationTimeHasBeenSet() const
Definition Principal.h:81
void SetId(IdT &&value)
Definition Principal.h:43
Principal & WithResourceShareArn(ResourceShareArnT &&value)
Definition Principal.h:69
Principal & WithExternal(bool value)
Definition Principal.h:127
Principal & WithLastUpdatedTime(LastUpdatedTimeT &&value)
Definition Principal.h:107
const Aws::Utils::DateTime & GetCreationTime() const
Definition Principal.h:80
void SetResourceShareArn(ResourceShareArnT &&value)
Definition Principal.h:64
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue