

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::AppRunner::Service
<a name="aws-resource-apprunner-service"></a>

The `AWS::AppRunner::Service` resource is an AWS App Runner resource type that specifies an App Runner service.

## Syntax
<a name="aws-resource-apprunner-service-syntax"></a>

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

### JSON
<a name="aws-resource-apprunner-service-syntax.json"></a>

```
{
  "Type" : "AWS::AppRunner::Service",
  "Properties" : {
      "[AutoScalingConfigurationArn](#cfn-apprunner-service-autoscalingconfigurationarn)" : String,
      "[EncryptionConfiguration](#cfn-apprunner-service-encryptionconfiguration)" : EncryptionConfiguration,
      "[HealthCheckConfiguration](#cfn-apprunner-service-healthcheckconfiguration)" : HealthCheckConfiguration,
      "[InstanceConfiguration](#cfn-apprunner-service-instanceconfiguration)" : InstanceConfiguration,
      "[NetworkConfiguration](#cfn-apprunner-service-networkconfiguration)" : NetworkConfiguration,
      "[ObservabilityConfiguration](#cfn-apprunner-service-observabilityconfiguration)" : ServiceObservabilityConfiguration,
      "[ServiceName](#cfn-apprunner-service-servicename)" : String,
      "[SourceConfiguration](#cfn-apprunner-service-sourceconfiguration)" : SourceConfiguration,
      "[Tags](#cfn-apprunner-service-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-apprunner-service-syntax.yaml"></a>

```
Type: AWS::AppRunner::Service
Properties:
  [AutoScalingConfigurationArn](#cfn-apprunner-service-autoscalingconfigurationarn): String
  [EncryptionConfiguration](#cfn-apprunner-service-encryptionconfiguration): 
    EncryptionConfiguration
  [HealthCheckConfiguration](#cfn-apprunner-service-healthcheckconfiguration): 
    HealthCheckConfiguration
  [InstanceConfiguration](#cfn-apprunner-service-instanceconfiguration): 
    InstanceConfiguration
  [NetworkConfiguration](#cfn-apprunner-service-networkconfiguration): 
    NetworkConfiguration
  [ObservabilityConfiguration](#cfn-apprunner-service-observabilityconfiguration): 
    ServiceObservabilityConfiguration
  [ServiceName](#cfn-apprunner-service-servicename): String
  [SourceConfiguration](#cfn-apprunner-service-sourceconfiguration): 
    SourceConfiguration
  [Tags](#cfn-apprunner-service-tags): 
    - Tag
```

## Properties
<a name="aws-resource-apprunner-service-properties"></a>

`AutoScalingConfigurationArn`  <a name="cfn-apprunner-service-autoscalingconfigurationarn"></a>
The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner associates the latest revision of a default auto scaling configuration.  
Specify an ARN with a name and a revision number to associate that revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability/3`  
Specify just the name to associate the latest revision. For example: `arn:aws:apprunner:us-east-1:123456789012:autoscalingconfiguration/high-availability`  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws(-[\w]+)*:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[0-9]{12}:(\w|\/|-){1,1011}`  
*Minimum*: `1`  
*Maximum*: `1011`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EncryptionConfiguration`  <a name="cfn-apprunner-service-encryptionconfiguration"></a>
An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default, App Runner uses an AWS managed key.  
*Required*: No  
*Type*: [EncryptionConfiguration](aws-properties-apprunner-service-encryptionconfiguration.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`HealthCheckConfiguration`  <a name="cfn-apprunner-service-healthcheckconfiguration"></a>
The settings for the health check that AWS App Runner performs to monitor the health of the App Runner service.  
*Required*: No  
*Type*: [HealthCheckConfiguration](aws-properties-apprunner-service-healthcheckconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceConfiguration`  <a name="cfn-apprunner-service-instanceconfiguration"></a>
The runtime configuration of instances (scaling units) of your service.  
*Required*: No  
*Type*: [InstanceConfiguration](aws-properties-apprunner-service-instanceconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NetworkConfiguration`  <a name="cfn-apprunner-service-networkconfiguration"></a>
Configuration settings related to network traffic of the web application that the App Runner service runs.  
*Required*: No  
*Type*: [NetworkConfiguration](aws-properties-apprunner-service-networkconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObservabilityConfiguration`  <a name="cfn-apprunner-service-observabilityconfiguration"></a>
The observability configuration of your service.  
*Required*: No  
*Type*: [ServiceObservabilityConfiguration](aws-properties-apprunner-service-serviceobservabilityconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ServiceName`  <a name="cfn-apprunner-service-servicename"></a>
A name for the App Runner service. It must be unique across all the running App Runner services in your AWS account in the AWS Region.  
If you don't specify a name, CloudFormation generates a name for your service.  
*Required*: No  
*Type*: String  
*Pattern*: `[A-Za-z0-9][A-Za-z0-9-_]{3,39}`  
*Minimum*: `4`  
*Maximum*: `40`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`SourceConfiguration`  <a name="cfn-apprunner-service-sourceconfiguration"></a>
The source to deploy to the App Runner service. It can be a code or an image repository.  
*Required*: Yes  
*Type*: [SourceConfiguration](aws-properties-apprunner-service-sourceconfiguration.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-apprunner-service-tags"></a>
An optional list of metadata items that you can associate with the App Runner service resource. A tag is a key-value pair.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-apprunner-service-tag.md)  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

## Return values
<a name="aws-resource-apprunner-service-return-values"></a>

### Ref
<a name="aws-resource-apprunner-service-return-values-ref"></a>

When the logical ID of this resource is provided to the `Ref` intrinsic function, `Ref` returns the ARN of the App Runner service.

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

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

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

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

#### 
<a name="aws-resource-apprunner-service-return-values-fn--getatt-fn--getatt"></a>

`ServiceArn`  <a name="ServiceArn-fn::getatt"></a>
The Amazon Resource Name (ARN) of this service.

`ServiceId`  <a name="ServiceId-fn::getatt"></a>
An ID that App Runner generated for this service. It's unique within the AWS Region.

`ServiceUrl`  <a name="ServiceUrl-fn::getatt"></a>
A subdomain URL that App Runner generated for this service. You can use this URL to access your service web application.

`Status`  <a name="Status-fn::getatt"></a>
The current state of the App Runner service. These particular values mean the following.  
+ `CREATE_FAILED` – The service failed to create. The failed service isn't usable, and still counts towards your service quota. To troubleshoot this failure, read the failure events and logs, change any parameters that need to be fixed, and rebuild your service using `UpdateService`.
+ `DELETE_FAILED` – The service failed to delete and can't be successfully recovered. Retry the service deletion call to ensure that all related resources are removed.

## Examples
<a name="aws-resource-apprunner-service--examples"></a>

**Topics**
+ [Service based on source code](#aws-resource-apprunner-service--examples--Service_based_on_source_code)
+ [Service based on source image](#aws-resource-apprunner-service--examples--Service_based_on_source_image)

### Service based on source code
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_code"></a>

This example illustrates creating a service based on a Python source code repository.

#### JSON
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_code--json"></a>

```
{
  "Type": "AWS::AppRunner::Service",
  "Properties": {
    "ServiceName": "python-app",
    "SourceConfiguration": {
      "AuthenticationConfiguration": {
        "ConnectionArn": "arn:aws:apprunner:us-east-1:123456789012:connection/my-github-connection/e7656250f67242d7819feade6800f59e"
      },
      "AutoDeploymentsEnabled": true,
      "CodeRepository": {
        "RepositoryUrl": "https://github.com/my-account/python-hello",
        "SourceCodeVersion": {
          "Type": "BRANCH",
          "Value": "main"
        },
        "CodeConfiguration": {
          "ConfigurationSource": "API",
          "CodeConfigurationValues": {
            "Runtime": "PYTHON_3",
            "BuildCommand": "pip install -r requirements.txt",
            "StartCommand": "python server.py",
            "Port": "8080",
            "RuntimeEnvironmentVariables": [
              {
                "Name": "NAME",
                "Value": "Jane"
              }
            ]
          }
        }
      }
    },
    "InstanceConfiguration": {
      "Cpu": "1 vCPU",
      "Memory": "3 GB"
    }
  }
}
```

#### YAML
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_code--yaml"></a>

```
Type: AWS::AppRunner::Service
Properties:
  ServiceName: python-app
  SourceConfiguration:
    AuthenticationConfiguration:
      ConnectionArn: "arn:aws:apprunner:us-east-1:123456789012:connection/my-github-connection/e7656250f67242d7819feade6800f59e"
    AutoDeploymentsEnabled: true
    CodeRepository:
      RepositoryUrl: "https://github.com/my-account/python-hello"
      SourceCodeVersion:
        Type: BRANCH
        Value: main
      CodeConfiguration:
        ConfigurationSource: API
        CodeConfigurationValues:
          Runtime: PYTHON_3
          BuildCommand: "pip install -r requirements.txt"
          StartCommand: "python server.py"
          Port: 8080
          RuntimeEnvironmentVariables:
            -
              Name: NAME
              Value: Jane
  InstanceConfiguration:
    Cpu: 1 vCPU
    Memory: 3 GB
```

### Service based on source image
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_image"></a>

This example illustrates creating a service based on an image stored in Amazon Elastic Container Registry (Amazon ECR).

#### JSON
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_image--json"></a>

```
{
  "Type": "AWS::AppRunner::Service",
  "Properties": {
    "ServiceName": "golang-container-app",
    "SourceConfiguration": {
      "AuthenticationConfiguration": {
        "AccessRoleArn": "arn:aws:iam::123456789012:role/my-ecr-role"
      },
      "AutoDeploymentsEnabled": true,
      "ImageRepository": {
        "ImageIdentifier": "123456789012.dkr.ecr.us-east-1.amazonaws.com/golang-app:latest",
        "ImageRepositoryType": "ECR",
        "ImageConfiguration": {
          "Port": "8080",
          "RuntimeEnvironmentVariables": [
            {
              "Name": "NAME",
              "Value": "Jane"
            }
          ]
        }
      }
    },
    "InstanceConfiguration": {
      "Cpu": "1 vCPU",
      "Memory": "3 GB"
    }
  }
}
```

#### YAML
<a name="aws-resource-apprunner-service--examples--Service_based_on_source_image--yaml"></a>

```
Type: AWS::AppRunner::Service
Properties:
  ServiceName: golang-container-app
  SourceConfiguration:
    AuthenticationConfiguration:
      AccessRoleArn: "arn:aws:iam::123456789012:role/my-ecr-role"
    AutoDeploymentsEnabled: true
    ImageRepository:
      ImageIdentifier: "123456789012.dkr.ecr.us-east-1.amazonaws.com/golang-app:latest"
      ImageRepositoryType: ECR
      ImageConfiguration:
        Port: 8080
        RuntimeEnvironmentVariables:
          -
            Name: NAME
            Value: Jane
  InstanceConfiguration:
    Cpu: 1 vCPU
    Memory: 3 GB
```

## See also
<a name="aws-resource-apprunner-service--seealso"></a>
+ [Creating an App Runner service](https://docs.aws.amazon.com/apprunner/latest/dg/manage-create.html) in the *AWS App Runner Developer Guide*
+ [Deploying a new application version to App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/manage-deploy.html) in the *AWS App Runner Developer Guide*
+ [Configuring an App Runner service](https://docs.aws.amazon.com/apprunner/latest/dg/manage-configure.html) in the *AWS App Runner Developer Guide*

# AWS::AppRunner::Service AuthenticationConfiguration
<a name="aws-properties-apprunner-service-authenticationconfiguration"></a>

Describes resources needed to authenticate access to some source repositories. The specific resource depends on the repository provider.

## Syntax
<a name="aws-properties-apprunner-service-authenticationconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-authenticationconfiguration-syntax.json"></a>

```
{
  "[AccessRoleArn](#cfn-apprunner-service-authenticationconfiguration-accessrolearn)" : String,
  "[ConnectionArn](#cfn-apprunner-service-authenticationconfiguration-connectionarn)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-authenticationconfiguration-syntax.yaml"></a>

```
  [AccessRoleArn](#cfn-apprunner-service-authenticationconfiguration-accessrolearn): String
  [ConnectionArn](#cfn-apprunner-service-authenticationconfiguration-connectionarn): String
```

## Properties
<a name="aws-properties-apprunner-service-authenticationconfiguration-properties"></a>

`AccessRoleArn`  <a name="cfn-apprunner-service-authenticationconfiguration-accessrolearn"></a>
The Amazon Resource Name (ARN) of the IAM role that grants the App Runner service access to a source repository. It's required for ECR image repositories (but not for ECR Public repositories).  
*Required*: No  
*Type*: String  
*Pattern*: `arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):iam::[0-9]{12}:role/[\w+=,.@-]{1,64}`  
*Minimum*: `29`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConnectionArn`  <a name="cfn-apprunner-service-authenticationconfiguration-connectionarn"></a>
The Amazon Resource Name (ARN) of the App Runner connection that enables the App Runner service to connect to a source repository. It's required for GitHub code repositories.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws(-[\w]+)*:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[0-9]{12}:(\w|\/|-){1,1011}`  
*Minimum*: `1`  
*Maximum*: `1011`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service CodeConfiguration
<a name="aws-properties-apprunner-service-codeconfiguration"></a>

Describes the configuration that AWS App Runner uses to build and run an App Runner service from a source code repository.

## Syntax
<a name="aws-properties-apprunner-service-codeconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-codeconfiguration-syntax.json"></a>

```
{
  "[CodeConfigurationValues](#cfn-apprunner-service-codeconfiguration-codeconfigurationvalues)" : CodeConfigurationValues,
  "[ConfigurationSource](#cfn-apprunner-service-codeconfiguration-configurationsource)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-codeconfiguration-syntax.yaml"></a>

```
  [CodeConfigurationValues](#cfn-apprunner-service-codeconfiguration-codeconfigurationvalues): 
    CodeConfigurationValues
  [ConfigurationSource](#cfn-apprunner-service-codeconfiguration-configurationsource): String
```

## Properties
<a name="aws-properties-apprunner-service-codeconfiguration-properties"></a>

`CodeConfigurationValues`  <a name="cfn-apprunner-service-codeconfiguration-codeconfigurationvalues"></a>
The basic configuration for building and running the App Runner service. Use it to quickly launch an App Runner service without providing a `apprunner.yaml` file in the source code repository (or ignoring the file if it exists).  
*Required*: No  
*Type*: [CodeConfigurationValues](aws-properties-apprunner-service-codeconfigurationvalues.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConfigurationSource`  <a name="cfn-apprunner-service-codeconfiguration-configurationsource"></a>
The source of the App Runner configuration. Values are interpreted as follows:  
+ `REPOSITORY` – App Runner reads configuration values from the `apprunner.yaml` file in the source code repository and ignores `CodeConfigurationValues`.
+ `API` – App Runner uses configuration values provided in `CodeConfigurationValues` and ignores the `apprunner.yaml` file in the source code repository.
*Required*: Yes  
*Type*: String  
*Allowed values*: `REPOSITORY | API`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service CodeConfigurationValues
<a name="aws-properties-apprunner-service-codeconfigurationvalues"></a>

Describes the basic configuration needed for building and running an AWS App Runner service. This type doesn't support the full set of possible configuration options. Fur full configuration capabilities, use a `apprunner.yaml` file in the source code repository.

## Syntax
<a name="aws-properties-apprunner-service-codeconfigurationvalues-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-codeconfigurationvalues-syntax.json"></a>

```
{
  "[BuildCommand](#cfn-apprunner-service-codeconfigurationvalues-buildcommand)" : String,
  "[Port](#cfn-apprunner-service-codeconfigurationvalues-port)" : String,
  "[Runtime](#cfn-apprunner-service-codeconfigurationvalues-runtime)" : String,
  "[RuntimeEnvironmentSecrets](#cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentsecrets)" : [ KeyValuePair, ... ],
  "[RuntimeEnvironmentVariables](#cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentvariables)" : [ KeyValuePair, ... ],
  "[StartCommand](#cfn-apprunner-service-codeconfigurationvalues-startcommand)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-codeconfigurationvalues-syntax.yaml"></a>

```
  [BuildCommand](#cfn-apprunner-service-codeconfigurationvalues-buildcommand): String
  [Port](#cfn-apprunner-service-codeconfigurationvalues-port): String
  [Runtime](#cfn-apprunner-service-codeconfigurationvalues-runtime): String
  [RuntimeEnvironmentSecrets](#cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentsecrets): 
    - KeyValuePair
  [RuntimeEnvironmentVariables](#cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentvariables): 
    - KeyValuePair
  [StartCommand](#cfn-apprunner-service-codeconfigurationvalues-startcommand): String
```

## Properties
<a name="aws-properties-apprunner-service-codeconfigurationvalues-properties"></a>

`BuildCommand`  <a name="cfn-apprunner-service-codeconfigurationvalues-buildcommand"></a>
The command App Runner runs to build your application.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\x0a\x0d]+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Port`  <a name="cfn-apprunner-service-codeconfigurationvalues-port"></a>
The port that your application listens to in the container.  
Default: `8080`  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `51200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Runtime`  <a name="cfn-apprunner-service-codeconfigurationvalues-runtime"></a>
A runtime environment type for building and running an App Runner service. It represents a programming language runtime.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PYTHON_3 | NODEJS_12 | NODEJS_14 | CORRETTO_8 | CORRETTO_11 | NODEJS_16 | GO_1 | DOTNET_6 | PHP_81 | RUBY_31 | PYTHON_311 | NODEJS_18 | NODEJS_22`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeEnvironmentSecrets`  <a name="cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentsecrets"></a>
An array of key-value pairs representing the secrets and parameters that get referenced to your service as an environment variable. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.  
+  If the AWS Systems Manager Parameter Store parameter exists in the same AWS Region as the service that you're launching, you can use either the full ARN or name of the secret. If the parameter exists in a different Region, then the full ARN must be specified. 
+  Currently, cross account referencing of AWS Systems Manager Parameter Store parameter is not supported. 
*Required*: No  
*Type*: Array of [KeyValuePair](aws-properties-apprunner-service-keyvaluepair.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeEnvironmentVariables`  <a name="cfn-apprunner-service-codeconfigurationvalues-runtimeenvironmentvariables"></a>
The environment variables that are available to your running AWS App Runner service. An array of key-value pairs.  
*Required*: No  
*Type*: Array of [KeyValuePair](aws-properties-apprunner-service-keyvaluepair.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartCommand`  <a name="cfn-apprunner-service-codeconfigurationvalues-startcommand"></a>
The command App Runner runs to start your application.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\x0a\x0d]+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service CodeRepository
<a name="aws-properties-apprunner-service-coderepository"></a>

Describes a source code repository.

## Syntax
<a name="aws-properties-apprunner-service-coderepository-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-coderepository-syntax.json"></a>

```
{
  "[CodeConfiguration](#cfn-apprunner-service-coderepository-codeconfiguration)" : CodeConfiguration,
  "[RepositoryUrl](#cfn-apprunner-service-coderepository-repositoryurl)" : String,
  "[SourceCodeVersion](#cfn-apprunner-service-coderepository-sourcecodeversion)" : SourceCodeVersion,
  "[SourceDirectory](#cfn-apprunner-service-coderepository-sourcedirectory)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-coderepository-syntax.yaml"></a>

```
  [CodeConfiguration](#cfn-apprunner-service-coderepository-codeconfiguration): 
    CodeConfiguration
  [RepositoryUrl](#cfn-apprunner-service-coderepository-repositoryurl): String
  [SourceCodeVersion](#cfn-apprunner-service-coderepository-sourcecodeversion): 
    SourceCodeVersion
  [SourceDirectory](#cfn-apprunner-service-coderepository-sourcedirectory): String
```

## Properties
<a name="aws-properties-apprunner-service-coderepository-properties"></a>

`CodeConfiguration`  <a name="cfn-apprunner-service-coderepository-codeconfiguration"></a>
Configuration for building and running the service from a source code repository.  
`CodeConfiguration` is required only for `CreateService` request.
*Required*: No  
*Type*: [CodeConfiguration](aws-properties-apprunner-service-codeconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RepositoryUrl`  <a name="cfn-apprunner-service-coderepository-repositoryurl"></a>
The location of the repository that contains the source code.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `51200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceCodeVersion`  <a name="cfn-apprunner-service-coderepository-sourcecodeversion"></a>
The version that should be used within the source code repository.  
*Required*: Yes  
*Type*: [SourceCodeVersion](aws-properties-apprunner-service-sourcecodeversion.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SourceDirectory`  <a name="cfn-apprunner-service-coderepository-sourcedirectory"></a>
The path of the directory that stores source code and configuration files. The build and start commands also execute from here. The path is absolute from root and, if not specified, defaults to the repository root.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\x00]+`  
*Minimum*: `1`  
*Maximum*: `4096`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service EgressConfiguration
<a name="aws-properties-apprunner-service-egressconfiguration"></a>

Describes configuration settings related to outbound network traffic of an AWS App Runner service.

## Syntax
<a name="aws-properties-apprunner-service-egressconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-egressconfiguration-syntax.json"></a>

```
{
  "[EgressType](#cfn-apprunner-service-egressconfiguration-egresstype)" : String,
  "[VpcConnectorArn](#cfn-apprunner-service-egressconfiguration-vpcconnectorarn)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-egressconfiguration-syntax.yaml"></a>

```
  [EgressType](#cfn-apprunner-service-egressconfiguration-egresstype): String
  [VpcConnectorArn](#cfn-apprunner-service-egressconfiguration-vpcconnectorarn): String
```

## Properties
<a name="aws-properties-apprunner-service-egressconfiguration-properties"></a>

`EgressType`  <a name="cfn-apprunner-service-egressconfiguration-egresstype"></a>
The type of egress configuration.  
Set to `DEFAULT` for access to resources hosted on public networks.  
Set to `VPC` to associate your service to a custom VPC specified by `VpcConnectorArn`.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DEFAULT | VPC`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConnectorArn`  <a name="cfn-apprunner-service-egressconfiguration-vpcconnectorarn"></a>
The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to associate with your App Runner service. Only valid when `EgressType = VPC`.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws(-[\w]+)*:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[0-9]{12}:(\w|\/|-){1,1011}`  
*Minimum*: `44`  
*Maximum*: `1011`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service EncryptionConfiguration
<a name="aws-properties-apprunner-service-encryptionconfiguration"></a>

Describes a custom encryption key that AWS App Runner uses to encrypt copies of the source repository and service logs.

## Syntax
<a name="aws-properties-apprunner-service-encryptionconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-encryptionconfiguration-syntax.json"></a>

```
{
  "[KmsKey](#cfn-apprunner-service-encryptionconfiguration-kmskey)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-encryptionconfiguration-syntax.yaml"></a>

```
  [KmsKey](#cfn-apprunner-service-encryptionconfiguration-kmskey): String
```

## Properties
<a name="aws-properties-apprunner-service-encryptionconfiguration-properties"></a>

`KmsKey`  <a name="cfn-apprunner-service-encryptionconfiguration-kmskey"></a>
The ARN of the KMS key that's used for encryption.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:aws(-[\w]+)*:kms:[a-z\-]+-[0-9]{1}:[0-9]{12}:key\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

# AWS::AppRunner::Service HealthCheckConfiguration
<a name="aws-properties-apprunner-service-healthcheckconfiguration"></a>

Describes the settings for the health check that AWS App Runner performs to monitor the health of a service.

## Syntax
<a name="aws-properties-apprunner-service-healthcheckconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-healthcheckconfiguration-syntax.json"></a>

```
{
  "[HealthyThreshold](#cfn-apprunner-service-healthcheckconfiguration-healthythreshold)" : Integer,
  "[Interval](#cfn-apprunner-service-healthcheckconfiguration-interval)" : Integer,
  "[Path](#cfn-apprunner-service-healthcheckconfiguration-path)" : String,
  "[Protocol](#cfn-apprunner-service-healthcheckconfiguration-protocol)" : String,
  "[Timeout](#cfn-apprunner-service-healthcheckconfiguration-timeout)" : Integer,
  "[UnhealthyThreshold](#cfn-apprunner-service-healthcheckconfiguration-unhealthythreshold)" : Integer
}
```

### YAML
<a name="aws-properties-apprunner-service-healthcheckconfiguration-syntax.yaml"></a>

```
  [HealthyThreshold](#cfn-apprunner-service-healthcheckconfiguration-healthythreshold): Integer
  [Interval](#cfn-apprunner-service-healthcheckconfiguration-interval): Integer
  [Path](#cfn-apprunner-service-healthcheckconfiguration-path): String
  [Protocol](#cfn-apprunner-service-healthcheckconfiguration-protocol): String
  [Timeout](#cfn-apprunner-service-healthcheckconfiguration-timeout): Integer
  [UnhealthyThreshold](#cfn-apprunner-service-healthcheckconfiguration-unhealthythreshold): Integer
```

## Properties
<a name="aws-properties-apprunner-service-healthcheckconfiguration-properties"></a>

`HealthyThreshold`  <a name="cfn-apprunner-service-healthcheckconfiguration-healthythreshold"></a>
The number of consecutive checks that must succeed before App Runner decides that the service is healthy.  
Default: `1`  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Interval`  <a name="cfn-apprunner-service-healthcheckconfiguration-interval"></a>
The time interval, in seconds, between health checks.  
Default: `5`  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Path`  <a name="cfn-apprunner-service-healthcheckconfiguration-path"></a>
The URL that health check requests are sent to.  
`Path` is only applicable when you set `Protocol` to `HTTP`.  
Default: `"/"`  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Protocol`  <a name="cfn-apprunner-service-healthcheckconfiguration-protocol"></a>
The IP protocol that App Runner uses to perform health checks for your service.  
If you set `Protocol` to `HTTP`, App Runner sends health check requests to the HTTP path specified by `Path`.  
Default: `TCP`  
*Required*: No  
*Type*: String  
*Allowed values*: `TCP | HTTP`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Timeout`  <a name="cfn-apprunner-service-healthcheckconfiguration-timeout"></a>
The time, in seconds, to wait for a health check response before deciding it failed.  
Default: `2`  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UnhealthyThreshold`  <a name="cfn-apprunner-service-healthcheckconfiguration-unhealthythreshold"></a>
The number of consecutive checks that must fail before App Runner decides that the service is unhealthy.  
Default: `5`  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service ImageConfiguration
<a name="aws-properties-apprunner-service-imageconfiguration"></a>

Describes the configuration that AWS App Runner uses to run an App Runner service using an image pulled from a source image repository.

## Syntax
<a name="aws-properties-apprunner-service-imageconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-imageconfiguration-syntax.json"></a>

```
{
  "[Port](#cfn-apprunner-service-imageconfiguration-port)" : String,
  "[RuntimeEnvironmentSecrets](#cfn-apprunner-service-imageconfiguration-runtimeenvironmentsecrets)" : [ KeyValuePair, ... ],
  "[RuntimeEnvironmentVariables](#cfn-apprunner-service-imageconfiguration-runtimeenvironmentvariables)" : [ KeyValuePair, ... ],
  "[StartCommand](#cfn-apprunner-service-imageconfiguration-startcommand)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-imageconfiguration-syntax.yaml"></a>

```
  [Port](#cfn-apprunner-service-imageconfiguration-port): String
  [RuntimeEnvironmentSecrets](#cfn-apprunner-service-imageconfiguration-runtimeenvironmentsecrets): 
    - KeyValuePair
  [RuntimeEnvironmentVariables](#cfn-apprunner-service-imageconfiguration-runtimeenvironmentvariables): 
    - KeyValuePair
  [StartCommand](#cfn-apprunner-service-imageconfiguration-startcommand): String
```

## Properties
<a name="aws-properties-apprunner-service-imageconfiguration-properties"></a>

`Port`  <a name="cfn-apprunner-service-imageconfiguration-port"></a>
The port that your application listens to in the container.  
Default: `8080`  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `51200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeEnvironmentSecrets`  <a name="cfn-apprunner-service-imageconfiguration-runtimeenvironmentsecrets"></a>
An array of key-value pairs representing the secrets and parameters that get referenced to your service as an environment variable. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.  
+  If the AWS Systems Manager Parameter Store parameter exists in the same AWS Region as the service that you're launching, you can use either the full ARN or name of the secret. If the parameter exists in a different Region, then the full ARN must be specified. 
+  Currently, cross account referencing of AWS Systems Manager Parameter Store parameter is not supported. 
*Required*: No  
*Type*: Array of [KeyValuePair](aws-properties-apprunner-service-keyvaluepair.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeEnvironmentVariables`  <a name="cfn-apprunner-service-imageconfiguration-runtimeenvironmentvariables"></a>
Environment variables that are available to your running App Runner service. An array of key-value pairs.  
*Required*: No  
*Type*: Array of [KeyValuePair](aws-properties-apprunner-service-keyvaluepair.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartCommand`  <a name="cfn-apprunner-service-imageconfiguration-startcommand"></a>
An optional command that App Runner runs to start the application in the source image. If specified, this command overrides the Docker image’s default start command.  
*Required*: No  
*Type*: String  
*Pattern*: `[^\x0a\x0d]+`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service ImageRepository
<a name="aws-properties-apprunner-service-imagerepository"></a>

Describes a source image repository.

## Syntax
<a name="aws-properties-apprunner-service-imagerepository-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-imagerepository-syntax.json"></a>

```
{
  "[ImageConfiguration](#cfn-apprunner-service-imagerepository-imageconfiguration)" : ImageConfiguration,
  "[ImageIdentifier](#cfn-apprunner-service-imagerepository-imageidentifier)" : String,
  "[ImageRepositoryType](#cfn-apprunner-service-imagerepository-imagerepositorytype)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-imagerepository-syntax.yaml"></a>

```
  [ImageConfiguration](#cfn-apprunner-service-imagerepository-imageconfiguration): 
    ImageConfiguration
  [ImageIdentifier](#cfn-apprunner-service-imagerepository-imageidentifier): String
  [ImageRepositoryType](#cfn-apprunner-service-imagerepository-imagerepositorytype): String
```

## Properties
<a name="aws-properties-apprunner-service-imagerepository-properties"></a>

`ImageConfiguration`  <a name="cfn-apprunner-service-imagerepository-imageconfiguration"></a>
Configuration for running the identified image.  
*Required*: No  
*Type*: [ImageConfiguration](aws-properties-apprunner-service-imageconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageIdentifier`  <a name="cfn-apprunner-service-imagerepository-imageidentifier"></a>
The identifier of an image.  
For an image in Amazon Elastic Container Registry (Amazon ECR), this is an image name. For the image name format, see [Pulling an image](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html) in the *Amazon ECR User Guide*.  
*Required*: Yes  
*Type*: String  
*Pattern*: `([0-9]{12}.dkr.ecr.[a-z\-]+-[0-9]{1}.amazonaws.com\/.*)|(^public\.ecr\.aws\/.+\/.+)`  
*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)

`ImageRepositoryType`  <a name="cfn-apprunner-service-imagerepository-imagerepositorytype"></a>
The type of the image repository. This reflects the repository provider and whether the repository is private or public.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `ECR | ECR_PUBLIC`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service IngressConfiguration
<a name="aws-properties-apprunner-service-ingressconfiguration"></a>

Network configuration settings for inbound network traffic.

## Syntax
<a name="aws-properties-apprunner-service-ingressconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-ingressconfiguration-syntax.json"></a>

```
{
  "[IsPubliclyAccessible](#cfn-apprunner-service-ingressconfiguration-ispubliclyaccessible)" : Boolean
}
```

### YAML
<a name="aws-properties-apprunner-service-ingressconfiguration-syntax.yaml"></a>

```
  [IsPubliclyAccessible](#cfn-apprunner-service-ingressconfiguration-ispubliclyaccessible): Boolean
```

## Properties
<a name="aws-properties-apprunner-service-ingressconfiguration-properties"></a>

`IsPubliclyAccessible`  <a name="cfn-apprunner-service-ingressconfiguration-ispubliclyaccessible"></a>
Specifies whether your App Runner service is publicly accessible. To make the service publicly accessible set it to `True`. To make the service privately accessible, from only within an Amazon VPC set it to `False`.   
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service InstanceConfiguration
<a name="aws-properties-apprunner-service-instanceconfiguration"></a>

Describes the runtime configuration of an AWS App Runner service instance (scaling unit).

## Syntax
<a name="aws-properties-apprunner-service-instanceconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-instanceconfiguration-syntax.json"></a>

```
{
  "[Cpu](#cfn-apprunner-service-instanceconfiguration-cpu)" : String,
  "[InstanceRoleArn](#cfn-apprunner-service-instanceconfiguration-instancerolearn)" : String,
  "[Memory](#cfn-apprunner-service-instanceconfiguration-memory)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-instanceconfiguration-syntax.yaml"></a>

```
  [Cpu](#cfn-apprunner-service-instanceconfiguration-cpu): String
  [InstanceRoleArn](#cfn-apprunner-service-instanceconfiguration-instancerolearn): String
  [Memory](#cfn-apprunner-service-instanceconfiguration-memory): String
```

## Properties
<a name="aws-properties-apprunner-service-instanceconfiguration-properties"></a>

`Cpu`  <a name="cfn-apprunner-service-instanceconfiguration-cpu"></a>
The number of CPU units reserved for each instance of your App Runner service.  
Default: `1 vCPU`  
*Required*: No  
*Type*: String  
*Pattern*: `256|512|1024|2048|4096|(0.25|0.5|1|2|4) vCPU`  
*Minimum*: `3`  
*Maximum*: `9`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceRoleArn`  <a name="cfn-apprunner-service-instanceconfiguration-instancerolearn"></a>
The Amazon Resource Name (ARN) of an IAM role that provides permissions to your App Runner service. These are permissions that your code needs when it calls any AWS APIs.  
*Required*: No  
*Type*: String  
*Pattern*: `arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):iam::[0-9]{12}:role/[\w+=,.@-]{1,64}`  
*Minimum*: `29`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Memory`  <a name="cfn-apprunner-service-instanceconfiguration-memory"></a>
The amount of memory, in MB or GB, reserved for each instance of your App Runner service.  
Default: `2 GB`  
*Required*: No  
*Type*: String  
*Pattern*: `512|1024|2048|3072|4096|6144|8192|10240|12288|(0.5|1|2|3|4|6|8|10|12) GB`  
*Minimum*: `3`  
*Maximum*: `6`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service KeyValuePair
<a name="aws-properties-apprunner-service-keyvaluepair"></a>

Describes a key-value pair, which is a string-to-string mapping.

## Syntax
<a name="aws-properties-apprunner-service-keyvaluepair-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-keyvaluepair-syntax.json"></a>

```
{
  "[Name](#cfn-apprunner-service-keyvaluepair-name)" : String,
  "[Value](#cfn-apprunner-service-keyvaluepair-value)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-keyvaluepair-syntax.yaml"></a>

```
  [Name](#cfn-apprunner-service-keyvaluepair-name): String
  [Value](#cfn-apprunner-service-keyvaluepair-value): String
```

## Properties
<a name="aws-properties-apprunner-service-keyvaluepair-properties"></a>

`Name`  <a name="cfn-apprunner-service-keyvaluepair-name"></a>
The key name string to map to a value.  
*Required*: No  
*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-apprunner-service-keyvaluepair-value"></a>
The value string to which the key name is mapped.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service NetworkConfiguration
<a name="aws-properties-apprunner-service-networkconfiguration"></a>

Describes configuration settings related to network traffic of an AWS App Runner service. Consists of embedded objects for each configurable network feature.

## Syntax
<a name="aws-properties-apprunner-service-networkconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-networkconfiguration-syntax.json"></a>

```
{
  "[EgressConfiguration](#cfn-apprunner-service-networkconfiguration-egressconfiguration)" : EgressConfiguration,
  "[IngressConfiguration](#cfn-apprunner-service-networkconfiguration-ingressconfiguration)" : IngressConfiguration,
  "[IpAddressType](#cfn-apprunner-service-networkconfiguration-ipaddresstype)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-networkconfiguration-syntax.yaml"></a>

```
  [EgressConfiguration](#cfn-apprunner-service-networkconfiguration-egressconfiguration): 
    EgressConfiguration
  [IngressConfiguration](#cfn-apprunner-service-networkconfiguration-ingressconfiguration): 
    IngressConfiguration
  [IpAddressType](#cfn-apprunner-service-networkconfiguration-ipaddresstype): String
```

## Properties
<a name="aws-properties-apprunner-service-networkconfiguration-properties"></a>

`EgressConfiguration`  <a name="cfn-apprunner-service-networkconfiguration-egressconfiguration"></a>
Network configuration settings for outbound message traffic.  
*Required*: No  
*Type*: [EgressConfiguration](aws-properties-apprunner-service-egressconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IngressConfiguration`  <a name="cfn-apprunner-service-networkconfiguration-ingressconfiguration"></a>
Network configuration settings for inbound message traffic.  
*Required*: No  
*Type*: [IngressConfiguration](aws-properties-apprunner-service-ingressconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IpAddressType`  <a name="cfn-apprunner-service-networkconfiguration-ipaddresstype"></a>
App Runner provides you with the option to choose between *IPv4* and *dual stack* (IPv4 and IPv6) for your incoming public network configuration. This is an optional parameter. If you do not specify an `IpAddressType`, it defaults to select IPv4.  
*Required*: No  
*Type*: String  
*Allowed values*: `IPV4 | DUAL_STACK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service ServiceObservabilityConfiguration
<a name="aws-properties-apprunner-service-serviceobservabilityconfiguration"></a>

Describes the observability configuration of an AWS App Runner service. These are additional observability features, like tracing, that you choose to enable. They're configured in a separate resource that you associate with your service.

## Syntax
<a name="aws-properties-apprunner-service-serviceobservabilityconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-serviceobservabilityconfiguration-syntax.json"></a>

```
{
  "[ObservabilityConfigurationArn](#cfn-apprunner-service-serviceobservabilityconfiguration-observabilityconfigurationarn)" : String,
  "[ObservabilityEnabled](#cfn-apprunner-service-serviceobservabilityconfiguration-observabilityenabled)" : Boolean
}
```

### YAML
<a name="aws-properties-apprunner-service-serviceobservabilityconfiguration-syntax.yaml"></a>

```
  [ObservabilityConfigurationArn](#cfn-apprunner-service-serviceobservabilityconfiguration-observabilityconfigurationarn): String
  [ObservabilityEnabled](#cfn-apprunner-service-serviceobservabilityconfiguration-observabilityenabled): Boolean
```

## Properties
<a name="aws-properties-apprunner-service-serviceobservabilityconfiguration-properties"></a>

`ObservabilityConfigurationArn`  <a name="cfn-apprunner-service-serviceobservabilityconfiguration-observabilityconfigurationarn"></a>
The Amazon Resource Name (ARN) of the observability configuration that is associated with the service. Specified only when `ObservabilityEnabled` is `true`.  
Specify an ARN with a name and a revision number to associate that revision. For example: `arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing/3`  
Specify just the name to associate the latest revision. For example: `arn:aws:apprunner:us-east-1:123456789012:observabilityconfiguration/xray-tracing`  
*Required*: No  
*Type*: String  
*Pattern*: `arn:aws(-[\w]+)*:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[0-9]{12}:(\w|/|-){1,1011}`  
*Minimum*: `1`  
*Maximum*: `1011`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObservabilityEnabled`  <a name="cfn-apprunner-service-serviceobservabilityconfiguration-observabilityenabled"></a>
When `true`, an observability configuration resource is associated with the service, and an `ObservabilityConfigurationArn` is specified.  
*Required*: Yes  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service SourceCodeVersion
<a name="aws-properties-apprunner-service-sourcecodeversion"></a>

Identifies a version of code that AWS App Runner refers to within a source code repository.

## Syntax
<a name="aws-properties-apprunner-service-sourcecodeversion-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-sourcecodeversion-syntax.json"></a>

```
{
  "[Type](#cfn-apprunner-service-sourcecodeversion-type)" : String,
  "[Value](#cfn-apprunner-service-sourcecodeversion-value)" : String
}
```

### YAML
<a name="aws-properties-apprunner-service-sourcecodeversion-syntax.yaml"></a>

```
  [Type](#cfn-apprunner-service-sourcecodeversion-type): String
  [Value](#cfn-apprunner-service-sourcecodeversion-value): String
```

## Properties
<a name="aws-properties-apprunner-service-sourcecodeversion-properties"></a>

`Type`  <a name="cfn-apprunner-service-sourcecodeversion-type"></a>
The type of version identifier.  
For a git-based repository, branches represent versions.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `BRANCH`  
*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-apprunner-service-sourcecodeversion-value"></a>
A source code version.  
For a git-based repository, a branch name maps to a specific version. App Runner uses the most recent commit to the branch.  
*Required*: Yes  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `51200`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service SourceConfiguration
<a name="aws-properties-apprunner-service-sourceconfiguration"></a>

Describes the source deployed to an AWS App Runner service. It can be a code or an image repository.

## Syntax
<a name="aws-properties-apprunner-service-sourceconfiguration-syntax"></a>

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

### JSON
<a name="aws-properties-apprunner-service-sourceconfiguration-syntax.json"></a>

```
{
  "[AuthenticationConfiguration](#cfn-apprunner-service-sourceconfiguration-authenticationconfiguration)" : AuthenticationConfiguration,
  "[AutoDeploymentsEnabled](#cfn-apprunner-service-sourceconfiguration-autodeploymentsenabled)" : Boolean,
  "[CodeRepository](#cfn-apprunner-service-sourceconfiguration-coderepository)" : CodeRepository,
  "[ImageRepository](#cfn-apprunner-service-sourceconfiguration-imagerepository)" : ImageRepository
}
```

### YAML
<a name="aws-properties-apprunner-service-sourceconfiguration-syntax.yaml"></a>

```
  [AuthenticationConfiguration](#cfn-apprunner-service-sourceconfiguration-authenticationconfiguration): 
    AuthenticationConfiguration
  [AutoDeploymentsEnabled](#cfn-apprunner-service-sourceconfiguration-autodeploymentsenabled): Boolean
  [CodeRepository](#cfn-apprunner-service-sourceconfiguration-coderepository): 
    CodeRepository
  [ImageRepository](#cfn-apprunner-service-sourceconfiguration-imagerepository): 
    ImageRepository
```

## Properties
<a name="aws-properties-apprunner-service-sourceconfiguration-properties"></a>

`AuthenticationConfiguration`  <a name="cfn-apprunner-service-sourceconfiguration-authenticationconfiguration"></a>
Describes the resources that are needed to authenticate access to some source repositories.  
*Required*: No  
*Type*: [AuthenticationConfiguration](aws-properties-apprunner-service-authenticationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`AutoDeploymentsEnabled`  <a name="cfn-apprunner-service-sourceconfiguration-autodeploymentsenabled"></a>
If `true`, continuous integration from the source repository is enabled for the App Runner service. Each repository change (including any source code commit or new image version) starts a deployment.  
Default: App Runner sets to `false` for a source image that uses an ECR Public repository or an ECR repository that's in an AWS account other than the one that the service is in. App Runner sets to `true` in all other cases (which currently include a source code repository or a source image using a same-account ECR repository).  
*Required*: No  
*Type*: Boolean  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeRepository`  <a name="cfn-apprunner-service-sourceconfiguration-coderepository"></a>
The description of a source code repository.  
You must provide either this member or `ImageRepository` (but not both).  
*Required*: No  
*Type*: [CodeRepository](aws-properties-apprunner-service-coderepository.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ImageRepository`  <a name="cfn-apprunner-service-sourceconfiguration-imagerepository"></a>
The description of a source image repository.  
You must provide either this member or `CodeRepository` (but not both).  
*Required*: No  
*Type*: [ImageRepository](aws-properties-apprunner-service-imagerepository.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::AppRunner::Service Tag
<a name="aws-properties-apprunner-service-tag"></a>

Describes a tag that is applied to an AWS App Runner resource. A tag is a metadata item consisting of a key-value pair.

## Syntax
<a name="aws-properties-apprunner-service-tag-syntax"></a>

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

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

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

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

```
  [Key](#cfn-apprunner-service-tag-key): String
  [Value](#cfn-apprunner-service-tag-value): String
```

## Properties
<a name="aws-properties-apprunner-service-tag-properties"></a>

`Key`  <a name="cfn-apprunner-service-tag-key"></a>
The key of the tag assigned to an App Runner service.  
*Required*: No  
*Type*: String  
*Pattern*: `^(?!aws:).+`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Value`  <a name="cfn-apprunner-service-tag-value"></a>
The value of the tag assigned to an App Runner service.  
*Required*: No  
*Type*: String  
*Pattern*: `.*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)