/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Transfer { namespace Model { /** *

Describes the properties of a file transfer protocol-enabled server that was * specified.

See Also:

AWS * API Reference

*/ class AWS_TRANSFER_API DescribedServer { public: DescribedServer(); DescribedServer(Aws::Utils::Json::JsonView jsonValue); DescribedServer& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline DescribedServer& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline DescribedServer& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

Specifies the unique Amazon Resource Name (ARN) of the file transfer * protocol-enabled server.

*/ inline DescribedServer& WithArn(const char* value) { SetArn(value); return *this;} /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline const Aws::String& GetCertificate() const{ return m_certificate; } /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline DescribedServer& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline DescribedServer& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} /** *

Specifies the ARN of the AWS Certificate Manager (ACM) certificate. Required * when Protocols is set to FTPS.

*/ inline DescribedServer& WithCertificate(const char* value) { SetCertificate(value); return *this;} /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline const EndpointDetails& GetEndpointDetails() const{ return m_endpointDetails; } /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline bool EndpointDetailsHasBeenSet() const { return m_endpointDetailsHasBeenSet; } /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline void SetEndpointDetails(const EndpointDetails& value) { m_endpointDetailsHasBeenSet = true; m_endpointDetails = value; } /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline void SetEndpointDetails(EndpointDetails&& value) { m_endpointDetailsHasBeenSet = true; m_endpointDetails = std::move(value); } /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline DescribedServer& WithEndpointDetails(const EndpointDetails& value) { SetEndpointDetails(value); return *this;} /** *

Specifies the virtual private cloud (VPC) endpoint settings that you * configured for your file transfer protocol-enabled server.

*/ inline DescribedServer& WithEndpointDetails(EndpointDetails&& value) { SetEndpointDetails(std::move(value)); return *this;} /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline const EndpointType& GetEndpointType() const{ return m_endpointType; } /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline bool EndpointTypeHasBeenSet() const { return m_endpointTypeHasBeenSet; } /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline void SetEndpointType(const EndpointType& value) { m_endpointTypeHasBeenSet = true; m_endpointType = value; } /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline void SetEndpointType(EndpointType&& value) { m_endpointTypeHasBeenSet = true; m_endpointType = std::move(value); } /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline DescribedServer& WithEndpointType(const EndpointType& value) { SetEndpointType(value); return *this;} /** *

Defines the type of endpoint that your file transfer protocol-enabled server * is connected to. If your server is connected to a VPC endpoint, your server * isn't accessible over the public internet.

*/ inline DescribedServer& WithEndpointType(EndpointType&& value) { SetEndpointType(std::move(value)); return *this;} /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline const Aws::String& GetHostKeyFingerprint() const{ return m_hostKeyFingerprint; } /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline bool HostKeyFingerprintHasBeenSet() const { return m_hostKeyFingerprintHasBeenSet; } /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline void SetHostKeyFingerprint(const Aws::String& value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint = value; } /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline void SetHostKeyFingerprint(Aws::String&& value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint = std::move(value); } /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline void SetHostKeyFingerprint(const char* value) { m_hostKeyFingerprintHasBeenSet = true; m_hostKeyFingerprint.assign(value); } /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline DescribedServer& WithHostKeyFingerprint(const Aws::String& value) { SetHostKeyFingerprint(value); return *this;} /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline DescribedServer& WithHostKeyFingerprint(Aws::String&& value) { SetHostKeyFingerprint(std::move(value)); return *this;} /** *

Specifies the Base64-encoded SHA256 fingerprint of the server's host key. * This value is equivalent to the output of the ssh-keygen -l -f * my-new-server-key command.

*/ inline DescribedServer& WithHostKeyFingerprint(const char* value) { SetHostKeyFingerprint(value); return *this;} /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline const IdentityProviderDetails& GetIdentityProviderDetails() const{ return m_identityProviderDetails; } /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline bool IdentityProviderDetailsHasBeenSet() const { return m_identityProviderDetailsHasBeenSet; } /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline void SetIdentityProviderDetails(const IdentityProviderDetails& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = value; } /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline void SetIdentityProviderDetails(IdentityProviderDetails&& value) { m_identityProviderDetailsHasBeenSet = true; m_identityProviderDetails = std::move(value); } /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline DescribedServer& WithIdentityProviderDetails(const IdentityProviderDetails& value) { SetIdentityProviderDetails(value); return *this;} /** *

Specifies information to call a customer-supplied authentication API. This * field is not populated when the IdentityProviderType of a file * transfer protocol-enabled server is SERVICE_MANAGED.

*/ inline DescribedServer& WithIdentityProviderDetails(IdentityProviderDetails&& value) { SetIdentityProviderDetails(std::move(value)); return *this;} /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline const IdentityProviderType& GetIdentityProviderType() const{ return m_identityProviderType; } /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline bool IdentityProviderTypeHasBeenSet() const { return m_identityProviderTypeHasBeenSet; } /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline void SetIdentityProviderType(const IdentityProviderType& value) { m_identityProviderTypeHasBeenSet = true; m_identityProviderType = value; } /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline void SetIdentityProviderType(IdentityProviderType&& value) { m_identityProviderTypeHasBeenSet = true; m_identityProviderType = std::move(value); } /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline DescribedServer& WithIdentityProviderType(const IdentityProviderType& value) { SetIdentityProviderType(value); return *this;} /** *

Specifies the mode of authentication method enabled for this service. A value * of SERVICE_MANAGED means that you are using this file transfer * protocol-enabled server to store and access user credentials within the service. * A value of API_GATEWAY indicates that you have integrated an API * Gateway endpoint that will be invoked for authenticating your user into the * service.

*/ inline DescribedServer& WithIdentityProviderType(IdentityProviderType&& value) { SetIdentityProviderType(std::move(value)); return *this;} /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline const Aws::String& GetLoggingRole() const{ return m_loggingRole; } /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline bool LoggingRoleHasBeenSet() const { return m_loggingRoleHasBeenSet; } /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline void SetLoggingRole(const Aws::String& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = value; } /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline void SetLoggingRole(Aws::String&& value) { m_loggingRoleHasBeenSet = true; m_loggingRole = std::move(value); } /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline void SetLoggingRole(const char* value) { m_loggingRoleHasBeenSet = true; m_loggingRole.assign(value); } /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline DescribedServer& WithLoggingRole(const Aws::String& value) { SetLoggingRole(value); return *this;} /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline DescribedServer& WithLoggingRole(Aws::String&& value) { SetLoggingRole(std::move(value)); return *this;} /** *

Specifies the AWS Identity and Access Management (IAM) role that allows a * file transfer protocol-enabled server to turn on Amazon CloudWatch logging for * Amazon S3 events. When set, user activity can be viewed in your CloudWatch * logs.

*/ inline DescribedServer& WithLoggingRole(const char* value) { SetLoggingRole(value); return *this;} /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline const Aws::Vector& GetProtocols() const{ return m_protocols; } /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline bool ProtocolsHasBeenSet() const { return m_protocolsHasBeenSet; } /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline void SetProtocols(const Aws::Vector& value) { m_protocolsHasBeenSet = true; m_protocols = value; } /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline void SetProtocols(Aws::Vector&& value) { m_protocolsHasBeenSet = true; m_protocols = std::move(value); } /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline DescribedServer& WithProtocols(const Aws::Vector& value) { SetProtocols(value); return *this;} /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline DescribedServer& WithProtocols(Aws::Vector&& value) { SetProtocols(std::move(value)); return *this;} /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline DescribedServer& AddProtocols(const Protocol& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(value); return *this; } /** *

Specifies the file transfer protocol or protocols over which your file * transfer protocol client can connect to your server's endpoint. The available * protocols are:

  • SFTP (Secure Shell (SSH) File * Transfer Protocol): File transfer over SSH

  • FTPS * (File Transfer Protocol Secure): File transfer with TLS encryption

  • *
  • FTP (File Transfer Protocol): Unencrypted file * transfer

*/ inline DescribedServer& AddProtocols(Protocol&& value) { m_protocolsHasBeenSet = true; m_protocols.push_back(std::move(value)); return *this; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline const Aws::String& GetSecurityPolicyName() const{ return m_securityPolicyName; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline bool SecurityPolicyNameHasBeenSet() const { return m_securityPolicyNameHasBeenSet; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(const Aws::String& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = value; } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(Aws::String&& value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName = std::move(value); } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline void SetSecurityPolicyName(const char* value) { m_securityPolicyNameHasBeenSet = true; m_securityPolicyName.assign(value); } /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedServer& WithSecurityPolicyName(const Aws::String& value) { SetSecurityPolicyName(value); return *this;} /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedServer& WithSecurityPolicyName(Aws::String&& value) { SetSecurityPolicyName(std::move(value)); return *this;} /** *

Specifies the name of the security policy that is attached to the server.

*/ inline DescribedServer& WithSecurityPolicyName(const char* value) { SetSecurityPolicyName(value); return *this;} /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline const Aws::String& GetServerId() const{ return m_serverId; } /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline bool ServerIdHasBeenSet() const { return m_serverIdHasBeenSet; } /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline void SetServerId(const Aws::String& value) { m_serverIdHasBeenSet = true; m_serverId = value; } /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline void SetServerId(Aws::String&& value) { m_serverIdHasBeenSet = true; m_serverId = std::move(value); } /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline void SetServerId(const char* value) { m_serverIdHasBeenSet = true; m_serverId.assign(value); } /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline DescribedServer& WithServerId(const Aws::String& value) { SetServerId(value); return *this;} /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline DescribedServer& WithServerId(Aws::String&& value) { SetServerId(std::move(value)); return *this;} /** *

Specifies the unique system-assigned identifier for a file transfer * protocol-enabled server that you instantiate.

*/ inline DescribedServer& WithServerId(const char* value) { SetServerId(value); return *this;} /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline const State& GetState() const{ return m_state; } /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline void SetState(const State& value) { m_stateHasBeenSet = true; m_state = value; } /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline void SetState(State&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline DescribedServer& WithState(const State& value) { SetState(value); return *this;} /** *

Specifies the condition of a file transfer protocol-enabled server for the * server that was described. A value of ONLINE indicates that the * server can accept jobs and transfer files. A State value of * OFFLINE means that the server cannot perform file transfer * operations.

The states of STARTING and STOPPING * indicate that the server is in an intermediate state, either not fully able to * respond, or not fully offline. The values of START_FAILED or * STOP_FAILED can indicate an error condition.

*/ inline DescribedServer& WithState(State&& value) { SetState(std::move(value)); return *this;} /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline DescribedServer& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline DescribedServer& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline DescribedServer& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Specifies the key-value pairs that you can use to search for and group file * transfer protocol-enabled servers that were assigned to the server that was * described.

*/ inline DescribedServer& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Specifies the number of users that are assigned to a file transfer * protocol-enabled server you specified with the ServerId.

*/ inline int GetUserCount() const{ return m_userCount; } /** *

Specifies the number of users that are assigned to a file transfer * protocol-enabled server you specified with the ServerId.

*/ inline bool UserCountHasBeenSet() const { return m_userCountHasBeenSet; } /** *

Specifies the number of users that are assigned to a file transfer * protocol-enabled server you specified with the ServerId.

*/ inline void SetUserCount(int value) { m_userCountHasBeenSet = true; m_userCount = value; } /** *

Specifies the number of users that are assigned to a file transfer * protocol-enabled server you specified with the ServerId.

*/ inline DescribedServer& WithUserCount(int value) { SetUserCount(value); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet; Aws::String m_certificate; bool m_certificateHasBeenSet; EndpointDetails m_endpointDetails; bool m_endpointDetailsHasBeenSet; EndpointType m_endpointType; bool m_endpointTypeHasBeenSet; Aws::String m_hostKeyFingerprint; bool m_hostKeyFingerprintHasBeenSet; IdentityProviderDetails m_identityProviderDetails; bool m_identityProviderDetailsHasBeenSet; IdentityProviderType m_identityProviderType; bool m_identityProviderTypeHasBeenSet; Aws::String m_loggingRole; bool m_loggingRoleHasBeenSet; Aws::Vector m_protocols; bool m_protocolsHasBeenSet; Aws::String m_securityPolicyName; bool m_securityPolicyNameHasBeenSet; Aws::String m_serverId; bool m_serverIdHasBeenSet; State m_state; bool m_stateHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; int m_userCount; bool m_userCountHasBeenSet; }; } // namespace Model } // namespace Transfer } // namespace Aws