/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.transfer.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* The protocol settings that are configured for your server. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ProtocolDetails implements Serializable, Cloneable, StructuredPojo { /** *

* Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of * a firewall, router, or load balancer. For example: *

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server for * the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The * value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server * automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has * a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer * (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the * PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you * can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control * connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the * PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, * check to see if your client supports the PassiveIp=0.0.0.0 response. *

*/ private String passiveIp; /** *

* A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a * mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. * TlsSessionResumptionMode determines whether or not the server resumes recent, negotiated sessions * through a unique session ID. This property is available during CreateServer and * UpdateServer calls. If a TlsSessionResumptionMode value is not specified during * CreateServer, it is set to ENFORCED by default. *

* */ private String tlsSessionResumptionMode; /** *

* Use the SetStatOption to ignore the error that is generated when the client attempts to use * SETSTAT on a file you are uploading to an S3 bucket. *

*

* Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and * permissions, using commands, such as SETSTAT when uploading the file. However, these commands are * not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from * these clients can result in errors even when the file is otherwise successfully uploaded. *

*

* Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the SETSTAT * command, and upload files without needing to make any changes to your SFTP client. While the * SetStatOption ENABLE_NO_OP setting ignores the error, it does generate a log entry in * Amazon CloudWatch Logs, so you can determine when the client is making a SETSTAT call. *

* *

* If you want to preserve the original timestamp for your file, and modify other file attributes using * SETSTAT, you can use Amazon EFS as backend storage with Transfer Family. *

*
*/ private String setStatOption; /** *

* Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. *

*/ private java.util.List as2Transports; /** *

* Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of * a firewall, router, or load balancer. For example: *

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server for * the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The * value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server * automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has * a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer * (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the * PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you * can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control * connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the * PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, * check to see if your client supports the PassiveIp=0.0.0.0 response. *

* * @param passiveIp * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP * address of a firewall, router, or load balancer. For example:

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server * for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp * parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In * this case, the server automatically responds with one of the endpoint IPs within the PASV response. * PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a * High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only * specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of * having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the * client to use the same IP address as the Control connection and utilize all AZs for their connections. * Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and * WinSCP do support it. If you are using other clients, check to see if your client supports the * PassiveIp=0.0.0.0 response. */ public void setPassiveIp(String passiveIp) { this.passiveIp = passiveIp; } /** *

* Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of * a firewall, router, or load balancer. For example: *

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server for * the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The * value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server * automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has * a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer * (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the * PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you * can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control * connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the * PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, * check to see if your client supports the PassiveIp=0.0.0.0 response. *

* * @return Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP * address of a firewall, router, or load balancer. For example:

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family * server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see * Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp * parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In * this case, the server automatically responds with one of the endpoint IPs within the PASV response. * PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a * High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only * specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of * having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the * client to use the same IP address as the Control connection and utilize all AZs for their connections. * Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla * and WinSCP do support it. If you are using other clients, check to see if your client supports the * PassiveIp=0.0.0.0 response. */ public String getPassiveIp() { return this.passiveIp; } /** *

* Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of * a firewall, router, or load balancer. For example: *

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server for * the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The * value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server * automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has * a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer * (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the * PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you * can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control * connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the * PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, * check to see if your client supports the PassiveIp=0.0.0.0 response. *

* * @param passiveIp * Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP * address of a firewall, router, or load balancer. For example:

*

* aws transfer update-server --protocol-details PassiveIp=0.0.0.0 *

*

* Replace 0.0.0.0 in the example above with the actual IP address you want to use. *

* *

* If you change the PassiveIp value, you must stop and then restart your Transfer Family server * for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family. *

*
*

* Special values *

*

* The AUTO and 0.0.0.0 are special values for the PassiveIp * parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In * this case, the server automatically responds with one of the endpoint IPs within the PASV response. * PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a * High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only * specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of * having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the * client to use the same IP address as the Control connection and utilize all AZs for their connections. * Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and * WinSCP do support it. If you are using other clients, check to see if your client supports the * PassiveIp=0.0.0.0 response. * @return Returns a reference to this object so that method calls can be chained together. */ public ProtocolDetails withPassiveIp(String passiveIp) { setPassiveIp(passiveIp); return this; } /** *

* A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a * mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. * TlsSessionResumptionMode determines whether or not the server resumes recent, negotiated sessions * through a unique session ID. This property is available during CreateServer and * UpdateServer calls. If a TlsSessionResumptionMode value is not specified during * CreateServer, it is set to ENFORCED by default. *

* * * @param tlsSessionResumptionMode * A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a * mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS * session. TlsSessionResumptionMode determines whether or not the server resumes recent, * negotiated sessions through a unique session ID. This property is available during * CreateServer and UpdateServer calls. If a TlsSessionResumptionMode * value is not specified during CreateServer, it is set to ENFORCED by * default.

*