

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::CodeDeploy::Application
<a name="aws-resource-codedeploy-application"></a>

The `AWS::CodeDeploy::Application` resource creates an AWS CodeDeploy application. In CodeDeploy, an application is a name that functions as a container to ensure that the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment. You can use the `AWS::CodeDeploy::DeploymentGroup` resource to associate the application with a CodeDeploy deployment group. For more information, see [CodeDeploy Deployments](https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-steps.html) in the *AWS CodeDeploy User Guide*.

## Syntax
<a name="aws-resource-codedeploy-application-syntax"></a>

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

### JSON
<a name="aws-resource-codedeploy-application-syntax.json"></a>

```
{
  "Type" : "AWS::CodeDeploy::Application",
  "Properties" : {
      "[ApplicationName](#cfn-codedeploy-application-applicationname)" : String,
      "[ComputePlatform](#cfn-codedeploy-application-computeplatform)" : String,
      "[Tags](#cfn-codedeploy-application-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-codedeploy-application-syntax.yaml"></a>

```
Type: AWS::CodeDeploy::Application
Properties:
  [ApplicationName](#cfn-codedeploy-application-applicationname): String
  [ComputePlatform](#cfn-codedeploy-application-computeplatform): String
  [Tags](#cfn-codedeploy-application-tags): 
    - Tag
```

## Properties
<a name="aws-resource-codedeploy-application-properties"></a>

`ApplicationName`  <a name="cfn-codedeploy-application-applicationname"></a>
 A name for the application. If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the application name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html).   
 Updates to `ApplicationName` are not supported. 
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ComputePlatform`  <a name="cfn-codedeploy-application-computeplatform"></a>
The compute platform that CodeDeploy deploys the application to.  
*Required*: No  
*Type*: String  
*Allowed values*: `Server | Lambda | ECS | Kubernetes`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Tags`  <a name="cfn-codedeploy-application-tags"></a>
 The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.   
*Required*: No  
*Type*: Array of [Tag](aws-properties-codedeploy-application-tag.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-codedeploy-application-return-values"></a>

### Ref
<a name="aws-resource-codedeploy-application-return-values-ref"></a>

When you pass the logical ID of an `AWS::CodeDeploy::Application` resource to the intrinsic `Ref` function, the function returns the application name, such as `myapplication-a123d0d1`.

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

## Examples
<a name="aws-resource-codedeploy-application--examples"></a>



**Topics**
+ [Specify an application with a Lambda compute platform](#aws-resource-codedeploy-application--examples--Specify_an_application_with_a_compute_platform)
+ [Specify an application with a Server compute platform](#aws-resource-codedeploy-application--examples--Specify_an_application_with_a_Server_compute_platform)

### Specify an application with a Lambda compute platform
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_compute_platform"></a>

The following example specifies a CodeDeploy application with a Lambda compute platform.

#### JSON
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_compute_platform--json"></a>

```
"CodeDeployApplication": { 
    "Type": "AWS::CodeDeploy::Application",
    "Properties": { 
        "ComputePlatform": "Lambda" 
    } 
}
```

#### YAML
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_compute_platform--yaml"></a>

```
CodeDeployApplication: 
  Type: AWS::CodeDeploy::Application 
  Properties:
    ComputePlatform: Lambda
```

### Specify an application with a Server compute platform
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_Server_compute_platform"></a>

The following example creates a CodeDeploy application with a `Server` compute platform.

#### JSON
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_Server_compute_platform--json"></a>

```
"CodeDeployApplication": { 
    "Type": "AWS::CodeDeploy::Application",
    "Properties": { 
        "ComputePlatform": "Server"
    }
}
```

#### YAML
<a name="aws-resource-codedeploy-application--examples--Specify_an_application_with_a_Server_compute_platform--yaml"></a>

```
CodeDeployApplication: 
  Type: AWS::CodeDeploy::Application 
  Properties:
    ComputePlatform: Server
```

## See also
<a name="aws-resource-codedeploy-application--seealso"></a>
+ For configuring your deployment and specifying your application revisions, see [ AWS::CodeDeploy::DeploymentConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html) and [ AWS::CodeDeploy::DeploymentGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html).



# AWS::CodeDeploy::Application Tag
<a name="aws-properties-codedeploy-application-tag"></a>

Information about a tag.

## Syntax
<a name="aws-properties-codedeploy-application-tag-syntax"></a>

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

### JSON
<a name="aws-properties-codedeploy-application-tag-syntax.json"></a>

```
{
  "[Key](#cfn-codedeploy-application-tag-key)" : String,
  "[Value](#cfn-codedeploy-application-tag-value)" : String
}
```

### YAML
<a name="aws-properties-codedeploy-application-tag-syntax.yaml"></a>

```
  [Key](#cfn-codedeploy-application-tag-key): String
  [Value](#cfn-codedeploy-application-tag-value): String
```

## Properties
<a name="aws-properties-codedeploy-application-tag-properties"></a>

`Key`  <a name="cfn-codedeploy-application-tag-key"></a>
The tag's key.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-codedeploy-application-tag-value"></a>
The tag's value.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)