All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.transfer.model.ProtocolDetails Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Transfer for SFTP module holds the client classes that are used for communicating with AWS Transfer for SFTP Service

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2019-2024 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. *

*
    *
  • *

    * DISABLED: the server does not process TLS session resumption client requests and creates a new TLS * session for each request. *

    *
  • *
  • *

    * ENABLED: the server processes and accepts clients that are performing TLS session resumption. The * server doesn't reject client data connections that do not perform the TLS session resumption client processing. *

    *
  • *
  • *

    * ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The * server rejects client data connections that do not perform the TLS session resumption client processing. Before * you set the value to ENFORCED, test your clients. *

    * *

    * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you * prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or * not you can use the ENFORCED value, you need to test your clients. *

    *
  • *
*/ 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. *

*
    *
  • *

    * DISABLED: the server does not process TLS session resumption client requests and creates a new TLS * session for each request. *

    *
  • *
  • *

    * ENABLED: the server processes and accepts clients that are performing TLS session resumption. The * server doesn't reject client data connections that do not perform the TLS session resumption client processing. *

    *
  • *
  • *

    * ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The * server rejects client data connections that do not perform the TLS session resumption client processing. Before * you set the value to ENFORCED, test your clients. *

    * *

    * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you * prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or * not you can use the ENFORCED value, you need to test your clients. *

    *
  • *
* * @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.

