Struct aws_sdk_transfer::types::DescribedServer

source ·
#[non_exhaustive]
pub struct DescribedServer {
Show 22 fields pub arn: String, pub certificate: Option<String>, pub protocol_details: Option<ProtocolDetails>, pub domain: Option<Domain>, pub endpoint_details: Option<EndpointDetails>, pub endpoint_type: Option<EndpointType>, pub host_key_fingerprint: Option<String>, pub identity_provider_details: Option<IdentityProviderDetails>, pub identity_provider_type: Option<IdentityProviderType>, pub logging_role: Option<String>, pub post_authentication_login_banner: Option<String>, pub pre_authentication_login_banner: Option<String>, pub protocols: Option<Vec<Protocol>>, pub security_policy_name: Option<String>, pub server_id: Option<String>, pub state: Option<State>, pub tags: Option<Vec<Tag>>, pub user_count: Option<i32>, pub workflow_details: Option<WorkflowDetails>, pub structured_log_destinations: Option<Vec<String>>, pub s3_storage_options: Option<S3StorageOptions>, pub as2_service_managed_egress_ip_addresses: Option<Vec<String>>,
}
Expand description

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

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§arn: String

Specifies the unique Amazon Resource Name (ARN) of the server.

§certificate: Option<String>

Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

§protocol_details: Option<ProtocolDetails>

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

§domain: Option<Domain>

Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.

§endpoint_details: Option<EndpointDetails>

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

§endpoint_type: Option<EndpointType>

Defines the type of endpoint that your server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

§host_key_fingerprint: Option<String>

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.

§identity_provider_details: Option<IdentityProviderDetails>

Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of a server is AWS_DIRECTORY_SERVICE or SERVICE_MANAGED.

§identity_provider_type: Option<IdentityProviderType>

The mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connector. This option also requires you to provide a Directory ID by using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use an Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the Function parameter for the IdentityProviderDetails data type.

§logging_role: Option<String>

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

§post_authentication_login_banner: Option<String>

Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

§pre_authentication_login_banner: Option<String>

Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

§protocols: Option<Vec<Protocol>>

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

  • AS2 (Applicability Statement 2): used for transporting structured business-to-business data

  • If you select FTPS, you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.

  • If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be either AWS_DIRECTORY_SERVICE, AWS_LAMBDA, or API_GATEWAY.

  • If Protocol includes FTP, then AddressAllocationIds cannot be associated.

  • If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set any of the supported identity types: SERVICE_MANAGED, AWS_DIRECTORY_SERVICE, AWS_LAMBDA, or API_GATEWAY.

  • If Protocol includes AS2, then the EndpointType must be VPC, and domain must be Amazon S3.

§security_policy_name: Option<String>

Specifies the name of the security policy for the server.

§server_id: Option<String>

Specifies the unique system-assigned identifier for a server that you instantiate.

§state: Option<State>

The condition of 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.

§tags: Option<Vec<Tag>>

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

§user_count: Option<i32>

Specifies the number of users that are assigned to a server you specified with the ServerId.

§workflow_details: Option<WorkflowDetails>

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

In addition to a workflow to execute when a file is uploaded completely, WorkflowDetails can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when the server session disconnects while the file is still being uploaded.

§structured_log_destinations: Option<Vec<String>>

Specifies the log groups to which your server logs are sent.

To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:

arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*

For example, arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*

If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an update-server call. For example:

update-server --server-id s-1234567890abcdef0 --structured-log-destinations

§s3_storage_options: Option<S3StorageOptions>

Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.

By default, home directory mappings have a TYPE of DIRECTORY. If you enable this option, you would then need to explicitly set the HomeDirectoryMapEntry Type to FILE if you want a mapping to have a file target.

§as2_service_managed_egress_ip_addresses: Option<Vec<String>>

The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs.

These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.

Implementations§

source§

impl DescribedServer

source

pub fn arn(&self) -> &str

Specifies the unique Amazon Resource Name (ARN) of the server.

source

pub fn certificate(&self) -> Option<&str>

Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

source

pub fn protocol_details(&self) -> Option<&ProtocolDetails>

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

source

pub fn domain(&self) -> Option<&Domain>

Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.

