

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::Transfer::WebApp
<a name="aws-resource-transfer-webapp"></a>

Creates a web app based on specified parameters, and returns the ID for the new web app. You can configure the web app to be publicly accessible or hosted within a VPC.

For more information about using VPC endpoints with AWS Transfer Family, see [Create a Transfer Family web app in a VPC](https://docs.aws.amazon.com/transfer/latest/userguide/create-webapp-in-vpc.html).

## Syntax
<a name="aws-resource-transfer-webapp-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-transfer-webapp-syntax.json"></a>

```
{
  "Type" : "AWS::Transfer::WebApp",
  "Properties" : {
      "[AccessEndpoint](#cfn-transfer-webapp-accessendpoint)" : {{String}},
      "[EndpointDetails](#cfn-transfer-webapp-endpointdetails)" : {{EndpointDetails}},
      "[IdentityProviderDetails](#cfn-transfer-webapp-identityproviderdetails)" : {{IdentityProviderDetails}},
      "[Tags](#cfn-transfer-webapp-tags)" : {{[ Tag, ... ]}},
      "[WebAppCustomization](#cfn-transfer-webapp-webappcustomization)" : {{WebAppCustomization}},
      "[WebAppEndpointPolicy](#cfn-transfer-webapp-webappendpointpolicy)" : {{String}},
      "[WebAppUnits](#cfn-transfer-webapp-webappunits)" : {{WebAppUnits}}
    }
}
```

### YAML
<a name="aws-resource-transfer-webapp-syntax.yaml"></a>

```
Type: AWS::Transfer::WebApp
Properties:
  [AccessEndpoint](#cfn-transfer-webapp-accessendpoint): {{String}}
  [EndpointDetails](#cfn-transfer-webapp-endpointdetails): {{
    EndpointDetails}}
  [IdentityProviderDetails](#cfn-transfer-webapp-identityproviderdetails): {{
    IdentityProviderDetails}}
  [Tags](#cfn-transfer-webapp-tags): {{
    - Tag}}
  [WebAppCustomization](#cfn-transfer-webapp-webappcustomization): {{
    WebAppCustomization}}
  [WebAppEndpointPolicy](#cfn-transfer-webapp-webappendpointpolicy): {{String}}
  [WebAppUnits](#cfn-transfer-webapp-webappunits): {{
    WebAppUnits}}
```

## Properties
<a name="aws-resource-transfer-webapp-properties"></a>

`AccessEndpoint`  <a name="cfn-transfer-webapp-accessendpoint"></a>
The `AccessEndpoint` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value.  
Before you enter a custom URL for this parameter, follow the steps described in [Update your access endpoint with a custom URL](https://docs.aws.amazon.com/transfer/latest/userguide/webapp-customize.html).  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EndpointDetails`  <a name="cfn-transfer-webapp-endpointdetails"></a>
The endpoint configuration for the web app. You can specify whether the web app endpoint is publicly accessible or hosted within a VPC.  
*Required*: No  
*Type*: [EndpointDetails](aws-properties-transfer-webapp-endpointdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IdentityProviderDetails`  <a name="cfn-transfer-webapp-identityproviderdetails"></a>
You can provide a structure that contains the details for the identity provider to use with your web app.  
For more details about this parameter, see [Configure your identity provider for Transfer Family web apps](https://docs.aws.amazon.com/transfer/latest/userguide/webapp-identity-center.html).  
*Required*: Yes  
*Type*: [IdentityProviderDetails](aws-properties-transfer-webapp-identityproviderdetails.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-transfer-webapp-tags"></a>
Key-value pairs that can be used to group and search for web apps. Tags are metadata attached to web apps for any purpose.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-transfer-webapp-tag.md)  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WebAppCustomization`  <a name="cfn-transfer-webapp-webappcustomization"></a>
A structure that contains the customization fields for the web app. You can provide a title, logo, and icon to customize the appearance of your web app.  
*Required*: No  
*Type*: [WebAppCustomization](aws-properties-transfer-webapp-webappcustomization.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`WebAppEndpointPolicy`  <a name="cfn-transfer-webapp-webappendpointpolicy"></a>
 Setting for the type of endpoint policy for the web app. The default value is `STANDARD`.   
If your web app was created in an AWS GovCloud (US) Region, the value of this parameter can be `FIPS`, which indicates the web app endpoint is FIPS-compliant.  
*Required*: No  
*Type*: String  
*Allowed values*: `STANDARD | FIPS`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`WebAppUnits`  <a name="cfn-transfer-webapp-webappunits"></a>
A union that contains the value for number of concurrent connections or the user sessions on your web app.  
*Required*: No  
*Type*: [WebAppUnits](aws-properties-transfer-webapp-webappunits.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-transfer-webapp-return-values"></a>

### Ref
<a name="aws-resource-transfer-webapp-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the web app ARN, such as `arn:aws:transfer:us-east-2:123456789012:webapp/webapp-01234567890abcdef` . 

For more information about using the `Ref` function, see [`Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-transfer-webapp-return-values-fn--getatt"></a>

#### 
<a name="aws-resource-transfer-webapp-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the web app.

`IdentityProviderDetails.ApplicationArn`  <a name="IdentityProviderDetails.ApplicationArn-fn::getatt"></a>
The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.

`VpcEndpointId`  <a name="VpcEndpointId-fn::getatt"></a>
The identifier of the VPC endpoint created for the web app.

`WebAppId`  <a name="WebAppId-fn::getatt"></a>
The unique identifier for the web app.