*
    *
  • *

    * DISABLED: the server does not process TLS session resumption client requests and creates a * new TLS session for each request. *

    *
  • *
  • *

    * ENABLED: the server processes and accepts clients that are performing TLS session resumption. * The server doesn't reject client data connections that do not perform the TLS session resumption client * processing. *

    *
  • *
  • *

    * ENFORCED: the server processes and accepts clients that are performing TLS session * resumption. The server rejects client data connections that do not perform the TLS session resumption * client processing. Before you set the value to ENFORCED, test your clients. *

    * *

    * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, * you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine * whether or not you can use the ENFORCED value, you need to test your clients. *

    *
  • * @see TlsSessionResumptionMode */ public void setTlsSessionResumptionMode(String tlsSessionResumptionMode) { this.tlsSessionResumptionMode = 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. *

    *
      *
    • *

      * DISABLED: the server does not process TLS session resumption client requests and creates a new TLS * session for each request. *

      *
    • *
    • *

      * ENABLED: the server processes and accepts clients that are performing TLS session resumption. The * server doesn't reject client data connections that do not perform the TLS session resumption client processing. *

      *
    • *
    • *

      * ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The * server rejects client data connections that do not perform the TLS session resumption client processing. Before * you set the value to ENFORCED, test your clients. *

      * *

      * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you * prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or * not you can use the ENFORCED value, you need to test your clients. *

      *
    • *
    * * @return 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.

    *
      *
    • *

      * DISABLED: the server does not process TLS session resumption client requests and creates a * new TLS session for each request. *

      *
    • *
    • *

      * ENABLED: the server processes and accepts clients that are performing TLS session * resumption. The server doesn't reject client data connections that do not perform the TLS session * resumption client processing. *

      *
    • *
    • *

      * ENFORCED: the server processes and accepts clients that are performing TLS session * resumption. The server rejects client data connections that do not perform the TLS session resumption * client processing. Before you set the value to ENFORCED, test your clients. *

      * *

      * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, * you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine * whether or not you can use the ENFORCED value, you need to test your clients. *

      *
    • * @see TlsSessionResumptionMode */ public String getTlsSessionResumptionMode() { return this.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. *

      *
        *
      • *

        * DISABLED: the server does not process TLS session resumption client requests and creates a new TLS * session for each request. *

        *
      • *
      • *

        * ENABLED: the server processes and accepts clients that are performing TLS session resumption. The * server doesn't reject client data connections that do not perform the TLS session resumption client processing. *

        *
      • *
      • *

        * ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The * server rejects client data connections that do not perform the TLS session resumption client processing. Before * you set the value to ENFORCED, test your clients. *

        * *

        * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you * prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or * not you can use the ENFORCED value, you need to test your clients. *

        *
      • *
      * * @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.

      *
        *
      • *

        * DISABLED: the server does not process TLS session resumption client requests and creates a * new TLS session for each request. *

        *
      • *
      • *

        * ENABLED: the server processes and accepts clients that are performing TLS session resumption. * The server doesn't reject client data connections that do not perform the TLS session resumption client * processing. *

        *
      • *
      • *

        * ENFORCED: the server processes and accepts clients that are performing TLS session * resumption. The server rejects client data connections that do not perform the TLS session resumption * client processing. Before you set the value to ENFORCED, test your clients. *

        * *

        * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, * you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine * whether or not you can use the ENFORCED value, you need to test your clients. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see TlsSessionResumptionMode */ public ProtocolDetails withTlsSessionResumptionMode(String tlsSessionResumptionMode) { setTlsSessionResumptionMode(tlsSessionResumptionMode); 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. *

        *
          *
        • *

          * DISABLED: the server does not process TLS session resumption client requests and creates a new TLS * session for each request. *

          *
        • *
        • *

          * ENABLED: the server processes and accepts clients that are performing TLS session resumption. The * server doesn't reject client data connections that do not perform the TLS session resumption client processing. *

          *
        • *
        • *

          * ENFORCED: the server processes and accepts clients that are performing TLS session resumption. The * server rejects client data connections that do not perform the TLS session resumption client processing. Before * you set the value to ENFORCED, test your clients. *

          * *

          * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you * prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or * not you can use the ENFORCED value, you need to test your clients. *

          *
        • *
        * * @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.

        *
          *
        • *

          * DISABLED: the server does not process TLS session resumption client requests and creates a * new TLS session for each request. *

          *
        • *
        • *

          * ENABLED: the server processes and accepts clients that are performing TLS session resumption. * The server doesn't reject client data connections that do not perform the TLS session resumption client * processing. *

          *
        • *
        • *

          * ENFORCED: the server processes and accepts clients that are performing TLS session * resumption. The server rejects client data connections that do not perform the TLS session resumption * client processing. Before you set the value to ENFORCED, test your clients. *

          * *

          * Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, * you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine * whether or not you can use the ENFORCED value, you need to test your clients. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see TlsSessionResumptionMode */ public ProtocolDetails withTlsSessionResumptionMode(TlsSessionResumptionMode tlsSessionResumptionMode) { this.tlsSessionResumptionMode = tlsSessionResumptionMode.toString(); return this; } /** *

          * 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. *

          *
          * * @param setStatOption * 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. *

          * @see SetStatOption */ public void setSetStatOption(String setStatOption) { this.setStatOption = setStatOption; } /** *

          * 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. *

          *
          * * @return 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. *

          * @see SetStatOption */ public String getSetStatOption() { return this.setStatOption; } /** *

          * 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. *

          *
          * * @param setStatOption * 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. *

          * @return Returns a reference to this object so that method calls can be chained together. * @see SetStatOption */ public ProtocolDetails withSetStatOption(String setStatOption) { setSetStatOption(setStatOption); return this; } /** *

          * 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. *

          *
          * * @param setStatOption * 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. *

          * @return Returns a reference to this object so that method calls can be chained together. * @see SetStatOption */ public ProtocolDetails withSetStatOption(SetStatOption setStatOption) { this.setStatOption = setStatOption.toString(); return this; } /** *

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

          * * @return Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. * @see As2Transport */ public java.util.List getAs2Transports() { return as2Transports; } /** *

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

          * * @param as2Transports * Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. * @see As2Transport */ public void setAs2Transports(java.util.Collection as2Transports) { if (as2Transports == null) { this.as2Transports = null; return; } this.as2Transports = new java.util.ArrayList(as2Transports); } /** *

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

          *

          * NOTE: This method appends the values to the existing list (if any). Use * {@link #setAs2Transports(java.util.Collection)} or {@link #withAs2Transports(java.util.Collection)} if you want * to override the existing values. *

          * * @param as2Transports * Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. * @return Returns a reference to this object so that method calls can be chained together. * @see As2Transport */ public ProtocolDetails withAs2Transports(String... as2Transports) { if (this.as2Transports == null) { setAs2Transports(new java.util.ArrayList(as2Transports.length)); } for (String ele : as2Transports) { this.as2Transports.add(ele); } return this; } /** *

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

          * * @param as2Transports * Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. * @return Returns a reference to this object so that method calls can be chained together. * @see As2Transport */ public ProtocolDetails withAs2Transports(java.util.Collection as2Transports) { setAs2Transports(as2Transports); return this; } /** *

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

          * * @param as2Transports * Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. * @return Returns a reference to this object so that method calls can be chained together. * @see As2Transport */ public ProtocolDetails withAs2Transports(As2Transport... as2Transports) { java.util.ArrayList as2TransportsCopy = new java.util.ArrayList(as2Transports.length); for (As2Transport value : as2Transports) { as2TransportsCopy.add(value.toString()); } if (getAs2Transports() == null) { setAs2Transports(as2TransportsCopy); } else { getAs2Transports().addAll(as2TransportsCopy); } return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPassiveIp() != null) sb.append("PassiveIp: ").append(getPassiveIp()).append(","); if (getTlsSessionResumptionMode() != null) sb.append("TlsSessionResumptionMode: ").append(getTlsSessionResumptionMode()).append(","); if (getSetStatOption() != null) sb.append("SetStatOption: ").append(getSetStatOption()).append(","); if (getAs2Transports() != null) sb.append("As2Transports: ").append(getAs2Transports()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ProtocolDetails == false) return false; ProtocolDetails other = (ProtocolDetails) obj; if (other.getPassiveIp() == null ^ this.getPassiveIp() == null) return false; if (other.getPassiveIp() != null && other.getPassiveIp().equals(this.getPassiveIp()) == false) return false; if (other.getTlsSessionResumptionMode() == null ^ this.getTlsSessionResumptionMode() == null) return false; if (other.getTlsSessionResumptionMode() != null && other.getTlsSessionResumptionMode().equals(this.getTlsSessionResumptionMode()) == false) return false; if (other.getSetStatOption() == null ^ this.getSetStatOption() == null) return false; if (other.getSetStatOption() != null && other.getSetStatOption().equals(this.getSetStatOption()) == false) return false; if (other.getAs2Transports() == null ^ this.getAs2Transports() == null) return false; if (other.getAs2Transports() != null && other.getAs2Transports().equals(this.getAs2Transports()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPassiveIp() == null) ? 0 : getPassiveIp().hashCode()); hashCode = prime * hashCode + ((getTlsSessionResumptionMode() == null) ? 0 : getTlsSessionResumptionMode().hashCode()); hashCode = prime * hashCode + ((getSetStatOption() == null) ? 0 : getSetStatOption().hashCode()); hashCode = prime * hashCode + ((getAs2Transports() == null) ? 0 : getAs2Transports().hashCode()); return hashCode; } @Override public ProtocolDetails clone() { try { return (ProtocolDetails) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.transfer.model.transform.ProtocolDetailsMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy