Class ServerState.Builder

  • Enclosing class:
    ServerState

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

      • Builder

        public Builder()
    • Method Detail

      • arn

        public ServerState.Builder arn​(@Nullable
                                       com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of Transfer Server
        Returns:
        builder
      • arn

        public ServerState.Builder arn​(java.lang.String arn)
        Parameters:
        arn - ARN of Transfer Server
        Returns:
        builder
      • certificate

        public ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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
      • endpoint

        public ServerState.Builder endpoint​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> endpoint)
        Parameters:
        endpoint - Endpoint of the Transfer Server (e.g., `s-12345678.server.transfer.REGION.amazonaws.com`)
        Returns:
        builder
      • endpoint

        public ServerState.Builder endpoint​(java.lang.String endpoint)
        Parameters:
        endpoint - Endpoint of the Transfer Server (e.g., `s-12345678.server.transfer.REGION.amazonaws.com`)
        Returns:
        builder
      • endpointDetails

        public ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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
      • hostKeyFingerprint

        public ServerState.Builder hostKeyFingerprint​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> hostKeyFingerprint)
        Parameters:
        hostKeyFingerprint - Message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command.
        Returns:
        builder
      • hostKeyFingerprint

        public ServerState.Builder hostKeyFingerprint​(java.lang.String hostKeyFingerprint)
        Parameters:
        hostKeyFingerprint - Message-digest algorithm (MD5) hash of the server's host key. This value is equivalent to the output of the `ssh-keygen -l -E md5 -f my-new-server-key` command.
        Returns:
        builder
      • identityProviderType

        public ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.Builder protocolDetails​(ServerProtocolDetailsArgs protocolDetails)
        Parameters:
        protocolDetails - Protocol settings that are configured for your server. See `protocolDetails` Block below for details.
        Returns:
        builder
      • protocols

        public ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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 ServerState.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
      • tagsAll

        public ServerState.Builder tagsAll​(@Nullable
                                           com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public ServerState.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • url

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

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