AWS SDK for C++

AWS SDK for C++ Version 1.11.719

Loading...
Searching...
No Matches
DirectoryConfig.h
1
6#pragma once
7#include <aws/appstream/AppStream_EXPORTS.h>
8#include <aws/appstream/model/CertificateBasedAuthProperties.h>
9#include <aws/appstream/model/ServiceAccountCredentials.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace AppStream {
24namespace Model {
25
33 public:
34 AWS_APPSTREAM_API DirectoryConfig() = default;
35 AWS_APPSTREAM_API DirectoryConfig(Aws::Utils::Json::JsonView jsonValue);
37 AWS_APPSTREAM_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
44 inline const Aws::String& GetDirectoryName() const { return m_directoryName; }
45 inline bool DirectoryNameHasBeenSet() const { return m_directoryNameHasBeenSet; }
46 template <typename DirectoryNameT = Aws::String>
47 void SetDirectoryName(DirectoryNameT&& value) {
48 m_directoryNameHasBeenSet = true;
49 m_directoryName = std::forward<DirectoryNameT>(value);
50 }
51 template <typename DirectoryNameT = Aws::String>
52 DirectoryConfig& WithDirectoryName(DirectoryNameT&& value) {
53 SetDirectoryName(std::forward<DirectoryNameT>(value));
54 return *this;
55 }
57
59
63 inline const Aws::Vector<Aws::String>& GetOrganizationalUnitDistinguishedNames() const { return m_organizationalUnitDistinguishedNames; }
64 inline bool OrganizationalUnitDistinguishedNamesHasBeenSet() const { return m_organizationalUnitDistinguishedNamesHasBeenSet; }
65 template <typename OrganizationalUnitDistinguishedNamesT = Aws::Vector<Aws::String>>
66 void SetOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT&& value) {
67 m_organizationalUnitDistinguishedNamesHasBeenSet = true;
68 m_organizationalUnitDistinguishedNames = std::forward<OrganizationalUnitDistinguishedNamesT>(value);
69 }
70 template <typename OrganizationalUnitDistinguishedNamesT = Aws::Vector<Aws::String>>
71 DirectoryConfig& WithOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT&& value) {
72 SetOrganizationalUnitDistinguishedNames(std::forward<OrganizationalUnitDistinguishedNamesT>(value));
73 return *this;
74 }
75 template <typename OrganizationalUnitDistinguishedNamesT = Aws::String>
76 DirectoryConfig& AddOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT&& value) {
77 m_organizationalUnitDistinguishedNamesHasBeenSet = true;
78 m_organizationalUnitDistinguishedNames.emplace_back(std::forward<OrganizationalUnitDistinguishedNamesT>(value));
79 return *this;
80 }
82
84
88 inline const ServiceAccountCredentials& GetServiceAccountCredentials() const { return m_serviceAccountCredentials; }
89 inline bool ServiceAccountCredentialsHasBeenSet() const { return m_serviceAccountCredentialsHasBeenSet; }
90 template <typename ServiceAccountCredentialsT = ServiceAccountCredentials>
91 void SetServiceAccountCredentials(ServiceAccountCredentialsT&& value) {
92 m_serviceAccountCredentialsHasBeenSet = true;
93 m_serviceAccountCredentials = std::forward<ServiceAccountCredentialsT>(value);
94 }
95 template <typename ServiceAccountCredentialsT = ServiceAccountCredentials>
96 DirectoryConfig& WithServiceAccountCredentials(ServiceAccountCredentialsT&& value) {
97 SetServiceAccountCredentials(std::forward<ServiceAccountCredentialsT>(value));
98 return *this;
99 }
101
103
106 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
107 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
108 template <typename CreatedTimeT = Aws::Utils::DateTime>
109 void SetCreatedTime(CreatedTimeT&& value) {
110 m_createdTimeHasBeenSet = true;
111 m_createdTime = std::forward<CreatedTimeT>(value);
112 }
113 template <typename CreatedTimeT = Aws::Utils::DateTime>
114 DirectoryConfig& WithCreatedTime(CreatedTimeT&& value) {
115 SetCreatedTime(std::forward<CreatedTimeT>(value));
116 return *this;
117 }
119
121
132 inline const CertificateBasedAuthProperties& GetCertificateBasedAuthProperties() const { return m_certificateBasedAuthProperties; }
133 inline bool CertificateBasedAuthPropertiesHasBeenSet() const { return m_certificateBasedAuthPropertiesHasBeenSet; }
134 template <typename CertificateBasedAuthPropertiesT = CertificateBasedAuthProperties>
135 void SetCertificateBasedAuthProperties(CertificateBasedAuthPropertiesT&& value) {
136 m_certificateBasedAuthPropertiesHasBeenSet = true;
137 m_certificateBasedAuthProperties = std::forward<CertificateBasedAuthPropertiesT>(value);
138 }
139 template <typename CertificateBasedAuthPropertiesT = CertificateBasedAuthProperties>
140 DirectoryConfig& WithCertificateBasedAuthProperties(CertificateBasedAuthPropertiesT&& value) {
141 SetCertificateBasedAuthProperties(std::forward<CertificateBasedAuthPropertiesT>(value));
142 return *this;
143 }
145 private:
146 Aws::String m_directoryName;
147
148 Aws::Vector<Aws::String> m_organizationalUnitDistinguishedNames;
149
150 ServiceAccountCredentials m_serviceAccountCredentials;
151
152 Aws::Utils::DateTime m_createdTime{};
153
154 CertificateBasedAuthProperties m_certificateBasedAuthProperties;
155 bool m_directoryNameHasBeenSet = false;
156 bool m_organizationalUnitDistinguishedNamesHasBeenSet = false;
157 bool m_serviceAccountCredentialsHasBeenSet = false;
158 bool m_createdTimeHasBeenSet = false;
159 bool m_certificateBasedAuthPropertiesHasBeenSet = false;
160};
161
162} // namespace Model
163} // namespace AppStream
164} // namespace Aws
DirectoryConfig & WithDirectoryName(DirectoryNameT &&value)
DirectoryConfig & WithServiceAccountCredentials(ServiceAccountCredentialsT &&value)
const ServiceAccountCredentials & GetServiceAccountCredentials() const
DirectoryConfig & WithCertificateBasedAuthProperties(CertificateBasedAuthPropertiesT &&value)
void SetServiceAccountCredentials(ServiceAccountCredentialsT &&value)
void SetCreatedTime(CreatedTimeT &&value)
void SetCertificateBasedAuthProperties(CertificateBasedAuthPropertiesT &&value)
AWS_APPSTREAM_API DirectoryConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
const CertificateBasedAuthProperties & GetCertificateBasedAuthProperties() const
const Aws::Utils::DateTime & GetCreatedTime() const
void SetDirectoryName(DirectoryNameT &&value)
AWS_APPSTREAM_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_APPSTREAM_API DirectoryConfig()=default
AWS_APPSTREAM_API DirectoryConfig(Aws::Utils::Json::JsonView jsonValue)
DirectoryConfig & WithCreatedTime(CreatedTimeT &&value)
const Aws::String & GetDirectoryName() const
DirectoryConfig & WithOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT &&value)
void SetOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT &&value)
DirectoryConfig & AddOrganizationalUnitDistinguishedNames(OrganizationalUnitDistinguishedNamesT &&value)
const Aws::Vector< Aws::String > & GetOrganizationalUnitDistinguishedNames() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue