Class ServerArgs.Builder

  • Enclosing class:
    ServerArgs

    public static final class ServerArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(ServerArgs defaults)
    • Method Detail

      • certificate

        public ServerArgs.Builder certificate​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> certificate)
        Parameters:
        certificate - ARN of the AWS Certificate Manager (ACM) certificate. Required when `protocols` is set to `FTPS`.
        Returns:
        builder
      • certificate

        public ServerArgs.Builder certificate​(java.lang.String certificate)
        Parameters:
        certificate - ARN of the AWS Certificate Manager (ACM) certificate. Required when `protocols` is set to `FTPS`.
        Returns:
        builder
      • directoryId

        public ServerArgs.Builder directoryId​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> directoryId)
        Parameters:
        directoryId - Directory service ID of the directory service you want to connect to with an `identityProviderType` of `AWS_DIRECTORY_SERVICE`.
        Returns:
        builder
      • directoryId

        public ServerArgs.Builder directoryId​(java.lang.String directoryId)
        Parameters:
        directoryId - Directory service ID of the directory service you want to connect to with an `identityProviderType` of `AWS_DIRECTORY_SERVICE`.
        Returns:
        builder
      • domain

        public ServerArgs.Builder domain​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> domain)
        Parameters:
        domain - Domain of the storage system that is used for file transfers. Valid values are: `S3` and `EFS`. The default value is `S3`.
        Returns:
        builder
      • domain

        public ServerArgs.Builder domain​(java.lang.String domain)
        Parameters:
        domain - Domain of the storage system that is used for file transfers. Valid values are: `S3` and `EFS`. The default value is `S3`.
        Returns:
        builder
      • endpointDetails

        public ServerArgs.Builder endpointDetails​(@Nullable
                                                  com.pulumi.core.Output<ServerEndpointDetailsArgs> endpointDetails)
        Parameters:
        endpointDetails - VPC endpoint settings that you want to configure for your SFTP server. See `endpointDetails` Block below for details.
        Returns:
        builder
      • endpointDetails

        public ServerArgs.Builder endpointDetails​(ServerEndpointDetailsArgs endpointDetails)
        Parameters:
        endpointDetails - VPC endpoint settings that you want to configure for your SFTP server. See `endpointDetails` Block below for details.
        Returns:
        builder
      • endpointType

        public ServerArgs.Builder endpointType​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> endpointType)
        Parameters:
        endpointType - 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`.
        Returns:
        builder
      • endpointType

        public ServerArgs.Builder endpointType​(java.lang.String endpointType)
        Parameters:
        endpointType - 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`.
        Returns:
        builder
      • forceDestroy

        public ServerArgs.Builder forceDestroy​(@Nullable
                                               com.pulumi.core.Output<java.lang.Boolean> forceDestroy)
        Parameters:
        forceDestroy - 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`.
        Returns:
        builder
      • forceDestroy

        public ServerArgs.Builder forceDestroy​(java.lang.Boolean forceDestroy)
        Parameters:
        forceDestroy - 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`.
        Returns:
        builder
      • function

        public ServerArgs.Builder function​(@Nullable
                                           com.pulumi.core.Output<java.lang.String> function)
        Parameters:
        function - ARN for a lambda function to use for the Identity provider with an `identityProviderType` of `AWS_LAMBDA`.
        Returns:
        builder
      • function

        public ServerArgs.Builder function​(java.lang.String function)
        Parameters:
        function - ARN for a lambda function to use for the Identity provider with an `identityProviderType` of `AWS_LAMBDA`.
        Returns:
        builder
      • hostKey

        public ServerArgs.Builder hostKey​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> hostKey)
        Parameters:
        hostKey - 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).
        Returns:
        builder
      • hostKey

        public ServerArgs.Builder hostKey​(java.lang.String hostKey)
        Parameters:
        hostKey - 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).
        Returns:
        builder
      • identityProviderType

        public ServerArgs.Builder identityProviderType​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> identityProviderType)
        Parameters:
        identityProviderType - 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.
        Returns:
        builder
      • identityProviderType

        public ServerArgs.Builder identityProviderType​(java.lang.String identityProviderType)
        Parameters:
        identityProviderType - 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.
        Returns:
        builder
      • invocationRole

        public ServerArgs.Builder invocationRole​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> invocationRole)
        Parameters:
        invocationRole - ARN of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`.
        Returns:
        builder
      • invocationRole

        public ServerArgs.Builder invocationRole​(java.lang.String invocationRole)
        Parameters:
        invocationRole - ARN of the IAM role used to authenticate the user account with an `identityProviderType` of `API_GATEWAY`.
        Returns:
        builder
      • ipAddressType

        public ServerArgs.Builder ipAddressType​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> ipAddressType)
        Parameters:
        ipAddressType - 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.
        Returns:
        builder
      • ipAddressType

        public ServerArgs.Builder ipAddressType​(java.lang.String ipAddressType)
        Parameters:
        ipAddressType - 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.
        Returns:
        builder
      • loggingRole

        public ServerArgs.Builder loggingRole​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> loggingRole)
        Parameters:
        loggingRole - 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.
        Returns:
        builder
      • loggingRole

        public ServerArgs.Builder loggingRole​(java.lang.String loggingRole)
        Parameters:
        loggingRole - 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.
        Returns:
        builder
      • postAuthenticationLoginBanner

        public ServerArgs.Builder postAuthenticationLoginBanner​(@Nullable
                                                                com.pulumi.core.Output<java.lang.String> postAuthenticationLoginBanner)
        Parameters:
        postAuthenticationLoginBanner - 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.
        Returns:
        builder
      • postAuthenticationLoginBanner

        public ServerArgs.Builder postAuthenticationLoginBanner​(java.lang.String postAuthenticationLoginBanner)
        Parameters:
        postAuthenticationLoginBanner - 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.
        Returns:
        builder
      • preAuthenticationLoginBanner

        public ServerArgs.Builder preAuthenticationLoginBanner​(@Nullable
                                                               com.pulumi.core.Output<java.lang.String> preAuthenticationLoginBanner)
        Parameters:
        preAuthenticationLoginBanner - Specify a string to display when users connect to a server. This string is displayed before the user authenticates.
        Returns:
        builder
      • preAuthenticationLoginBanner

        public ServerArgs.Builder preAuthenticationLoginBanner​(java.lang.String preAuthenticationLoginBanner)
        Parameters:
        preAuthenticationLoginBanner - Specify a string to display when users connect to a server. This string is displayed before the user authenticates.
        Returns:
        builder
      • protocolDetails

        public ServerArgs.Builder protocolDetails​(@Nullable
                                                  com.pulumi.core.Output<ServerProtocolDetailsArgs> protocolDetails)
        Parameters:
        protocolDetails - Protocol settings that are configured for your server. See `protocolDetails` Block below for details.
        Returns:
        builder
      • protocolDetails

        public ServerArgs.Builder protocolDetails​(ServerProtocolDetailsArgs protocolDetails)
        Parameters:
        protocolDetails - Protocol settings that are configured for your server. See `protocolDetails` Block below for details.
        Returns:
        builder
      • protocols

        public ServerArgs.Builder protocols​(@Nullable
                                            com.pulumi.core.Output<java.util.List<java.lang.String>> protocols)
        Parameters:
        protocols - 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).
        Returns:
        builder
      • protocols

        public ServerArgs.Builder protocols​(java.util.List<java.lang.String> protocols)
        Parameters:
        protocols - 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).
        Returns:
        builder
      • protocols

        public ServerArgs.Builder protocols​(java.lang.String... protocols)
        Parameters:
        protocols - 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).
        Returns:
        builder
      • region

        public ServerArgs.Builder region​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - 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.
        Returns:
        builder
      • region

        public ServerArgs.Builder region​(java.lang.String region)
        Parameters:
        region - 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.
        Returns:
        builder
      • s3StorageOptions

        public ServerArgs.Builder s3StorageOptions​(@Nullable
                                                   com.pulumi.core.Output<ServerS3StorageOptionsArgs> s3StorageOptions)
        Parameters:
        s3StorageOptions - Whether performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` Block below for details.
        Returns:
        builder
      • s3StorageOptions

        public ServerArgs.Builder s3StorageOptions​(ServerS3StorageOptionsArgs s3StorageOptions)
        Parameters:
        s3StorageOptions - Whether performance for your Amazon S3 directories is optimized. This is disabled by default. See `s3StorageOptions` Block below for details.
        Returns:
        builder
      • securityPolicyName

        public ServerArgs.Builder securityPolicyName​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> securityPolicyName)
        Parameters:
        securityPolicyName - 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.
        Returns:
        builder
      • securityPolicyName

        public ServerArgs.Builder securityPolicyName​(java.lang.String securityPolicyName)
        Parameters:
        securityPolicyName - 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.
        Returns:
        builder
      • sftpAuthenticationMethods

        public ServerArgs.Builder sftpAuthenticationMethods​(@Nullable
                                                            com.pulumi.core.Output<java.lang.String> sftpAuthenticationMethods)
        Parameters:
        sftpAuthenticationMethods - 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`.
        Returns:
        builder
      • sftpAuthenticationMethods

        public ServerArgs.Builder sftpAuthenticationMethods​(java.lang.String sftpAuthenticationMethods)
        Parameters:
        sftpAuthenticationMethods - 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`.
        Returns:
        builder
      • structuredLogDestinations

        public ServerArgs.Builder structuredLogDestinations​(@Nullable
                                                            com.pulumi.core.Output<java.util.List<java.lang.String>> structuredLogDestinations)
        Parameters:
        structuredLogDestinations - 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.
        Returns:
        builder
      • structuredLogDestinations

        public ServerArgs.Builder structuredLogDestinations​(java.util.List<java.lang.String> structuredLogDestinations)
        Parameters:
        structuredLogDestinations - 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.
        Returns:
        builder
      • structuredLogDestinations

        public ServerArgs.Builder structuredLogDestinations​(java.lang.String... structuredLogDestinations)
        Parameters:
        structuredLogDestinations - 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.
        Returns:
        builder
      • tags

        public ServerArgs.Builder tags​(@Nullable
                                       com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • tags

        public ServerArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • url

        public ServerArgs.Builder url​(@Nullable
                                      com.pulumi.core.Output<java.lang.String> url)
        Parameters:
        url - URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`.
        Returns:
        builder
      • url

        public ServerArgs.Builder url​(java.lang.String url)
        Parameters:
        url - URL of the service endpoint used to authenticate users with an `identityProviderType` of `API_GATEWAY`.
        Returns:
        builder
      • workflowDetails

        public ServerArgs.Builder workflowDetails​(@Nullable
                                                  com.pulumi.core.Output<ServerWorkflowDetailsArgs> workflowDetails)
        Parameters:
        workflowDetails - Workflow details. See `workflowDetails` Block below for details.
        Returns:
        builder
      • workflowDetails

        public ServerArgs.Builder workflowDetails​(ServerWorkflowDetailsArgs workflowDetails)
        Parameters:
        workflowDetails - Workflow details. See `workflowDetails` Block below for details.
        Returns:
        builder