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/awstransfer/Transfer_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/awstransfer/model/ProtocolDetails.h> 10 #include <aws/awstransfer/model/Domain.h> 11 #include <aws/awstransfer/model/EndpointDetails.h> 12 #include <aws/awstransfer/model/EndpointType.h> 13 #include <aws/awstransfer/model/IdentityProviderDetails.h> 14 #include <aws/awstransfer/model/IdentityProviderType.h> 15 #include <aws/core/utils/memory/stl/AWSVector.h> 16 #include <aws/awstransfer/model/State.h> 17 #include <aws/awstransfer/model/WorkflowDetails.h> 18 #include <aws/awstransfer/model/Protocol.h> 19 #include <aws/awstransfer/model/Tag.h> 20 #include <utility> 21 22 namespace Aws 23 { 24 namespace Utils 25 { 26 namespace Json 27 { 28 class JsonValue; 29 class JsonView; 30 } // namespace Json 31 } // namespace Utils 32 namespace Transfer 33 { 34 namespace Model 35 { 36 37 /** 38 * <p>Describes the properties of a file transfer protocol-enabled server that was 39 * specified.</p><p><h3>See Also:</h3> <a 40 * href="http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedServer">AWS 41 * API Reference</a></p> 42 */ 43 class AWS_TRANSFER_API DescribedServer 44 { 45 public: 46 DescribedServer(); 47 DescribedServer(Aws::Utils::Json::JsonView jsonValue); 48 DescribedServer& operator=(Aws::Utils::Json::JsonView jsonValue); 49 Aws::Utils::Json::JsonValue Jsonize() const; 50 51 52 /** 53 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 54 */ GetArn()55 inline const Aws::String& GetArn() const{ return m_arn; } 56 57 /** 58 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 59 */ ArnHasBeenSet()60 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 61 62 /** 63 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 64 */ SetArn(const Aws::String & value)65 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 66 67 /** 68 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 69 */ SetArn(Aws::String && value)70 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 71 72 /** 73 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 74 */ SetArn(const char * value)75 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 76 77 /** 78 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 79 */ WithArn(const Aws::String & value)80 inline DescribedServer& WithArn(const Aws::String& value) { SetArn(value); return *this;} 81 82 /** 83 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 84 */ WithArn(Aws::String && value)85 inline DescribedServer& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 86 87 /** 88 * <p>Specifies the unique Amazon Resource Name (ARN) of the server.</p> 89 */ WithArn(const char * value)90 inline DescribedServer& WithArn(const char* value) { SetArn(value); return *this;} 91 92 93 /** 94 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 95 * certificate. Required when <code>Protocols</code> is set to 96 * <code>FTPS</code>.</p> 97 */ GetCertificate()98 inline const Aws::String& GetCertificate() const{ return m_certificate; } 99 100 /** 101 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 102 * certificate. Required when <code>Protocols</code> is set to 103 * <code>FTPS</code>.</p> 104 */ CertificateHasBeenSet()105 inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } 106 107 /** 108 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 109 * certificate. Required when <code>Protocols</code> is set to 110 * <code>FTPS</code>.</p> 111 */ SetCertificate(const Aws::String & value)112 inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } 113 114 /** 115 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 116 * certificate. Required when <code>Protocols</code> is set to 117 * <code>FTPS</code>.</p> 118 */ SetCertificate(Aws::String && value)119 inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } 120 121 /** 122 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 123 * certificate. Required when <code>Protocols</code> is set to 124 * <code>FTPS</code>.</p> 125 */ SetCertificate(const char * value)126 inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } 127 128 /** 129 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 130 * certificate. Required when <code>Protocols</code> is set to 131 * <code>FTPS</code>.</p> 132 */ WithCertificate(const Aws::String & value)133 inline DescribedServer& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} 134 135 /** 136 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 137 * certificate. Required when <code>Protocols</code> is set to 138 * <code>FTPS</code>.</p> 139 */ WithCertificate(Aws::String && value)140 inline DescribedServer& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} 141 142 /** 143 * <p>Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) 144 * certificate. Required when <code>Protocols</code> is set to 145 * <code>FTPS</code>.</p> 146 */ WithCertificate(const char * value)147 inline DescribedServer& WithCertificate(const char* value) { SetCertificate(value); return *this;} 148 149 150 /** 151 * <p> The protocol settings that are configured for your server. </p> <p> Use the 152 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 153 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 154 * or load balancer. </p> 155 */ GetProtocolDetails()156 inline const ProtocolDetails& GetProtocolDetails() const{ return m_protocolDetails; } 157 158 /** 159 * <p> The protocol settings that are configured for your server. </p> <p> Use the 160 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 161 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 162 * or load balancer. </p> 163 */ ProtocolDetailsHasBeenSet()164 inline bool ProtocolDetailsHasBeenSet() const { return m_protocolDetailsHasBeenSet; } 165 166 /** 167 * <p> The protocol settings that are configured for your server. </p> <p> Use the 168 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 169 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 170 * or load balancer. </p> 171 */ SetProtocolDetails(const ProtocolDetails & value)172 inline void SetProtocolDetails(const ProtocolDetails& value) { m_protocolDetailsHasBeenSet = true; m_protocolDetails = value; } 173 174 /** 175 * <p> The protocol settings that are configured for your server. </p> <p> Use the 176 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 177 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 178 * or load balancer. </p> 179 */ SetProtocolDetails(ProtocolDetails && value)180 inline void SetProtocolDetails(ProtocolDetails&& value) { m_protocolDetailsHasBeenSet = true; m_protocolDetails = std::move(value); } 181 182 /** 183 * <p> The protocol settings that are configured for your server. </p> <p> Use the 184 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 185 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 186 * or load balancer. </p> 187 */ WithProtocolDetails(const ProtocolDetails & value)188 inline DescribedServer& WithProtocolDetails(const ProtocolDetails& value) { SetProtocolDetails(value); return *this;} 189 190 /** 191 * <p> The protocol settings that are configured for your server. </p> <p> Use the 192 * <code>PassiveIp</code> parameter to indicate passive mode. Enter a single 193 * dotted-quad IPv4 address, such as the external IP address of a firewall, router, 194 * or load balancer. </p> 195 */ WithProtocolDetails(ProtocolDetails && value)196 inline DescribedServer& WithProtocolDetails(ProtocolDetails&& value) { SetProtocolDetails(std::move(value)); return *this;} 197 198 199 /** 200 * <p>Specifies the domain of the storage system that is used for file 201 * transfers.</p> 202 */ GetDomain()203 inline const Domain& GetDomain() const{ return m_domain; } 204 205 /** 206 * <p>Specifies the domain of the storage system that is used for file 207 * transfers.</p> 208 */ DomainHasBeenSet()209 inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } 210 211 /** 212 * <p>Specifies the domain of the storage system that is used for file 213 * transfers.</p> 214 */ SetDomain(const Domain & value)215 inline void SetDomain(const Domain& value) { m_domainHasBeenSet = true; m_domain = value; } 216 217 /** 218 * <p>Specifies the domain of the storage system that is used for file 219 * transfers.</p> 220 */ SetDomain(Domain && value)221 inline void SetDomain(Domain&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } 222 223 /** 224 * <p>Specifies the domain of the storage system that is used for file 225 * transfers.</p> 226 */ WithDomain(const Domain & value)227 inline DescribedServer& WithDomain(const Domain& value) { SetDomain(value); return *this;} 228 229 /** 230 * <p>Specifies the domain of the storage system that is used for file 231 * transfers.</p> 232 */ WithDomain(Domain && value)233 inline DescribedServer& WithDomain(Domain&& value) { SetDomain(std::move(value)); return *this;} 234 235 236 /** 237 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 238 * your server. When you host your endpoint within your VPC, you can make it 239 * accessible only to resources within your VPC, or you can attach Elastic IP 240 * addresses and make it accessible to clients over the internet. Your VPC's 241 * default security groups are automatically assigned to your endpoint.</p> 242 */ GetEndpointDetails()243 inline const EndpointDetails& GetEndpointDetails() const{ return m_endpointDetails; } 244 245 /** 246 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 247 * your server. When you host your endpoint within your VPC, you can make it 248 * accessible only to resources within your VPC, or you can attach Elastic IP 249 * addresses and make it accessible to clients over the internet. Your VPC's 250 * default security groups are automatically assigned to your endpoint.</p> 251 */ EndpointDetailsHasBeenSet()252 inline bool EndpointDetailsHasBeenSet() const { return m_endpointDetailsHasBeenSet; } 253 254 /** 255 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 256 * your server. When you host your endpoint within your VPC, you can make it 257 * accessible only to resources within your VPC, or you can attach Elastic IP 258 * addresses and make it accessible to clients over the internet. Your VPC's 259 * default security groups are automatically assigned to your endpoint.</p> 260 */ SetEndpointDetails(const EndpointDetails & value)261 inline void SetEndpointDetails(const EndpointDetails& value) { m_endpointDetailsHasBeenSet = true; m_endpointDetails = value; } 262 263 /** 264 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 265 * your server. When you host your endpoint within your VPC, you can make it 266 * accessible only to resources within your VPC, or you can attach Elastic IP 267 * addresses and make it accessible to clients over the internet. Your VPC's 268 * default security groups are automatically assigned to your endpoint.</p> 269 */ SetEndpointDetails(EndpointDetails && value)270 inline void SetEndpointDetails(EndpointDetails&& value) { m_endpointDetailsHasBeenSet = true; m_endpointDetails = std::move(value); } 271 272 /** 273 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 274 * your server. When you host your endpoint within your VPC, you can make it 275 * accessible only to resources within your VPC, or you can attach Elastic IP 276 * addresses and make it accessible to clients over the internet. Your VPC's 277 * default security groups are automatically assigned to your endpoint.</p> 278 */ WithEndpointDetails(const EndpointDetails & value)279 inline DescribedServer& WithEndpointDetails(const EndpointDetails& value) { SetEndpointDetails(value); return *this;} 280 281 /** 282 * <p>The virtual private cloud (VPC) endpoint settings that are configured for 283 * your server. When you host your endpoint within your VPC, you can make it 284 * accessible only to resources within your VPC, or you can attach Elastic IP 285 * addresses and make it accessible to clients over the internet. Your VPC's 286 * default security groups are automatically assigned to your endpoint.</p> 287 */ WithEndpointDetails(EndpointDetails && value)288 inline DescribedServer& WithEndpointDetails(EndpointDetails&& value) { SetEndpointDetails(std::move(value)); return *this;} 289 290 291 /** 292 * <p>Defines the type of endpoint that your server is connected to. If your server 293 * is connected to a VPC endpoint, your server isn't accessible over the public 294 * internet.</p> 295 */ GetEndpointType()296 inline const EndpointType& GetEndpointType() const{ return m_endpointType; } 297 298 /** 299 * <p>Defines the type of endpoint that your server is connected to. If your server 300 * is connected to a VPC endpoint, your server isn't accessible over the public 301 * internet.</p> 302 */ EndpointTypeHasBeenSet()303 inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } 304 305 /** 306 * <p>Defines the type of endpoint that your server is connected to. If your server 307 * is connected to a VPC endpoint, your server isn't accessible over the public 308 * internet.</p> 309 */ SetEndpointType(const EndpointType & value)310 inline void SetEndpointType(const EndpointType& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } 311 312 /** 313 * <p>Defines the type of endpoint that your server is connected to. If your server 314 * is connected to a VPC endpoint, your server isn't accessible over the public 315 * internet.</p> 316 */ SetEndpointType(EndpointType && value)317 inline void SetEndpointType(EndpointType&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } 318 319 /** 320 * <p>Defines the type of endpoint that your server is connected to. If your server 321 * is connected to a VPC endpoint, your server isn't accessible over the public 322 * internet.</p> 323 */ WithEndpointType(const EndpointType & value)324 inline DescribedServer& WithEndpointType(const EndpointType& value) { SetEndpointType(value); return *this;} 325 326 /** 327 * <p>Defines the type of endpoint that your server is connected to. If your server 328 * is connected to a VPC endpoint, your server isn't accessible over the public 329 * internet.</p> 330 */ WithEndpointType(EndpointType && value)331 inline DescribedServer& WithEndpointType(EndpointType&& value) { SetEndpointType(std::move(value)); return *this;} 332 333 334 /** 335 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 336 * This value is equivalent to the output of the <code>ssh-keygen -l -f 337 * my-new-server-key</code> command.</p> 338 */ GetHostKeyFingerprint()339 inline const Aws::String& GetHostKeyFingerprint() const{ return m_hostKeyFingerprint; } 340 341 /** 342 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 343 * This value is equivalent to the output of the <code>ssh-keygen -l -f 344 * my-new-server-key</code> command.</p> 345 */ HostKeyFingerprintHasBeenSet()346 inline bool HostKeyFingerprintHasBeenSet() const { return m_hostKeyFingerprintHasBeenSet; } 347 348 /** 349 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 350 * This value is equivalent to the output of the <code>ssh-keygen -l -f 351 * my-new-server-key</code> command.</p> 352 */ SetHostKeyFingerprint(const Aws::String & value)353 inline void SetHostKeyFingerprint(const Aws::String& value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint = value; } 354 355 /** 356 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 357 * This value is equivalent to the output of the <code>ssh-keygen -l -f 358 * my-new-server-key</code> command.</p> 359 */ SetHostKeyFingerprint(Aws::String && value)360 inline void SetHostKeyFingerprint(Aws::String&& value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint = std::move(value); } 361 362 /** 363 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 364 * This value is equivalent to the output of the <code>ssh-keygen -l -f 365 * my-new-server-key</code> command.</p> 366 */ SetHostKeyFingerprint(const char * value)367 inline void SetHostKeyFingerprint(const char* value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint.assign(value); } 368 369 /** 370 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 371 * This value is equivalent to the output of the <code>ssh-keygen -l -f 372 * my-new-server-key</code> command.</p> 373 */ WithHostKeyFingerprint(const Aws::String & value)374 inline DescribedServer& WithHostKeyFingerprint(const Aws::String& value) { SetHostKeyFingerprint(value); return *this;} 375 376 /** 377 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 378 * This value is equivalent to the output of the <code>ssh-keygen -l -f 379 * my-new-server-key</code> command.</p> 380 */ WithHostKeyFingerprint(Aws::String && value)381 inline DescribedServer& WithHostKeyFingerprint(Aws::String&& value) { SetHostKeyFingerprint(std::move(value)); return *this;} 382 383 /** 384 * <p>Specifies the Base64-encoded SHA256 fingerprint of the server's host key. 385 * This value is equivalent to the output of the <code>ssh-keygen -l -f 386 * my-new-server-key</code> command.</p> 387 */ WithHostKeyFingerprint(const char * value)388 inline DescribedServer& WithHostKeyFingerprint(const char* value) { SetHostKeyFingerprint(value); return *this;} 389 390 391 /** 392 * <p>Specifies information to call a customer-supplied authentication API. This 393 * field is not populated when the <code>IdentityProviderType</code> of a server is 394 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 395 */ GetIdentityProviderDetails()396 inline const IdentityProviderDetails& GetIdentityProviderDetails() const{ return m_identityProviderDetails; } 397 398 /** 399 * <p>Specifies information to call a customer-supplied authentication API. This 400 * field is not populated when the <code>IdentityProviderType</code> of a server is 401 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 402 */ IdentityProviderDetailsHasBeenSet()403 inline bool IdentityProviderDetailsHasBeenSet() const { return m_identityProviderDetailsHasBeenSet; } 404 405 /** 406 * <p>Specifies information to call a customer-supplied authentication API. This 407 * field is not populated when the <code>IdentityProviderType</code> of a server is 408 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 409 */ SetIdentityProviderDetails(const IdentityProviderDetails & value)410 inline void SetIdentityProviderDetails(const IdentityProviderDetails& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = value; } 411 412 /** 413 * <p>Specifies information to call a customer-supplied authentication API. This 414 * field is not populated when the <code>IdentityProviderType</code> of a server is 415 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 416 */ SetIdentityProviderDetails(IdentityProviderDetails && value)417 inline void SetIdentityProviderDetails(IdentityProviderDetails&& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = std::move(value); } 418 419 /** 420 * <p>Specifies information to call a customer-supplied authentication API. This 421 * field is not populated when the <code>IdentityProviderType</code> of a server is 422 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 423 */ WithIdentityProviderDetails(const IdentityProviderDetails & value)424 inline DescribedServer& WithIdentityProviderDetails(const IdentityProviderDetails& value) { SetIdentityProviderDetails(value); return *this;} 425 426 /** 427 * <p>Specifies information to call a customer-supplied authentication API. This 428 * field is not populated when the <code>IdentityProviderType</code> of a server is 429 * <code>AWS_DIRECTORY_SERVICE</code> or <code>SERVICE_MANAGED</code>.</p> 430 */ WithIdentityProviderDetails(IdentityProviderDetails && value)431 inline DescribedServer& WithIdentityProviderDetails(IdentityProviderDetails&& value) { SetIdentityProviderDetails(std::move(value)); return *this;} 432 433 434 /** 435 * <p>Specifies the mode of authentication for a server. The default value is 436 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 437 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 438 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 439 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 440 * your on-premises environment or in Amazon Web Services using AD Connectors. This 441 * option also requires you to provide a Directory ID using the 442 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 443 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 444 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 445 * Gateway endpoint URL to call for authentication using the 446 * <code>IdentityProviderDetails</code> parameter.</p> 447 */ GetIdentityProviderType()448 inline const IdentityProviderType& GetIdentityProviderType() const{ return m_identityProviderType; } 449 450 /** 451 * <p>Specifies the mode of authentication for a server. The default value is 452 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 453 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 454 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 455 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 456 * your on-premises environment or in Amazon Web Services using AD Connectors. This 457 * option also requires you to provide a Directory ID using the 458 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 459 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 460 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 461 * Gateway endpoint URL to call for authentication using the 462 * <code>IdentityProviderDetails</code> parameter.</p> 463 */ IdentityProviderTypeHasBeenSet()464 inline bool IdentityProviderTypeHasBeenSet() const { return m_identityProviderTypeHasBeenSet; } 465 466 /** 467 * <p>Specifies the mode of authentication for a server. The default value is 468 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 469 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 470 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 471 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 472 * your on-premises environment or in Amazon Web Services using AD Connectors. This 473 * option also requires you to provide a Directory ID using the 474 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 475 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 476 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 477 * Gateway endpoint URL to call for authentication using the 478 * <code>IdentityProviderDetails</code> parameter.</p> 479 */ SetIdentityProviderType(const IdentityProviderType & value)480 inline void SetIdentityProviderType(const IdentityProviderType& value) { m_identityProviderTypeHasBeenSet = true; m_identityProviderType = value; } 481 482 /** 483 * <p>Specifies the mode of authentication for a server. The default value is 484 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 485 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 486 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 487 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 488 * your on-premises environment or in Amazon Web Services using AD Connectors. This 489 * option also requires you to provide a Directory ID using the 490 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 491 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 492 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 493 * Gateway endpoint URL to call for authentication using the 494 * <code>IdentityProviderDetails</code> parameter.</p> 495 */ SetIdentityProviderType(IdentityProviderType && value)496 inline void SetIdentityProviderType(IdentityProviderType&& value) { m_identityProviderTypeHasBeenSet = true; m_identityProviderType = std::move(value); } 497 498 /** 499 * <p>Specifies the mode of authentication for a server. The default value is 500 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 501 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 502 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 503 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 504 * your on-premises environment or in Amazon Web Services using AD Connectors. This 505 * option also requires you to provide a Directory ID using the 506 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 507 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 508 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 509 * Gateway endpoint URL to call for authentication using the 510 * <code>IdentityProviderDetails</code> parameter.</p> 511 */ WithIdentityProviderType(const IdentityProviderType & value)512 inline DescribedServer& WithIdentityProviderType(const IdentityProviderType& value) { SetIdentityProviderType(value); return *this;} 513 514 /** 515 * <p>Specifies the mode of authentication for a server. The default value is 516 * <code>SERVICE_MANAGED</code>, which allows you to store and access user 517 * credentials within the Amazon Web Services Transfer Family service.</p> <p>Use 518 * <code>AWS_DIRECTORY_SERVICE</code> to provide access to Active Directory groups 519 * in Amazon Web Services Managed Active Directory or Microsoft Active Directory in 520 * your on-premises environment or in Amazon Web Services using AD Connectors. This 521 * option also requires you to provide a Directory ID using the 522 * <code>IdentityProviderDetails</code> parameter.</p> <p>Use the 523 * <code>API_GATEWAY</code> value to integrate with an identity provider of your 524 * choosing. The <code>API_GATEWAY</code> setting requires you to provide an API 525 * Gateway endpoint URL to call for authentication using the 526 * <code>IdentityProviderDetails</code> parameter.</p> 527 */ WithIdentityProviderType(IdentityProviderType && value)528 inline DescribedServer& WithIdentityProviderType(IdentityProviderType&& value) { SetIdentityProviderType(std::move(value)); return *this;} 529 530 531 /** 532 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 533 * and Access Management (IAM) role that allows a server to turn on Amazon 534 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 535 * can be viewed in your CloudWatch logs.</p> 536 */ GetLoggingRole()537 inline const Aws::String& GetLoggingRole() const{ return m_loggingRole; } 538 539 /** 540 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 541 * and Access Management (IAM) role that allows a server to turn on Amazon 542 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 543 * can be viewed in your CloudWatch logs.</p> 544 */ LoggingRoleHasBeenSet()545 inline bool LoggingRoleHasBeenSet() const { return m_loggingRoleHasBeenSet; } 546 547 /** 548 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 549 * and Access Management (IAM) role that allows a server to turn on Amazon 550 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 551 * can be viewed in your CloudWatch logs.</p> 552 */ SetLoggingRole(const Aws::String & value)553 inline void SetLoggingRole(const Aws::String& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = value; } 554 555 /** 556 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 557 * and Access Management (IAM) role that allows a server to turn on Amazon 558 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 559 * can be viewed in your CloudWatch logs.</p> 560 */ SetLoggingRole(Aws::String && value)561 inline void SetLoggingRole(Aws::String&& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = std::move(value); } 562 563 /** 564 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 565 * and Access Management (IAM) role that allows a server to turn on Amazon 566 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 567 * can be viewed in your CloudWatch logs.</p> 568 */ SetLoggingRole(const char * value)569 inline void SetLoggingRole(const char* value) { m_loggingRoleHasBeenSet = true; m_loggingRole.assign(value); } 570 571 /** 572 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 573 * and Access Management (IAM) role that allows a server to turn on Amazon 574 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 575 * can be viewed in your CloudWatch logs.</p> 576 */ WithLoggingRole(const Aws::String & value)577 inline DescribedServer& WithLoggingRole(const Aws::String& value) { SetLoggingRole(value); return *this;} 578 579 /** 580 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 581 * and Access Management (IAM) role that allows a server to turn on Amazon 582 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 583 * can be viewed in your CloudWatch logs.</p> 584 */ WithLoggingRole(Aws::String && value)585 inline DescribedServer& WithLoggingRole(Aws::String&& value) { SetLoggingRole(std::move(value)); return *this;} 586 587 /** 588 * <p>Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity 589 * and Access Management (IAM) role that allows a server to turn on Amazon 590 * CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity 591 * can be viewed in your CloudWatch logs.</p> 592 */ WithLoggingRole(const char * value)593 inline DescribedServer& WithLoggingRole(const char* value) { SetLoggingRole(value); return *this;} 594 595 596 /** 597 * <p>Specifies the file transfer protocol or protocols over which your file 598 * transfer protocol client can connect to your server's endpoint. The available 599 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 600 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 601 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 602 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 603 * transfer</p> </li> </ul> 604 */ GetProtocols()605 inline const Aws::Vector<Protocol>& GetProtocols() const{ return m_protocols; } 606 607 /** 608 * <p>Specifies the file transfer protocol or protocols over which your file 609 * transfer protocol client can connect to your server's endpoint. The available 610 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 611 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 612 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 613 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 614 * transfer</p> </li> </ul> 615 */ ProtocolsHasBeenSet()616 inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; } 617 618 /** 619 * <p>Specifies the file transfer protocol or protocols over which your file 620 * transfer protocol client can connect to your server's endpoint. The available 621 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 622 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 623 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 624 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 625 * transfer</p> </li> </ul> 626 */ SetProtocols(const Aws::Vector<Protocol> & value)627 inline void SetProtocols(const Aws::Vector<Protocol>& value) { m_protocolsHasBeenSet = true; m_protocols = value; } 628 629 /** 630 * <p>Specifies the file transfer protocol or protocols over which your file 631 * transfer protocol client can connect to your server's endpoint. The available 632 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 633 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 634 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 635 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 636 * transfer</p> </li> </ul> 637 */ SetProtocols(Aws::Vector<Protocol> && value)638 inline void SetProtocols(Aws::Vector<Protocol>&& value) { m_protocolsHasBeenSet = true; m_protocols = std::move(value); } 639 640 /** 641 * <p>Specifies the file transfer protocol or protocols over which your file 642 * transfer protocol client can connect to your server's endpoint. The available 643 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 644 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 645 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 646 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 647 * transfer</p> </li> </ul> 648 */ WithProtocols(const Aws::Vector<Protocol> & value)649 inline DescribedServer& WithProtocols(const Aws::Vector<Protocol>& value) { SetProtocols(value); return *this;} 650 651 /** 652 * <p>Specifies the file transfer protocol or protocols over which your file 653 * transfer protocol client can connect to your server's endpoint. The available 654 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 655 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 656 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 657 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 658 * transfer</p> </li> </ul> 659 */ WithProtocols(Aws::Vector<Protocol> && value)660 inline DescribedServer& WithProtocols(Aws::Vector<Protocol>&& value) { SetProtocols(std::move(value)); return *this;} 661 662 /** 663 * <p>Specifies the file transfer protocol or protocols over which your file 664 * transfer protocol client can connect to your server's endpoint. The available 665 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 666 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 667 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 668 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 669 * transfer</p> </li> </ul> 670 */ AddProtocols(const Protocol & value)671 inline DescribedServer& AddProtocols(const Protocol& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } 672 673 /** 674 * <p>Specifies the file transfer protocol or protocols over which your file 675 * transfer protocol client can connect to your server's endpoint. The available 676 * protocols are:</p> <ul> <li> <p> <code>SFTP</code> (Secure Shell (SSH) File 677 * Transfer Protocol): File transfer over SSH</p> </li> <li> <p> <code>FTPS</code> 678 * (File Transfer Protocol Secure): File transfer with TLS encryption</p> </li> 679 * <li> <p> <code>FTP</code> (File Transfer Protocol): Unencrypted file 680 * transfer</p> </li> </ul> 681 */ AddProtocols(Protocol && value)682 inline DescribedServer& AddProtocols(Protocol&& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(std::move(value)); return *this; } 683 684 685 /** 686 * <p>Specifies the name of the security policy that is attached to the server.</p> 687 */ GetSecurityPolicyName()688 inline const Aws::String& GetSecurityPolicyName() const{ return m_securityPolicyName; } 689 690 /** 691 * <p>Specifies the name of the security policy that is attached to the server.</p> 692 */ SecurityPolicyNameHasBeenSet()693 inline bool SecurityPolicyNameHasBeenSet() const { return m_securityPolicyNameHasBeenSet; } 694 695 /** 696 * <p>Specifies the name of the security policy that is attached to the server.</p> 697 */ SetSecurityPolicyName(const Aws::String & value)698 inline void SetSecurityPolicyName(const Aws::String& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = value; } 699 700 /** 701 * <p>Specifies the name of the security policy that is attached to the server.</p> 702 */ SetSecurityPolicyName(Aws::String && value)703 inline void SetSecurityPolicyName(Aws::String&& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = std::move(value); } 704 705 /** 706 * <p>Specifies the name of the security policy that is attached to the server.</p> 707 */ SetSecurityPolicyName(const char * value)708 inline void SetSecurityPolicyName(const char* value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName.assign(value); } 709 710 /** 711 * <p>Specifies the name of the security policy that is attached to the server.</p> 712 */ WithSecurityPolicyName(const Aws::String & value)713 inline DescribedServer& WithSecurityPolicyName(const Aws::String& value) { SetSecurityPolicyName(value); return *this;} 714 715 /** 716 * <p>Specifies the name of the security policy that is attached to the server.</p> 717 */ WithSecurityPolicyName(Aws::String && value)718 inline DescribedServer& WithSecurityPolicyName(Aws::String&& value) { SetSecurityPolicyName(std::move(value)); return *this;} 719 720 /** 721 * <p>Specifies the name of the security policy that is attached to the server.</p> 722 */ WithSecurityPolicyName(const char * value)723 inline DescribedServer& WithSecurityPolicyName(const char* value) { SetSecurityPolicyName(value); return *this;} 724 725 726 /** 727 * <p>Specifies the unique system-assigned identifier for a server that you 728 * instantiate.</p> 729 */ GetServerId()730 inline const Aws::String& GetServerId() const{ return m_serverId; } 731 732 /** 733 * <p>Specifies the unique system-assigned identifier for a server that you 734 * instantiate.</p> 735 */ ServerIdHasBeenSet()736 inline bool ServerIdHasBeenSet() const { return m_serverIdHasBeenSet; } 737 738 /** 739 * <p>Specifies the unique system-assigned identifier for a server that you 740 * instantiate.</p> 741 */ SetServerId(const Aws::String & value)742 inline void SetServerId(const Aws::String& value) { m_serverIdHasBeenSet = true; m_serverId = value; } 743 744 /** 745 * <p>Specifies the unique system-assigned identifier for a server that you 746 * instantiate.</p> 747 */ SetServerId(Aws::String && value)748 inline void SetServerId(Aws::String&& value) { m_serverIdHasBeenSet = true; m_serverId = std::move(value); } 749 750 /** 751 * <p>Specifies the unique system-assigned identifier for a server that you 752 * instantiate.</p> 753 */ SetServerId(const char * value)754 inline void SetServerId(const char* value) { m_serverIdHasBeenSet = true; m_serverId.assign(value); } 755 756 /** 757 * <p>Specifies the unique system-assigned identifier for a server that you 758 * instantiate.</p> 759 */ WithServerId(const Aws::String & value)760 inline DescribedServer& WithServerId(const Aws::String& value) { SetServerId(value); return *this;} 761 762 /** 763 * <p>Specifies the unique system-assigned identifier for a server that you 764 * instantiate.</p> 765 */ WithServerId(Aws::String && value)766 inline DescribedServer& WithServerId(Aws::String&& value) { SetServerId(std::move(value)); return *this;} 767 768 /** 769 * <p>Specifies the unique system-assigned identifier for a server that you 770 * instantiate.</p> 771 */ WithServerId(const char * value)772 inline DescribedServer& WithServerId(const char* value) { SetServerId(value); return *this;} 773 774 775 /** 776 * <p>Specifies the condition of a server for the server that was described. A 777 * value of <code>ONLINE</code> indicates that the server can accept jobs and 778 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 779 * the server cannot perform file transfer operations.</p> <p>The states of 780 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 781 * an intermediate state, either not fully able to respond, or not fully offline. 782 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 783 * an error condition.</p> 784 */ GetState()785 inline const State& GetState() const{ return m_state; } 786 787 /** 788 * <p>Specifies the condition of a server for the server that was described. A 789 * value of <code>ONLINE</code> indicates that the server can accept jobs and 790 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 791 * the server cannot perform file transfer operations.</p> <p>The states of 792 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 793 * an intermediate state, either not fully able to respond, or not fully offline. 794 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 795 * an error condition.</p> 796 */ StateHasBeenSet()797 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 798 799 /** 800 * <p>Specifies the condition of a server for the server that was described. A 801 * value of <code>ONLINE</code> indicates that the server can accept jobs and 802 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 803 * the server cannot perform file transfer operations.</p> <p>The states of 804 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 805 * an intermediate state, either not fully able to respond, or not fully offline. 806 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 807 * an error condition.</p> 808 */ SetState(const State & value)809 inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; } 810 811 /** 812 * <p>Specifies the condition of a server for the server that was described. A 813 * value of <code>ONLINE</code> indicates that the server can accept jobs and 814 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 815 * the server cannot perform file transfer operations.</p> <p>The states of 816 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 817 * an intermediate state, either not fully able to respond, or not fully offline. 818 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 819 * an error condition.</p> 820 */ SetState(State && value)821 inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 822 823 /** 824 * <p>Specifies the condition of a server for the server that was described. A 825 * value of <code>ONLINE</code> indicates that the server can accept jobs and 826 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 827 * the server cannot perform file transfer operations.</p> <p>The states of 828 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 829 * an intermediate state, either not fully able to respond, or not fully offline. 830 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 831 * an error condition.</p> 832 */ WithState(const State & value)833 inline DescribedServer& WithState(const State& value) { SetState(value); return *this;} 834 835 /** 836 * <p>Specifies the condition of a server for the server that was described. A 837 * value of <code>ONLINE</code> indicates that the server can accept jobs and 838 * transfer files. A <code>State</code> value of <code>OFFLINE</code> means that 839 * the server cannot perform file transfer operations.</p> <p>The states of 840 * <code>STARTING</code> and <code>STOPPING</code> indicate that the server is in 841 * an intermediate state, either not fully able to respond, or not fully offline. 842 * The values of <code>START_FAILED</code> or <code>STOP_FAILED</code> can indicate 843 * an error condition.</p> 844 */ WithState(State && value)845 inline DescribedServer& WithState(State&& value) { SetState(std::move(value)); return *this;} 846 847 848 /** 849 * <p>Specifies the key-value pairs that you can use to search for and group 850 * servers that were assigned to the server that was described.</p> 851 */ GetTags()852 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 853 854 /** 855 * <p>Specifies the key-value pairs that you can use to search for and group 856 * servers that were assigned to the server that was described.</p> 857 */ TagsHasBeenSet()858 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 859 860 /** 861 * <p>Specifies the key-value pairs that you can use to search for and group 862 * servers that were assigned to the server that was described.</p> 863 */ SetTags(const Aws::Vector<Tag> & value)864 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 865 866 /** 867 * <p>Specifies the key-value pairs that you can use to search for and group 868 * servers that were assigned to the server that was described.</p> 869 */ SetTags(Aws::Vector<Tag> && value)870 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 871 872 /** 873 * <p>Specifies the key-value pairs that you can use to search for and group 874 * servers that were assigned to the server that was described.</p> 875 */ WithTags(const Aws::Vector<Tag> & value)876 inline DescribedServer& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 877 878 /** 879 * <p>Specifies the key-value pairs that you can use to search for and group 880 * servers that were assigned to the server that was described.</p> 881 */ WithTags(Aws::Vector<Tag> && value)882 inline DescribedServer& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 883 884 /** 885 * <p>Specifies the key-value pairs that you can use to search for and group 886 * servers that were assigned to the server that was described.</p> 887 */ AddTags(const Tag & value)888 inline DescribedServer& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 889 890 /** 891 * <p>Specifies the key-value pairs that you can use to search for and group 892 * servers that were assigned to the server that was described.</p> 893 */ AddTags(Tag && value)894 inline DescribedServer& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 895 896 897 /** 898 * <p>Specifies the number of users that are assigned to a server you specified 899 * with the <code>ServerId</code>.</p> 900 */ GetUserCount()901 inline int GetUserCount() const{ return m_userCount; } 902 903 /** 904 * <p>Specifies the number of users that are assigned to a server you specified 905 * with the <code>ServerId</code>.</p> 906 */ UserCountHasBeenSet()907 inline bool UserCountHasBeenSet() const { return m_userCountHasBeenSet; } 908 909 /** 910 * <p>Specifies the number of users that are assigned to a server you specified 911 * with the <code>ServerId</code>.</p> 912 */ SetUserCount(int value)913 inline void SetUserCount(int value) { m_userCountHasBeenSet = true; m_userCount = value; } 914 915 /** 916 * <p>Specifies the number of users that are assigned to a server you specified 917 * with the <code>ServerId</code>.</p> 918 */ WithUserCount(int value)919 inline DescribedServer& WithUserCount(int value) { SetUserCount(value); return *this;} 920 921 922 /** 923 * <p>Specifies the workflow ID for the workflow to assign and the execution role 924 * used for executing the workflow.</p> 925 */ GetWorkflowDetails()926 inline const WorkflowDetails& GetWorkflowDetails() const{ return m_workflowDetails; } 927 928 /** 929 * <p>Specifies the workflow ID for the workflow to assign and the execution role 930 * used for executing the workflow.</p> 931 */ WorkflowDetailsHasBeenSet()932 inline bool WorkflowDetailsHasBeenSet() const { return m_workflowDetailsHasBeenSet; } 933 934 /** 935 * <p>Specifies the workflow ID for the workflow to assign and the execution role 936 * used for executing the workflow.</p> 937 */ SetWorkflowDetails(const WorkflowDetails & value)938 inline void SetWorkflowDetails(const WorkflowDetails& value) { m_workflowDetailsHasBeenSet = true; m_workflowDetails = value; } 939 940 /** 941 * <p>Specifies the workflow ID for the workflow to assign and the execution role 942 * used for executing the workflow.</p> 943 */ SetWorkflowDetails(WorkflowDetails && value)944 inline void SetWorkflowDetails(WorkflowDetails&& value) { m_workflowDetailsHasBeenSet = true; m_workflowDetails = std::move(value); } 945 946 /** 947 * <p>Specifies the workflow ID for the workflow to assign and the execution role 948 * used for executing the workflow.</p> 949 */ WithWorkflowDetails(const WorkflowDetails & value)950 inline DescribedServer& WithWorkflowDetails(const WorkflowDetails& value) { SetWorkflowDetails(value); return *this;} 951 952 /** 953 * <p>Specifies the workflow ID for the workflow to assign and the execution role 954 * used for executing the workflow.</p> 955 */ WithWorkflowDetails(WorkflowDetails && value)956 inline DescribedServer& WithWorkflowDetails(WorkflowDetails&& value) { SetWorkflowDetails(std::move(value)); return *this;} 957 958 private: 959 960 Aws::String m_arn; 961 bool m_arnHasBeenSet; 962 963 Aws::String m_certificate; 964 bool m_certificateHasBeenSet; 965 966 ProtocolDetails m_protocolDetails; 967 bool m_protocolDetailsHasBeenSet; 968 969 Domain m_domain; 970 bool m_domainHasBeenSet; 971 972 EndpointDetails m_endpointDetails; 973 bool m_endpointDetailsHasBeenSet; 974 975 EndpointType m_endpointType; 976 bool m_endpointTypeHasBeenSet; 977 978 Aws::String m_hostKeyFingerprint; 979 bool m_hostKeyFingerprintHasBeenSet; 980 981 IdentityProviderDetails m_identityProviderDetails; 982 bool m_identityProviderDetailsHasBeenSet; 983 984 IdentityProviderType m_identityProviderType; 985 bool m_identityProviderTypeHasBeenSet; 986 987 Aws::String m_loggingRole; 988 bool m_loggingRoleHasBeenSet; 989 990 Aws::Vector<Protocol> m_protocols; 991 bool m_protocolsHasBeenSet; 992 993 Aws::String m_securityPolicyName; 994 bool m_securityPolicyNameHasBeenSet; 995 996 Aws::String m_serverId; 997 bool m_serverIdHasBeenSet; 998 999 State m_state; 1000 bool m_stateHasBeenSet; 1001 1002 Aws::Vector<Tag> m_tags; 1003 bool m_tagsHasBeenSet; 1004 1005 int m_userCount; 1006 bool m_userCountHasBeenSet; 1007 1008 WorkflowDetails m_workflowDetails; 1009 bool m_workflowDetailsHasBeenSet; 1010 }; 1011 1012 } // namespace Model 1013 } // namespace Transfer 1014 } // namespace Aws 1015