source

pub fn endpoint_details(&self) -> Option<&EndpointDetails>

The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

source

pub fn endpoint_type(&self) -> Option<&EndpointType>

Defines the type of endpoint that your server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

source

pub fn host_key_fingerprint(&self) -> Option<&str>

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.

source

pub fn identity_provider_details(&self) -> Option<&IdentityProviderDetails>

Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of a server is AWS_DIRECTORY_SERVICE or SERVICE_MANAGED.

source

pub fn identity_provider_type(&self) -> Option<&IdentityProviderType>

The mode of authentication for a server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the Transfer Family service.

Use AWS_DIRECTORY_SERVICE to provide access to Active Directory groups in Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in Amazon Web Services using AD Connector. This option also requires you to provide a Directory ID by using the IdentityProviderDetails parameter.

Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the IdentityProviderDetails parameter.

Use the AWS_LAMBDA value to directly use an Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the Function parameter for the IdentityProviderDetails data type.

source

pub fn logging_role(&self) -> Option<&str>

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFSevents. When set, you can view user activity in your CloudWatch logs.

source

pub fn post_authentication_login_banner(&self) -> Option<&str>

Specifies a string to display when users connect to a server. This string is displayed after the user authenticates.

The SFTP protocol does not support post-authentication display banners.

source

pub fn pre_authentication_login_banner(&self) -> Option<&str>

Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system:

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

source

pub fn protocols(&self) -> &[Protocol]

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

  • AS2 (Applicability Statement 2): used for transporting structured business-to-business data

  • If you select FTPS, you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.

  • If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be either AWS_DIRECTORY_SERVICE, AWS_LAMBDA, or API_GATEWAY.

  • If Protocol includes FTP, then AddressAllocationIds cannot be associated.

  • If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set any of the supported identity types: SERVICE_MANAGED, AWS_DIRECTORY_SERVICE, AWS_LAMBDA, or API_GATEWAY.

  • If Protocol includes AS2, then the EndpointType must be VPC, and domain must be Amazon S3.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .protocols.is_none().

source

pub fn security_policy_name(&self) -> Option<&str>

Specifies the name of the security policy for the server.

source

pub fn server_id(&self) -> Option<&str>

Specifies the unique system-assigned identifier for a server that you instantiate.

source

pub fn state(&self) -> Option<&State>

The condition of 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.

source

pub fn tags(&self) -> &[Tag]

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

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none().

source

pub fn user_count(&self) -> Option<i32>

Specifies the number of users that are assigned to a server you specified with the ServerId.

source

pub fn workflow_details(&self) -> Option<&WorkflowDetails>

Specifies the workflow ID for the workflow to assign and the execution role that's used for executing the workflow.

In addition to a workflow to execute when a file is uploaded completely, WorkflowDetails can also contain a workflow ID (and execution role) for a workflow to execute on partial upload. A partial upload occurs when the server session disconnects while the file is still being uploaded.

source

pub fn structured_log_destinations(&self) -> &[String]

Specifies the log groups to which your server logs are sent.

To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows:

arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*

For example, arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*

If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an update-server call. For example:

update-server --server-id s-1234567890abcdef0 --structured-log-destinations

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .structured_log_destinations.is_none().

source

pub fn s3_storage_options(&self) -> Option<&S3StorageOptions>

Specifies whether or not performance for your Amazon S3 directories is optimized. This is disabled by default.

By default, home directory mappings have a TYPE of DIRECTORY. If you enable this option, you would then need to explicitly set the HomeDirectoryMapEntry Type to FILE if you want a mapping to have a file target.

source

pub fn as2_service_managed_egress_ip_addresses(&self) -> &[String]

The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs.

These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .as2_service_managed_egress_ip_addresses.is_none().

source§

impl DescribedServer

source

pub fn builder() -> DescribedServerBuilder

Creates a new builder-style object to manufacture DescribedServer.

Trait Implementations§

source§

impl Clone for DescribedServer

source§

fn clone(&self) -> DescribedServer

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DescribedServer

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for DescribedServer

source§

fn eq(&self, other: &DescribedServer) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for DescribedServer

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more