1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/appstream/AppStream_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/appstream/model/ServiceAccountCredentials.h> 11 #include <aws/core/utils/DateTime.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace AppStream 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Describes the configuration information required to join fleets and image 31 * builders to Microsoft Active Directory domains.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DirectoryConfig">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_APPSTREAM_API DirectoryConfig 36 { 37 public: 38 DirectoryConfig(); 39 DirectoryConfig(Aws::Utils::Json::JsonView jsonValue); 40 DirectoryConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The fully qualified name of the directory (for example, 46 * corp.example.com).</p> 47 */ GetDirectoryName()48 inline const Aws::String& GetDirectoryName() const{ return m_directoryName; } 49 50 /** 51 * <p>The fully qualified name of the directory (for example, 52 * corp.example.com).</p> 53 */ DirectoryNameHasBeenSet()54 inline bool DirectoryNameHasBeenSet() const { return m_directoryNameHasBeenSet; } 55 56 /** 57 * <p>The fully qualified name of the directory (for example, 58 * corp.example.com).</p> 59 */ SetDirectoryName(const Aws::String & value)60 inline void SetDirectoryName(const Aws::String& value) { m_directoryNameHasBeenSet = true; m_directoryName = value; } 61 62 /** 63 * <p>The fully qualified name of the directory (for example, 64 * corp.example.com).</p> 65 */ SetDirectoryName(Aws::String && value)66 inline void SetDirectoryName(Aws::String&& value) { m_directoryNameHasBeenSet = true; m_directoryName = std::move(value); } 67 68 /** 69 * <p>The fully qualified name of the directory (for example, 70 * corp.example.com).</p> 71 */ SetDirectoryName(const char * value)72 inline void SetDirectoryName(const char* value) { m_directoryNameHasBeenSet = true; m_directoryName.assign(value); } 73 74 /** 75 * <p>The fully qualified name of the directory (for example, 76 * corp.example.com).</p> 77 */ WithDirectoryName(const Aws::String & value)78 inline DirectoryConfig& WithDirectoryName(const Aws::String& value) { SetDirectoryName(value); return *this;} 79 80 /** 81 * <p>The fully qualified name of the directory (for example, 82 * corp.example.com).</p> 83 */ WithDirectoryName(Aws::String && value)84 inline DirectoryConfig& WithDirectoryName(Aws::String&& value) { SetDirectoryName(std::move(value)); return *this;} 85 86 /** 87 * <p>The fully qualified name of the directory (for example, 88 * corp.example.com).</p> 89 */ WithDirectoryName(const char * value)90 inline DirectoryConfig& WithDirectoryName(const char* value) { SetDirectoryName(value); return *this;} 91 92 93 /** 94 * <p>The distinguished names of the organizational units for computer 95 * accounts.</p> 96 */ GetOrganizationalUnitDistinguishedNames()97 inline const Aws::Vector<Aws::String>& GetOrganizationalUnitDistinguishedNames() const{ return m_organizationalUnitDistinguishedNames; } 98 99 /** 100 * <p>The distinguished names of the organizational units for computer 101 * accounts.</p> 102 */ OrganizationalUnitDistinguishedNamesHasBeenSet()103 inline bool OrganizationalUnitDistinguishedNamesHasBeenSet() const { return m_organizationalUnitDistinguishedNamesHasBeenSet; } 104 105 /** 106 * <p>The distinguished names of the organizational units for computer 107 * accounts.</p> 108 */ SetOrganizationalUnitDistinguishedNames(const Aws::Vector<Aws::String> & value)109 inline void SetOrganizationalUnitDistinguishedNames(const Aws::Vector<Aws::String>& value) { m_organizationalUnitDistinguishedNamesHasBeenSet = true; m_organizationalUnitDistinguishedNames = value; } 110 111 /** 112 * <p>The distinguished names of the organizational units for computer 113 * accounts.</p> 114 */ SetOrganizationalUnitDistinguishedNames(Aws::Vector<Aws::String> && value)115 inline void SetOrganizationalUnitDistinguishedNames(Aws::Vector<Aws::String>&& value) { m_organizationalUnitDistinguishedNamesHasBeenSet = true; m_organizationalUnitDistinguishedNames = std::move(value); } 116 117 /** 118 * <p>The distinguished names of the organizational units for computer 119 * accounts.</p> 120 */ WithOrganizationalUnitDistinguishedNames(const Aws::Vector<Aws::String> & value)121 inline DirectoryConfig& WithOrganizationalUnitDistinguishedNames(const Aws::Vector<Aws::String>& value) { SetOrganizationalUnitDistinguishedNames(value); return *this;} 122 123 /** 124 * <p>The distinguished names of the organizational units for computer 125 * accounts.</p> 126 */ WithOrganizationalUnitDistinguishedNames(Aws::Vector<Aws::String> && value)127 inline DirectoryConfig& WithOrganizationalUnitDistinguishedNames(Aws::Vector<Aws::String>&& value) { SetOrganizationalUnitDistinguishedNames(std::move(value)); return *this;} 128 129 /** 130 * <p>The distinguished names of the organizational units for computer 131 * accounts.</p> 132 */ AddOrganizationalUnitDistinguishedNames(const Aws::String & value)133 inline DirectoryConfig& AddOrganizationalUnitDistinguishedNames(const Aws::String& value) { m_organizationalUnitDistinguishedNamesHasBeenSet = true; m_organizationalUnitDistinguishedNames.push_back(value); return *this; } 134 135 /** 136 * <p>The distinguished names of the organizational units for computer 137 * accounts.</p> 138 */ AddOrganizationalUnitDistinguishedNames(Aws::String && value)139 inline DirectoryConfig& AddOrganizationalUnitDistinguishedNames(Aws::String&& value) { m_organizationalUnitDistinguishedNamesHasBeenSet = true; m_organizationalUnitDistinguishedNames.push_back(std::move(value)); return *this; } 140 141 /** 142 * <p>The distinguished names of the organizational units for computer 143 * accounts.</p> 144 */ AddOrganizationalUnitDistinguishedNames(const char * value)145 inline DirectoryConfig& AddOrganizationalUnitDistinguishedNames(const char* value) { m_organizationalUnitDistinguishedNamesHasBeenSet = true; m_organizationalUnitDistinguishedNames.push_back(value); return *this; } 146 147 148 /** 149 * <p>The credentials for the service account used by the fleet or image builder to 150 * connect to the directory.</p> 151 */ GetServiceAccountCredentials()152 inline const ServiceAccountCredentials& GetServiceAccountCredentials() const{ return m_serviceAccountCredentials; } 153 154 /** 155 * <p>The credentials for the service account used by the fleet or image builder to 156 * connect to the directory.</p> 157 */ ServiceAccountCredentialsHasBeenSet()158 inline bool ServiceAccountCredentialsHasBeenSet() const { return m_serviceAccountCredentialsHasBeenSet; } 159 160 /** 161 * <p>The credentials for the service account used by the fleet or image builder to 162 * connect to the directory.</p> 163 */ SetServiceAccountCredentials(const ServiceAccountCredentials & value)164 inline void SetServiceAccountCredentials(const ServiceAccountCredentials& value) { m_serviceAccountCredentialsHasBeenSet = true; m_serviceAccountCredentials = value; } 165 166 /** 167 * <p>The credentials for the service account used by the fleet or image builder to 168 * connect to the directory.</p> 169 */ SetServiceAccountCredentials(ServiceAccountCredentials && value)170 inline void SetServiceAccountCredentials(ServiceAccountCredentials&& value) { m_serviceAccountCredentialsHasBeenSet = true; m_serviceAccountCredentials = std::move(value); } 171 172 /** 173 * <p>The credentials for the service account used by the fleet or image builder to 174 * connect to the directory.</p> 175 */ WithServiceAccountCredentials(const ServiceAccountCredentials & value)176 inline DirectoryConfig& WithServiceAccountCredentials(const ServiceAccountCredentials& value) { SetServiceAccountCredentials(value); return *this;} 177 178 /** 179 * <p>The credentials for the service account used by the fleet or image builder to 180 * connect to the directory.</p> 181 */ WithServiceAccountCredentials(ServiceAccountCredentials && value)182 inline DirectoryConfig& WithServiceAccountCredentials(ServiceAccountCredentials&& value) { SetServiceAccountCredentials(std::move(value)); return *this;} 183 184 185 /** 186 * <p>The time the directory configuration was created.</p> 187 */ GetCreatedTime()188 inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } 189 190 /** 191 * <p>The time the directory configuration was created.</p> 192 */ CreatedTimeHasBeenSet()193 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } 194 195 /** 196 * <p>The time the directory configuration was created.</p> 197 */ SetCreatedTime(const Aws::Utils::DateTime & value)198 inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } 199 200 /** 201 * <p>The time the directory configuration was created.</p> 202 */ SetCreatedTime(Aws::Utils::DateTime && value)203 inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } 204 205 /** 206 * <p>The time the directory configuration was created.</p> 207 */ WithCreatedTime(const Aws::Utils::DateTime & value)208 inline DirectoryConfig& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} 209 210 /** 211 * <p>The time the directory configuration was created.</p> 212 */ WithCreatedTime(Aws::Utils::DateTime && value)213 inline DirectoryConfig& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} 214 215 private: 216 217 Aws::String m_directoryName; 218 bool m_directoryNameHasBeenSet; 219 220 Aws::Vector<Aws::String> m_organizationalUnitDistinguishedNames; 221 bool m_organizationalUnitDistinguishedNamesHasBeenSet; 222 223 ServiceAccountCredentials m_serviceAccountCredentials; 224 bool m_serviceAccountCredentialsHasBeenSet; 225 226 Aws::Utils::DateTime m_createdTime; 227 bool m_createdTimeHasBeenSet; 228 }; 229 230 } // namespace Model 231 } // namespace AppStream 232 } // namespace Aws 233