import * as core from "@terrascript/core"; export interface EndpointDetailsArgs extends core.SchemaArgs { addressAllocationIds?: core.Array | core.ArrayOut; securityGroupIds?: core.Array | core.ArrayOut; subnetIds?: core.Array | core.ArrayOut; vpcEndpointId?: string | core.StringOut; vpcId?: string | core.StringOut; } export declare class EndpointDetails extends core.Schema { addressAllocationIds?: core.Array | core.ArrayOut; securityGroupIds?: core.Array | core.ArrayOut; subnetIds?: core.Array | core.ArrayOut; vpcEndpointId?: string | core.StringOut; vpcId?: string | core.StringOut; } export interface OnUploadArgs extends core.SchemaArgs { executionRole: string | core.StringOut; workflowId: string | core.StringOut; } export declare class OnUpload extends core.Schema { executionRole: string | core.StringOut; workflowId: string | core.StringOut; } export interface WorkflowDetailsArgs extends core.SchemaArgs { onUpload?: OnUpload; } export declare class WorkflowDetails extends core.Schema { onUpload?: OnUpload; } export interface ServerArgs extends core.ResourceArgs { /** * (Optional) The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. This is * required when `protocols` is set to `FTPS` */ certificate?: string | core.StringOut; /** * (Optional) The directory service ID of the directory service you want to connect to with an `identit * y_provider_type` of `AWS_DIRECTORY_SERVICE`. */ directoryId?: string | core.StringOut; /** * (Optional) The domain of the storage system that is used for file transfers. Valid values are: `S3` * and `EFS`. The default value is `S3`. */ domain?: string | core.StringOut; /** * (Optional) The virtual private cloud (VPC) endpoint settings that you want to configure for your SFT * P server. Fields documented below. */ endpointDetails?: EndpointDetails; /** * (Optional) The 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 con * nect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. */ endpointType?: string | core.StringOut; /** * (Optional) A boolean that indicates all users associated with the server should be deleted so that t * he Server can be destroyed without error. The default value is `false`. This option only applies to * servers configured with a `SERVICE_MANAGED` `identity_provider_type`. */ forceDestroy?: boolean | core.BooleanOut; /** * (Optional) The ARN for a lambda function to use for the Identity provider. */ function?: string | core.StringOut; /** * (Optional) RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` * command). */ hostKey?: string | core.StringOut; /** * (Optional) The mode of authentication enabled for this service. The default value is `SERVICE_MANAGE * D`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` ind * icates that user authentication requires a call to an API Gateway endpoint URL provided by you to in * tegrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentica * tion against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environm * ent, 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 i * n the `function` argument. */ identityProviderType?: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an * identity_provider_type` of `API_GATEWAY`. */ invocationRole?: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP user * s’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. */ loggingRole?: string | core.StringOut; postAuthenticationLoginBanner?: string | core.StringOut; preAuthenticationLoginBanner?: string | core.StringOut; /** * (Optional) Specifies the 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: */ protocols?: core.Array | core.ArrayOut; /** * (Optional) Specifies the name of the security policy that is attached to the server. Possible values * are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIP * S-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. */ securityPolicyName?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) - URL of the service endpoint used to authenticate users with an `identity_provider_type` * of `API_GATEWAY`. */ url?: string | core.StringOut; /** * (Optional) Specifies the workflow details. See Workflow Details below. */ workflowDetails?: WorkflowDetails; } export declare class Server extends core.Resource { /** * Amazon Resource Name (ARN) of Transfer Server */ arn: string | core.StringOut; /** * (Optional) The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. This is * required when `protocols` is set to `FTPS` */ certificate?: string | core.StringOut; /** * (Optional) The directory service ID of the directory service you want to connect to with an `identit * y_provider_type` of `AWS_DIRECTORY_SERVICE`. */ directoryId?: string | core.StringOut; /** * (Optional) The domain of the storage system that is used for file transfers. Valid values are: `S3` * and `EFS`. The default value is `S3`. */ domain?: string | core.StringOut; /** * The endpoint of the Transfer Server (e.g., `s-12345678.server.transfer.REGION.amazonaws.com`) */ endpoint: string | core.StringOut; /** * (Optional) The virtual private cloud (VPC) endpoint settings that you want to configure for your SFT * P server. Fields documented below. */ endpointDetails?: EndpointDetails; /** * (Optional) The 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 con * nect your SFTP server via public internet, set `PUBLIC`. Defaults to `PUBLIC`. */ endpointType?: string | core.StringOut; /** * (Optional) A boolean that indicates all users associated with the server should be deleted so that t * he Server can be destroyed without error. The default value is `false`. This option only applies to * servers configured with a `SERVICE_MANAGED` `identity_provider_type`. */ forceDestroy?: boolean | core.BooleanOut; /** * (Optional) The ARN for a lambda function to use for the Identity provider. */ function?: string | core.StringOut; /** * (Optional) RSA private key (e.g., as generated by the `ssh-keygen -N "" -m PEM -f my-new-server-key` * command). */ hostKey?: string | core.StringOut; /** * This value contains the 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. */ hostKeyFingerprint: string | core.StringOut; id: string | core.StringOut; /** * (Optional) The mode of authentication enabled for this service. The default value is `SERVICE_MANAGE * D`, which allows you to store and access SFTP user credentials within the service. `API_GATEWAY` ind * icates that user authentication requires a call to an API Gateway endpoint URL provided by you to in * tegrate an identity provider of your choice. Using `AWS_DIRECTORY_SERVICE` will allow for authentica * tion against AWS Managed Active Directory or Microsoft Active Directory in your on-premises environm * ent, 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 i * n the `function` argument. */ identityProviderType?: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of the IAM role used to authenticate the user account with an * identity_provider_type` of `API_GATEWAY`. */ invocationRole?: string | core.StringOut; /** * (Optional) Amazon Resource Name (ARN) of an IAM role that allows the service to write your SFTP user * s’ activity to your Amazon CloudWatch logs for monitoring and auditing purposes. */ loggingRole?: string | core.StringOut; postAuthenticationLoginBanner?: string | core.StringOut; preAuthenticationLoginBanner?: string | core.StringOut; /** * (Optional) Specifies the 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: */ protocols?: core.Array | core.ArrayOut; /** * (Optional) Specifies the name of the security policy that is attached to the server. Possible values * are `TransferSecurityPolicy-2018-11`, `TransferSecurityPolicy-2020-06`, `TransferSecurityPolicy-FIP * S-2020-06` and `TransferSecurityPolicy-2022-03`. Default value is: `TransferSecurityPolicy-2018-11`. */ securityPolicyName?: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; /** * (Optional) - URL of the service endpoint used to authenticate users with an `identity_provider_type` * of `API_GATEWAY`. */ url?: string | core.StringOut; /** * (Optional) Specifies the workflow details. See Workflow Details below. */ workflowDetails?: WorkflowDetails; constructor(name: string, args?: ServerArgs); getNamespace(): string; } //# sourceMappingURL=server.d.ts.map