Class DescribedConnector

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

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

Describes the parameters for the connector, as identified by the ConnectorId.

See Also:
  • Method Details

    • arn

      public final String arn()

      The unique Amazon Resource Name (ARN) for the connector.

      Returns:
      The unique Amazon Resource Name (ARN) for the connector.
    • connectorId

      public final String connectorId()

      The unique identifier for the connector.

      Returns:
      The unique identifier for the connector.
    • url

      public final String url()

      The URL of the partner's AS2 or SFTP endpoint.

      When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

      Returns:
      The URL of the partner's AS2 or SFTP endpoint.

      When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

    • as2Config

      public final As2ConnectorConfig as2Config()

      A structure that contains the parameters for an AS2 connector object.

      Returns:
      A structure that contains the parameters for an AS2 connector object.
    • accessRole

      public final String accessRole()

      Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

      For AS2 connectors

      With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

      If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

      For SFTP connectors

      Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

      Returns:
      Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use.

      For AS2 connectors

      With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer.

      If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key.

      For SFTP connectors

      Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager.

    • loggingRole

      public final String loggingRole()

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

      Returns:
      The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.
    • hasTags

      public final boolean hasTags()
      For responses, this returns true if the service returned a value for the Tags 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.
    • tags

      public final List<Tag> tags()

      Key-value pairs that can be used to group and search for connectors.

      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 hasTags() method.

      Returns:
      Key-value pairs that can be used to group and search for connectors.
    • sftpConfig

      public final SftpConnectorConfig sftpConfig()

      A structure that contains the parameters for an SFTP connector object.

      Returns:
      A structure that contains the parameters for an SFTP connector object.
    • hasServiceManagedEgressIpAddresses

      public final boolean hasServiceManagedEgressIpAddresses()
      For responses, this returns true if the service returned a value for the ServiceManagedEgressIpAddresses 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.
    • serviceManagedEgressIpAddresses

      public final List<String> serviceManagedEgressIpAddresses()

      The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.

      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 hasServiceManagedEgressIpAddresses() method.

      Returns:
      The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.
    • securityPolicyName

      public final String securityPolicyName()

      The text name of the security policy for the specified connector.

      Returns:
      The text name of the security policy for the specified connector.
    • egressConfig

      public final DescribedConnectorEgressConfig egressConfig()

      Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type.

      When using the VPC_LATTICE egress type, Transfer Family uses a managed Service Network to simplify the resource sharing process.

      Returns:
      Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type.

      When using the VPC_LATTICE egress type, Transfer Family uses a managed Service Network to simplify the resource sharing process.

    • egressType

      public final ConnectorEgressType egressType()

      Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.

      If the service returns an enum value that is not available in the current SDK version, egressType will return ConnectorEgressType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from egressTypeAsString().

      Returns:
      Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
      See Also:
    • egressTypeAsString

      public final String egressTypeAsString()

      Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.

      If the service returns an enum value that is not available in the current SDK version, egressType will return ConnectorEgressType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from egressTypeAsString().

      Returns:
      Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
      See Also:
    • errorMessage

      public final String errorMessage()

      Error message providing details when the connector is in ERRORED status. Contains information to help troubleshoot connector creation or operation failures.

      Returns:
      Error message providing details when the connector is in ERRORED status. Contains information to help troubleshoot connector creation or operation failures.
    • status

      public final ConnectorStatus status()

      Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.

      If the service returns an enum value that is not available in the current SDK version, status will return ConnectorStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.
      See Also:
    • statusAsString

      public final String statusAsString()

      Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.

      If the service returns an enum value that is not available in the current SDK version, status will return ConnectorStatus.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from statusAsString().

      Returns:
      Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.
      See Also:
    • toBuilder

      public DescribedConnector.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<DescribedConnector.Builder,DescribedConnector>
      Returns:
      a builder for type T
    • builder

      public static DescribedConnector.Builder builder()
    • serializableBuilderClass

      public static Class<? extends DescribedConnector.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.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.