Class ServerArgs


  • public final class ServerArgs
    extends com.pulumi.resources.ResourceArgs
    • Method Detail

      • certificate

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> certificate()
        Returns:
        ARN of the AWS Certificate Manager (ACM) certificate. Required when `protocols` is set to `FTPS`.
      • directoryId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> directoryId()
        Returns:
        Directory service ID of the directory service you want to connect to with an `identityProviderType` of `AWS_DIRECTORY_SERVICE`.
      • domain

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> domain()
        Returns:
        Domain of the storage system that is used for file transfers. Valid values are: `S3` and `EFS`. The default value is `S3`.
      • endpointDetails

        public java.util.Optional<com.pulumi.core.Output<ServerEndpointDetailsArgs>> endpointDetails()
        Returns:
        VPC endpoint settings that you want to configure for your SFTP server. See `endpointDetails` Block below for details.
      • endpointType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> endpointType()
        Returns:
        Type of endpoint that you want your SFTP server connect to. If you connect to a `VPC` (or `VPC_ENDPOINT`), your SFTP server isn't accessible over the public internet. If you want to connect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`.
      • forceDestroy

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> forceDestroy()
        Returns:
        Boolean that indicates all users associated with the server should be deleted so that the Server can be destroyed without error. The default value is `false`. This option only applies to servers configured with a `SERVICE_MANAGED` `identityProviderType`.
      • function

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> function()
        Returns:
        ARN for a lambda function to use for the Identity provider with an `identityProviderType` of `AWS_LAMBDA`.
      • hostKey

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> hostKey()
        Returns:
        RSA, ECDSA, or ED25519 private key (e.g., as generated by the `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`, `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key` or `ssh-keygen -t ed25519 -N "" -f my-new-server-key` commands).
      • identityProviderType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> identityProviderType()
        Returns:
        Mode of authentication enabled for this service. The default value is `SERVICE_MANAGED`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` indicates that user authentication requires a call to an API Gateway endpoint URL provided by you to integrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentication against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environment, or in AWS using AD Connectors. Use the `AWS_LAMBDA` value to directly use a Lambda function as your identity provider. If you choose this value, you must specify the ARN for the lambda function in the `function` argument.
      • invocationRole

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> invocationRole()
        Returns:
        ARN of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`.
      • ipAddressType

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> ipAddressType()
        Returns:
        Type of IP addresses for the AWS Transfer Family endpoint. Valid values are `IPV4` and `DUALSTACK`. The default value is `IPV4`. When `ipAddressType` is set to `DUALSTACK`, `addressAllocationIds` cannot be specified in the `endpointDetails` block. Updating `ipAddressType` stops the server and then restarts it with the new `ipAddressType` value.
      • loggingRole

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> loggingRole()
        Returns:
        ARN of an IAM role that allows the service to write your SFTP users’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes.
      • postAuthenticationLoginBanner

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> postAuthenticationLoginBanner()
        Returns:
        Specify 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.
      • preAuthenticationLoginBanner

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> preAuthenticationLoginBanner()
        Returns:
        Specify a string to display when users connect to a server. This string is displayed before the user authenticates.
      • protocolDetails

        public java.util.Optional<com.pulumi.core.Output<ServerProtocolDetailsArgs>> protocolDetails()
        Returns:
        Protocol settings that are configured for your server. See `protocolDetails` Block below for details.
      • protocols

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> protocols()
        Returns:
        File transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. This defaults to `SFTP`. The available protocols are `AS2` (file transfer over Applicability Statement 2), `SFTP` (file transfer over SSH), `FTPS` (file transfer with TLS encryption), and `FTP` (unencrypted file transfer).
      • region

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • s3StorageOptions

        public java.util.Optional<com.pulumi.core.Output<ServerS3StorageOptionsArgs>> s3StorageOptions()
        Returns:
        Whether performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` Block below for details.
      • securityPolicyName

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> securityPolicyName()
        Returns:
        Name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-2022-03`, `TransferSecurityPolicy-2023-05`, `TransferSecurityPolicy-2024-01`, `TransferSecurityPolicy-2025-03`, `TransferSecurityPolicy-FIPS-2020-06`, `TransferSecurityPolicy-FIPS-2023-05`, `TransferSecurityPolicy-FIPS-2024-01`, `TransferSecurityPolicy-FIPS-2024-05`, `TransferSecurityPolicy-FIPS-2025-03`, `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04`, `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04`, `TransferSecurityPolicy-Restricted-2018-11`, `TransferSecurityPolicy-Restricted-2020-06`, `TransferSecurityPolicy-Restricted-2024-06`, `TransferSecurityPolicy-SshAuditCompliant-2025-02`, and `TransferSecurityPolicy-AS2Restricted-2025-07`. See [Security policies for AWS Transfer Family servers](https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html) for details.
      • sftpAuthenticationMethods

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> sftpAuthenticationMethods()
        Returns:
        For SFTP-enabled servers with an `identityProviderType` of `API_GATEWAY` or `AWS_LAMBDA`. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`.
      • structuredLogDestinations

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> structuredLogDestinations()
        Returns:
        Set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations.
      • tags

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • url

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> url()
        Returns:
        URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`.
      • workflowDetails

        public java.util.Optional<com.pulumi.core.Output<ServerWorkflowDetailsArgs>> workflowDetails()
        Returns:
        Workflow details. See `workflowDetails` Block below for details.