Class EndpointDetails

java.lang.Object
software.amazon.awssdk.services.transfer.model.EndpointDetails
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EndpointDetails.Builder,EndpointDetails>

@Generated("software.amazon.awssdk:codegen") public final class EndpointDetails extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EndpointDetails.Builder,EndpointDetails>

The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server and resources only within your VPC. To control incoming internet traffic, invoke the UpdateServer API and attach an Elastic IP address to your server's endpoint.

After May 19, 2021, you won't be able to create a server using EndpointType=VPC_ENDPOINT in your Amazon Web Servicesaccount if your account hasn't already done so before May 19, 2021. If you have already created servers with EndpointType=VPC_ENDPOINT in your Amazon Web Servicesaccount on or before May 19, 2021, you will not be affected. After this date, use EndpointType=VPC.

For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.

See Also:
  • Method Details

    • hasAddressAllocationIds

      public final boolean hasAddressAllocationIds()
      For responses, this returns true if the service returned a value for the AddressAllocationIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • addressAllocationIds

      public final List<String> addressAllocationIds()

      A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

      An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the allocationId field from the Amazon EC2 Address data type. One way to retrieve this value is by calling the EC2 DescribeAddresses API.

      This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see Create an internet-facing endpoint for your server.

      This property can only be set as follows:

      • EndpointType must be set to VPC

      • The Transfer Family server must be offline.

      • You cannot set this parameter for Transfer Family servers that use the FTP protocol.

      • The server must already have SubnetIds populated (SubnetIds and AddressAllocationIds cannot be updated simultaneously).

      • AddressAllocationIds can't contain duplicates, and must be equal in length to SubnetIds . For example, if you have three subnet IDs, you must also specify three address allocation IDs.

      • Call the UpdateServer API to set or change this parameter.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAddressAllocationIds() method.

      Returns:
      A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint.

      An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the allocationId field from the Amazon EC2 Address data type. One way to retrieve this value is by calling the EC2 DescribeAddresses API.

      This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see Create an internet-facing endpoint for your server.

      This property can only be set as follows:

      • EndpointType must be set to VPC

      • The Transfer Family server must be offline.

      • You cannot set this parameter for Transfer Family servers that use the FTP protocol.

      • The server must already have SubnetIds populated (SubnetIds and AddressAllocationIds cannot be updated simultaneously).

      • AddressAllocationIds can't contain duplicates, and must be equal in length to SubnetIds. For example, if you have three subnet IDs, you must also specify three address allocation IDs.

      • Call the UpdateServer API to set or change this parameter.

    • hasSubnetIds

      public final boolean hasSubnetIds()
      For responses, this returns true if the service returned a value for the SubnetIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • subnetIds

      public final List<String> subnetIds()

      A list of subnet IDs that are required to host your server endpoint in your VPC.

      This property can only be set when EndpointType is set to VPC.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSubnetIds() method.

      Returns:
      A list of subnet IDs that are required to host your server endpoint in your VPC.

      This property can only be set when EndpointType is set to VPC.

    • vpcEndpointId

      public final String vpcEndpointId()

      The identifier of the VPC endpoint.

      This property can only be set when EndpointType is set to VPC_ENDPOINT.

      For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.

      Returns:
      The identifier of the VPC endpoint.

      This property can only be set when EndpointType is set to VPC_ENDPOINT.

      For more information, see https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.

    • vpcId

      public final String vpcId()

      The VPC identifier of the VPC in which a server's endpoint will be hosted.

      This property can only be set when EndpointType is set to VPC.

      Returns:
      The VPC identifier of the VPC in which a server's endpoint will be hosted.

      This property can only be set when EndpointType is set to VPC.

    • hasSecurityGroupIds

      public final boolean hasSecurityGroupIds()
      For responses, this returns true if the service returned a value for the SecurityGroupIds property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • securityGroupIds

      public final List<String> securityGroupIds()

      A list of security groups IDs that are available to attach to your server's endpoint.

      This property can only be set when EndpointType is set to VPC.

      You can edit the SecurityGroupIds property in the UpdateServer API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT to VPC. To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 ModifyVpcEndpoint API.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasSecurityGroupIds() method.

      Returns:
      A list of security groups IDs that are available to attach to your server's endpoint.

      This property can only be set when EndpointType is set to VPC.

      You can edit the SecurityGroupIds property in the UpdateServer API only if you are changing the EndpointType from PUBLIC or VPC_ENDPOINT to VPC. To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 ModifyVpcEndpoint API.

    • toBuilder

      public EndpointDetails.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<EndpointDetails.Builder,EndpointDetails>
      Returns:
      a builder for type T
    • builder

      public static EndpointDetails.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EndpointDetails.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.