AWS SDK for C++

AWS SDK for C++ Version 1.11.816

Loading...
Searching...
No Matches
AuthorizedPrincipal.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/opensearch/OpenSearchService_EXPORTS.h>
9#include <aws/opensearch/model/PrincipalType.h>
10#include <aws/opensearch/model/ServiceOptions.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace OpenSearchService {
22namespace Model {
23
32 public:
33 AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal() = default;
34 AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal(Aws::Utils::Json::JsonView jsonValue);
35 AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline PrincipalType GetPrincipalType() const { return m_principalType; }
43 inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; }
44 inline void SetPrincipalType(PrincipalType value) {
45 m_principalTypeHasBeenSet = true;
46 m_principalType = value;
47 }
49 SetPrincipalType(value);
50 return *this;
51 }
53
55
60 inline const Aws::String& GetPrincipal() const { return m_principal; }
61 inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
62 template <typename PrincipalT = Aws::String>
63 void SetPrincipal(PrincipalT&& value) {
64 m_principalHasBeenSet = true;
65 m_principal = std::forward<PrincipalT>(value);
66 }
67 template <typename PrincipalT = Aws::String>
68 AuthorizedPrincipal& WithPrincipal(PrincipalT&& value) {
69 SetPrincipal(std::forward<PrincipalT>(value));
70 return *this;
71 }
73
75
79 inline const ServiceOptions& GetServiceOptions() const { return m_serviceOptions; }
80 inline bool ServiceOptionsHasBeenSet() const { return m_serviceOptionsHasBeenSet; }
81 template <typename ServiceOptionsT = ServiceOptions>
82 void SetServiceOptions(ServiceOptionsT&& value) {
83 m_serviceOptionsHasBeenSet = true;
84 m_serviceOptions = std::forward<ServiceOptionsT>(value);
85 }
86 template <typename ServiceOptionsT = ServiceOptions>
87 AuthorizedPrincipal& WithServiceOptions(ServiceOptionsT&& value) {
88 SetServiceOptions(std::forward<ServiceOptionsT>(value));
89 return *this;
90 }
92 private:
94
95 Aws::String m_principal;
96
97 ServiceOptions m_serviceOptions;
98 bool m_principalTypeHasBeenSet = false;
99 bool m_principalHasBeenSet = false;
100 bool m_serviceOptionsHasBeenSet = false;
101};
102
103} // namespace Model
104} // namespace OpenSearchService
105} // namespace Aws
AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal(Aws::Utils::Json::JsonView jsonValue)
AuthorizedPrincipal & WithServiceOptions(ServiceOptionsT &&value)
AuthorizedPrincipal & WithPrincipalType(PrincipalType value)
AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_OPENSEARCHSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_OPENSEARCHSERVICE_API AuthorizedPrincipal()=default
AuthorizedPrincipal & WithPrincipal(PrincipalT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue