

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).

# Amazon Managed Service for Apache Flink V2
<a name="AWS_KinesisAnalyticsV2"></a>

**Resource types**
+ [AWS::KinesisAnalyticsV2::Application](aws-resource-kinesisanalyticsv2-application.md)
+ [AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption](aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.md)
+ [AWS::KinesisAnalyticsV2::ApplicationOutput](aws-resource-kinesisanalyticsv2-applicationoutput.md)
+ [AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource](aws-resource-kinesisanalyticsv2-applicationreferencedatasource.md)

# AWS::KinesisAnalyticsV2::Application
<a name="aws-resource-kinesisanalyticsv2-application"></a>

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see [Creating an Application](https://docs.aws.amazon.com/managed-flink/latest/java/getting-started.html). 

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

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

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

```
{
  "Type" : "AWS::KinesisAnalyticsV2::Application",
  "Properties" : {
      "[ApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration)" : ApplicationConfiguration,
      "[ApplicationDescription](#cfn-kinesisanalyticsv2-application-applicationdescription)" : String,
      "[ApplicationMaintenanceConfiguration](#cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration)" : ApplicationMaintenanceConfiguration,
      "[ApplicationMode](#cfn-kinesisanalyticsv2-application-applicationmode)" : String,
      "[ApplicationName](#cfn-kinesisanalyticsv2-application-applicationname)" : String,
      "[RunConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration)" : RunConfiguration,
      "[RuntimeEnvironment](#cfn-kinesisanalyticsv2-application-runtimeenvironment)" : String,
      "[ServiceExecutionRole](#cfn-kinesisanalyticsv2-application-serviceexecutionrole)" : String,
      "[Tags](#cfn-kinesisanalyticsv2-application-tags)" : [ Tag, ... ]
    }
}
```

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

```
Type: AWS::KinesisAnalyticsV2::Application
Properties:
  [ApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration): 
    ApplicationConfiguration
  [ApplicationDescription](#cfn-kinesisanalyticsv2-application-applicationdescription): String
  [ApplicationMaintenanceConfiguration](#cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration): 
    ApplicationMaintenanceConfiguration
  [ApplicationMode](#cfn-kinesisanalyticsv2-application-applicationmode): String
  [ApplicationName](#cfn-kinesisanalyticsv2-application-applicationname): String
  [RunConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration): 
    RunConfiguration
  [RuntimeEnvironment](#cfn-kinesisanalyticsv2-application-runtimeenvironment): String
  [ServiceExecutionRole](#cfn-kinesisanalyticsv2-application-serviceexecutionrole): String
  [Tags](#cfn-kinesisanalyticsv2-application-tags): 
    - Tag
```

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

`ApplicationConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration"></a>
Use this parameter to configure the application.  
*Required*: No  
*Type*: [ApplicationConfiguration](aws-properties-kinesisanalyticsv2-application-applicationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationDescription`  <a name="cfn-kinesisanalyticsv2-application-applicationdescription"></a>
The description of the application.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `1024`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationMaintenanceConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration"></a>
Specifies the maintenance window parameters for a Kinesis Data Analytics application.  
*Required*: No  
*Type*: [ApplicationMaintenanceConfiguration](aws-properties-kinesisanalyticsv2-application-applicationmaintenanceconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationMode`  <a name="cfn-kinesisanalyticsv2-application-applicationmode"></a>
To create a Kinesis Data Analytics Studio notebook, you must set the mode to `INTERACTIVE`. However, for a Kinesis Data Analytics for Apache Flink application, the mode is optional.  
*Required*: No  
*Type*: String  
*Allowed values*: `INTERACTIVE | STREAMING`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ApplicationName`  <a name="cfn-kinesisanalyticsv2-application-applicationname"></a>
The name of the application.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`RunConfiguration`  <a name="cfn-kinesisanalyticsv2-application-runconfiguration"></a>
Describes the starting parameters for an Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [RunConfiguration](aws-properties-kinesisanalyticsv2-application-runconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RuntimeEnvironment`  <a name="cfn-kinesisanalyticsv2-application-runtimeenvironment"></a>
The runtime environment for the application.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SQL-1_0 | FLINK-1_6 | FLINK-1_8 | ZEPPELIN-FLINK-1_0 | FLINK-1_11 | FLINK-1_13 | ZEPPELIN-FLINK-2_0 | FLINK-1_15 | ZEPPELIN-FLINK-3_0 | FLINK-1_18 | FLINK-1_19 | FLINK-1_20`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ServiceExecutionRole`  <a name="cfn-kinesisanalyticsv2-application-serviceexecutionrole"></a>
Specifies the IAM role that the application uses to access external resources.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*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-kinesisanalyticsv2-application-tags"></a>
A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-kinesisanalyticsv2-application-tag.md)  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

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



**Topics**
+ [Creating an Amazon Kinesis Data Analytics Application using Apache Flink](#aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Application_using_Apache_Flink)
+ [Creating an Amazon Kinesis Data Analytics Studio Application](#aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Studio_Application)

### Creating an Amazon Kinesis Data Analytics Application using Apache Flink
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Application_using_Apache_Flink"></a>

The following example shows how to create a simple application by using a deployment package from Amazon S3. You must add permissions to the IAM role to access any streams that your code requires. 

#### JSON
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Application_using_Apache_Flink--json"></a>

```
{
    "Description": "Simple KDA Flink application",
    "Parameters": {
        "CodeBucketArn": {
            "Type": "String"
        },
        "CodeKey": {
            "Type": "String"
        }
    },
    "Resources": {
        "MyApplication": {
            "Type": "AWS::KinesisAnalyticsV2::Application",
            "Properties": {
                "RuntimeEnvironment": "FLINK-1_15",
                "ServiceExecutionRole": {
                    "Fn::GetAtt": [
                        "ServiceExecutionRole",
                        "Arn"
                    ]
                },
                "ApplicationConfiguration": {
                    "ApplicationCodeConfiguration": {
                        "CodeContent": {
                            "S3ContentLocation": {
                                "BucketARN": {
                                    "Ref": "CodeBucketArn"
                                },
                                "FileKey": {
                                    "Ref": "CodeKey"
                                }
                            }
                        },
                        "CodeContentType": "ZIPFILE"
                    }
                }
            }
        },
        "ServiceExecutionRole": {
            "Type": "AWS::IAM::Role",
            "Properties": {
                "AssumeRolePolicyDocument": {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": "kinesisanalytics.amazonaws.com"
                            },
                            "Action": "sts:AssumeRole"
                        }
                    ]
                },
                "Path": "/",
                "Policies": [
                    {
                        "PolicyName": "s3-code-access",
                        "PolicyDocument": {
                            "Version": "2012-10-17",		 	 	 
                            "Statement": [
                                {
                                    "Effect": "Allow",
                                    "Action": [
                                        "s3:GetObject"
                                    ],
                                    "Resource": [
                                        {
                                            "Fn::Sub": "${CodeBucketArn}/${CodeKey}"
                                        }
                                    ]
                                }
                            ]
                        }
                    }
                ]
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Application_using_Apache_Flink--yaml"></a>

```
Description: Simple KDA Flink application
Parameters:
  CodeBucketArn:
    Type: String
  CodeKey:
    Type: String
​
Resources:
  MyApplication:
    Type: AWS::KinesisAnalyticsV2::Application
    Properties:
      RuntimeEnvironment: FLINK-1_15
      ServiceExecutionRole: !GetAtt ServiceExecutionRole.Arn
      ApplicationConfiguration:
        ApplicationCodeConfiguration:
          CodeContent:
            S3ContentLocation:
              BucketARN: !Ref CodeBucketArn
              FileKey: !Ref CodeKey
          CodeContentType: 'ZIPFILE'
​
  ServiceExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service: kinesisanalytics.amazonaws.com
            Action: 'sts:AssumeRole'
      Path: /
      Policies:
        - PolicyName: s3-code-access
          PolicyDocument:
            Version: 2012-10-17		 	 	 
            Statement:
              - Effect: Allow
                Action:
                  - s3:GetObject
                Resource:
                  - !Sub "${CodeBucketArn}/${CodeKey}"
```

### Creating an Amazon Kinesis Data Analytics Studio Application
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Studio_Application"></a>

The following example shows how to create a simple Studio application with an Amazon Glue database. You must add permissions to the IAM role to create or access any streams you require, and any that already exist must be added to the Glue database.

#### JSON
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Studio_Application--json"></a>

```
{
    "Description": "KDA Studio application",
    "Parameters": {
        "GlueDatabaseName": {
            "Type": "String"
        }
    },
    "Resources": {
        "MyApplication": {
            "Type": "AWS::KinesisAnalyticsV2::Application",
            "Properties": {
                "ApplicationMode": "INTERACTIVE",
                "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
                "ServiceExecutionRole": {
                    "Fn::GetAtt": [
                        "ServiceExecutionRole",
                        "Arn"
                    ]
                },
                "ApplicationConfiguration": {
                    "FlinkApplicationConfiguration": {
                        "ParallelismConfiguration": {
                            "Parallelism": 4,
                            "ConfigurationType": "CUSTOM"
                        }
                    },
                    "ZeppelinApplicationConfiguration": {
                        "CatalogConfiguration": {
                            "GlueDataCatalogConfiguration": {
                                "DatabaseARN": {
                                    "Fn::Sub": "arn:aws:glue:${AWS::Region}:${AWS::AccountId}:database/${GlueDatabase}"
                                }
                            }
                        },
                        "CustomArtifactsConfiguration": [
                            {
                                "ArtifactType": "DEPENDENCY_JAR",
                                "MavenReference": {
                                    "GroupId": "org.apache.flink",
                                    "ArtifactId": "flink-sql-connector-kinesis",
                                    "Version": "1.15.4"
                                }
                            },
                            {
                                "ArtifactType": "DEPENDENCY_JAR",
                                "MavenReference": {
                                    "GroupId": "org.apache.flink",
                                    "ArtifactId": "flink-connector-kafka",
                                    "Version": "1.15.4"
                                }
                            },
                            {
                                "ArtifactType": "DEPENDENCY_JAR",
                                "MavenReference": {
                                    "GroupId": "software.amazon.msk",
                                    "ArtifactId": "aws-msk-iam-auth",
                                    "Version": "1.1.6"
                                }
                            }
                        ]
                    }
                }
            }
        },
        "GlueDatabase": {
            "Type": "AWS::Glue::Database",
            "Properties": {
                "CatalogId": {
                    "Ref": "AWS::AccountId"
                },
                "DatabaseInput": {
                    "Name": {
                        "Ref": "GlueDatabaseName"
                    },
                    "Description": "My glue database"
                }
            }
        },
        "ServiceExecutionRole": {
            "Type": "AWS::IAM::Role",
            "Properties": {
                "AssumeRolePolicyDocument": {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect": "Allow",
                            "Principal": {
                                "Service": "kinesisanalytics.amazonaws.com"
                            },
                            "Action": "sts:AssumeRole"
                        }
                    ]
                },
                "Path": "/",
                "Policies": [
                    {
                        "PolicyName": "glue-access",
                        "PolicyDocument": {
                            "Version": "2012-10-17",		 	 	 
                            "Statement": [
                                {
                                    "Effect": "Allow",
                                    "Action": [
                                        "glue:GetConnection",
                                        "glue:GetTable",
                                        "glue:GetTables",
                                        "glue:CreateTable",
                                        "glue:UpdateTable",
                                        "glue:GetDatabases",
                                        "glue:GetUserDefinedFunction"
                                    ],
                                    "Resource": [
                                        {
                                            "Fn::Sub": "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:connection/*"
                                        },
                                        {
                                            "Fn::Sub": "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:table/*"
                                        },
                                        {
                                            "Fn::Sub": "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:database/${GlueDatabase}/*"
                                        },
                                        {
                                            "Fn::Sub": "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:catalog"
                                        },
                                        {
                                            "Fn::Sub": "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:userDefinedFunction/*"
                                        }
                                    ]
                                },
                                {
                                    "Effect": "Allow",
                                    "Action": [
                                        "glue:GetDatabase"
                                    ],
                                    "Resource": [
                                        "*"
                                    ]
                                }
                            ]
                        }
                    }
                ]
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-kinesisanalyticsv2-application--examples--Creating_an_Amazon_Kinesis_Data_Analytics_Studio_Application--yaml"></a>

```
Description: KDA Studio application
Parameters:
  GlueDatabaseName:
    Type: String

Resources:
  MyApplication:
    Type: AWS::KinesisAnalyticsV2::Application
    Properties:
      ApplicationMode: INTERACTIVE
      RuntimeEnvironment: ZEPPELIN-FLINK-3_0
      ServiceExecutionRole: !GetAtt ServiceExecutionRole.Arn
      ApplicationConfiguration:
        FlinkApplicationConfiguration:
          ParallelismConfiguration:
            Parallelism: 4
            ConfigurationType: CUSTOM
        ZeppelinApplicationConfiguration:
          CatalogConfiguration:
            GlueDataCatalogConfiguration:
              DatabaseARN: !Sub "arn:aws:glue:${AWS::Region}:${AWS::AccountId}:database/${GlueDatabase}"
          CustomArtifactsConfiguration:
            - ArtifactType: DEPENDENCY_JAR
              MavenReference:
                GroupId: org.apache.flink
                ArtifactId: flink-sql-connector-kinesis
                Version: 1.15.4
            - ArtifactType: DEPENDENCY_JAR
              MavenReference:
                GroupId: org.apache.flink
                ArtifactId: flink-connector-kafka
                Version: 1.15.4
            - ArtifactType: DEPENDENCY_JAR
              MavenReference:
                GroupId: software.amazon.msk
                ArtifactId: aws-msk-iam-auth
                Version: 1.1.6

  GlueDatabase:
    Type: AWS::Glue::Database
    Properties:
      CatalogId: !Ref AWS::AccountId
      DatabaseInput:
        Name: !Ref GlueDatabaseName
        Description: My glue database

  ServiceExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service: kinesisanalytics.amazonaws.com
            Action: 'sts:AssumeRole'
      Path: /
      Policies:
        - PolicyName: glue-access
          PolicyDocument:
            Version: 2012-10-17		 	 	 
            Statement:
              - Effect: Allow
                Action:
                  - glue:GetConnection
                  - glue:GetTable
                  - glue:GetTables
                  - glue:CreateTable
                  - glue:UpdateTable
                  - glue:GetDatabases
                  - glue:GetUserDefinedFunction
                Resource:
                  - !Sub "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:connection/*"
                  - !Sub "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:table/*"
                  - !Sub "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:database/${GlueDatabase}/*"
                  - !Sub "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:catalog"
                  - !Sub "arn:${AWS::Partition}:glue:${AWS::Region}:${AWS::AccountId}:userDefinedFunction/*"
              - Effect: Allow
                Action:
                  - glue:GetDatabase
                Resource:
                  - "*"
```

## See also
<a name="aws-resource-kinesisanalyticsv2-application--seealso"></a>
+ [CreateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CreateApplication.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application ApplicationCodeConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration"></a>

Describes code configuration for an application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration-syntax"></a>

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

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

```
{
  "[CodeContent](#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontent)" : CodeContent,
  "[CodeContentType](#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontenttype)" : String
}
```

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

```
  [CodeContent](#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontent): 
    CodeContent
  [CodeContentType](#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontenttype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration-properties"></a>

`CodeContent`  <a name="cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontent"></a>
The location and type of the application code.  
*Required*: Yes  
*Type*: [CodeContent](aws-properties-kinesisanalyticsv2-application-codecontent.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CodeContentType`  <a name="cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontenttype"></a>
Specifies whether the code content is in text or zip format.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `PLAINTEXT | ZIPFILE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration--seealso"></a>
+ [ApplicationCodeConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ApplicationCodeConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application ApplicationConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationconfiguration"></a>

Specifies the creation parameters for a Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationconfiguration-syntax"></a>

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

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

```
{
  "[ApplicationCodeConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationcodeconfiguration)" : ApplicationCodeConfiguration,
  "[ApplicationEncryptionConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationencryptionconfiguration)" : ApplicationEncryptionConfiguration,
  "[ApplicationSnapshotConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsnapshotconfiguration)" : ApplicationSnapshotConfiguration,
  "[ApplicationSystemRollbackConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsystemrollbackconfiguration)" : ApplicationSystemRollbackConfiguration,
  "[EnvironmentProperties](#cfn-kinesisanalyticsv2-application-applicationconfiguration-environmentproperties)" : EnvironmentProperties,
  "[FlinkApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-flinkapplicationconfiguration)" : FlinkApplicationConfiguration,
  "[SqlApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-sqlapplicationconfiguration)" : SqlApplicationConfiguration,
  "[VpcConfigurations](#cfn-kinesisanalyticsv2-application-applicationconfiguration-vpcconfigurations)" : [ VpcConfiguration, ... ],
  "[ZeppelinApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-zeppelinapplicationconfiguration)" : ZeppelinApplicationConfiguration
}
```

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

```
  [ApplicationCodeConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationcodeconfiguration): 
    ApplicationCodeConfiguration
  [ApplicationEncryptionConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationencryptionconfiguration): 
    ApplicationEncryptionConfiguration
  [ApplicationSnapshotConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsnapshotconfiguration): 
    ApplicationSnapshotConfiguration
  [ApplicationSystemRollbackConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsystemrollbackconfiguration): 
    ApplicationSystemRollbackConfiguration
  [EnvironmentProperties](#cfn-kinesisanalyticsv2-application-applicationconfiguration-environmentproperties): 
    EnvironmentProperties
  [FlinkApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-flinkapplicationconfiguration): 
    FlinkApplicationConfiguration
  [SqlApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-sqlapplicationconfiguration): 
    SqlApplicationConfiguration
  [VpcConfigurations](#cfn-kinesisanalyticsv2-application-applicationconfiguration-vpcconfigurations): 
    - VpcConfiguration
  [ZeppelinApplicationConfiguration](#cfn-kinesisanalyticsv2-application-applicationconfiguration-zeppelinapplicationconfiguration): 
    ZeppelinApplicationConfiguration
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationconfiguration-properties"></a>

`ApplicationCodeConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationcodeconfiguration"></a>
The code location and type parameters for a Managed Service for Apache Flink application.  
*Required*: Conditional  
*Type*: [ApplicationCodeConfiguration](aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationEncryptionConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationencryptionconfiguration"></a>
The configuration to manage encryption at rest.  
*Required*: No  
*Type*: [ApplicationEncryptionConfiguration](aws-properties-kinesisanalyticsv2-application-applicationencryptionconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationSnapshotConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsnapshotconfiguration"></a>
Describes whether snapshots are enabled for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [ApplicationSnapshotConfiguration](aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ApplicationSystemRollbackConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsystemrollbackconfiguration"></a>
Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [ApplicationSystemRollbackConfiguration](aws-properties-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EnvironmentProperties`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-environmentproperties"></a>
Describes execution properties for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [EnvironmentProperties](aws-properties-kinesisanalyticsv2-application-environmentproperties.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FlinkApplicationConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-flinkapplicationconfiguration"></a>
The creation and update parameters for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [FlinkApplicationConfiguration](aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SqlApplicationConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-sqlapplicationconfiguration"></a>
The creation and update parameters for a SQL-based Kinesis Data Analytics application.  
*Required*: No  
*Type*: [SqlApplicationConfiguration](aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`VpcConfigurations`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-vpcconfigurations"></a>
The array of descriptions of VPC configurations available to the application.  
*Required*: No  
*Type*: Array of [VpcConfiguration](aws-properties-kinesisanalyticsv2-application-vpcconfiguration.md)  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ZeppelinApplicationConfiguration`  <a name="cfn-kinesisanalyticsv2-application-applicationconfiguration-zeppelinapplicationconfiguration"></a>
The configuration parameters for a Kinesis Data Analytics Studio notebook.  
*Required*: No  
*Type*: [ZeppelinApplicationConfiguration](aws-properties-kinesisanalyticsv2-application-zeppelinapplicationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-applicationconfiguration--seealso"></a>
+ [ApplicationConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ApplicationConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application ApplicationEncryptionConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationencryptionconfiguration"></a>

Specifies the configuration to manage encryption at rest.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationencryptionconfiguration-syntax"></a>

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

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

```
{
  "[KeyId](#cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keyid)" : String,
  "[KeyType](#cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keytype)" : String
}
```

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

```
  [KeyId](#cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keyid): String
  [KeyType](#cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keytype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationencryptionconfiguration-properties"></a>

`KeyId`  <a name="cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keyid"></a>
The key ARN, key ID, alias ARN, or alias name of the KMS key used for encryption at rest.  
*Required*: No  
*Type*: String  
*Pattern*: `^(?:arn:.*:kms:.*:.*:(?:key\/.*|alias\/.*)|alias\/.*|(?i)[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KeyType`  <a name="cfn-kinesisanalyticsv2-application-applicationencryptionconfiguration-keytype"></a>
Specifies the type of key used for encryption at rest.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `AWS_OWNED_KEY | CUSTOMER_MANAGED_KEY`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application ApplicationMaintenanceConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationmaintenanceconfiguration"></a>

Specifies the maintenance configuration for a Amazon Managed Service for Apache Flink.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationmaintenanceconfiguration-syntax"></a>

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

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

```
{
  "[ApplicationMaintenanceWindowStartTime](#cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration-applicationmaintenancewindowstarttime)" : String
}
```

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

```
  [ApplicationMaintenanceWindowStartTime](#cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration-applicationmaintenancewindowstarttime): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationmaintenanceconfiguration-properties"></a>

`ApplicationMaintenanceWindowStartTime`  <a name="cfn-kinesisanalyticsv2-application-applicationmaintenanceconfiguration-applicationmaintenancewindowstarttime"></a>
The UTC timestamp of a day from which the eight-hour maintenance window will begin every day of the week. Maintenance of the application happens only during this eight-hour window.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^([01][0-9]|2[0-3]):[0-5][0-9]$`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application ApplicationRestoreConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationrestoreconfiguration"></a>

Specifies the method and snapshot to use when restarting an application using previously saved application state.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationrestoreconfiguration-syntax"></a>

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

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

```
{
  "[ApplicationRestoreType](#cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-applicationrestoretype)" : String,
  "[SnapshotName](#cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-snapshotname)" : String
}
```

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

```
  [ApplicationRestoreType](#cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-applicationrestoretype): String
  [SnapshotName](#cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-snapshotname): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationrestoreconfiguration-properties"></a>

`ApplicationRestoreType`  <a name="cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-applicationrestoretype"></a>
Specifies how the application should be restored.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `SKIP_RESTORE_FROM_SNAPSHOT | RESTORE_FROM_LATEST_SNAPSHOT | RESTORE_FROM_CUSTOM_SNAPSHOT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SnapshotName`  <a name="cfn-kinesisanalyticsv2-application-applicationrestoreconfiguration-snapshotname"></a>
The identifier of an existing snapshot of application state to use to restart an application. The application uses this value if `RESTORE_FROM_CUSTOM_SNAPSHOT` is specified for the `ApplicationRestoreType`.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application ApplicationSnapshotConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration"></a>

Describes whether snapshots are enabled for a Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration-syntax"></a>

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

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

```
{
  "[SnapshotsEnabled](#cfn-kinesisanalyticsv2-application-applicationsnapshotconfiguration-snapshotsenabled)" : Boolean
}
```

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

```
  [SnapshotsEnabled](#cfn-kinesisanalyticsv2-application-applicationsnapshotconfiguration-snapshotsenabled): Boolean
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration-properties"></a>

`SnapshotsEnabled`  <a name="cfn-kinesisanalyticsv2-application-applicationsnapshotconfiguration-snapshotsenabled"></a>
Describes whether snapshots are enabled for a Managed Service for Apache Flink application.  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration--seealso"></a>
+ [ApplicationSnapshotConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ApplicationSnapshotConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application ApplicationSystemRollbackConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration"></a>

Describes the system rollback configuration for a Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration-syntax"></a>

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

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

```
{
  "[RollbackEnabled](#cfn-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration-rollbackenabled)" : Boolean
}
```

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

```
  [RollbackEnabled](#cfn-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration-rollbackenabled): Boolean
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration-properties"></a>

`RollbackEnabled`  <a name="cfn-kinesisanalyticsv2-application-applicationsystemrollbackconfiguration-rollbackenabled"></a>
Describes whether system rollbacks are enabled for a Managed Service for Apache Flink application.  
*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::KinesisAnalyticsV2::Application CatalogConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-catalogconfiguration"></a>

The configuration parameters for the default Amazon Glue database. You use this database for SQL queries that you write in a Kinesis Data Analytics Studio notebook.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-catalogconfiguration-syntax"></a>

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

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

```
{
  "[GlueDataCatalogConfiguration](#cfn-kinesisanalyticsv2-application-catalogconfiguration-gluedatacatalogconfiguration)" : GlueDataCatalogConfiguration
}
```

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

```
  [GlueDataCatalogConfiguration](#cfn-kinesisanalyticsv2-application-catalogconfiguration-gluedatacatalogconfiguration): 
    GlueDataCatalogConfiguration
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-catalogconfiguration-properties"></a>

`GlueDataCatalogConfiguration`  <a name="cfn-kinesisanalyticsv2-application-catalogconfiguration-gluedatacatalogconfiguration"></a>
The configuration parameters for the default Amazon Glue database. You use this database for Apache Flink SQL queries and table API transforms that you write in a Kinesis Data Analytics Studio notebook.  
*Required*: No  
*Type*: [GlueDataCatalogConfiguration](aws-properties-kinesisanalyticsv2-application-gluedatacatalogconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application CheckpointConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-checkpointconfiguration"></a>

Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see [ Checkpoints for Fault Tolerance](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/fault-tolerance/checkpointing/) in the [Apache Flink Documentation](https://nightlies.apache.org/flink/flink-docs-master).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-checkpointconfiguration-syntax"></a>

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

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

```
{
  "[CheckpointingEnabled](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled)" : Boolean,
  "[CheckpointInterval](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval)" : Integer,
  "[ConfigurationType](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-configurationtype)" : String,
  "[MinPauseBetweenCheckpoints](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints)" : Integer
}
```

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

```
  [CheckpointingEnabled](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled): Boolean
  [CheckpointInterval](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval): Integer
  [ConfigurationType](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-configurationtype): String
  [MinPauseBetweenCheckpoints](#cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints): Integer
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-checkpointconfiguration-properties"></a>

`CheckpointingEnabled`  <a name="cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled"></a>
Describes whether checkpointing is enabled for a Managed Service for Apache Flink application.  
If `CheckpointConfiguration.ConfigurationType` is `DEFAULT`, the application will use a `CheckpointingEnabled` value of `true`, even if this value is set to another value using this API or in application code.
*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)

`CheckpointInterval`  <a name="cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval"></a>
Describes the interval in milliseconds between checkpoint operations.   
If `CheckpointConfiguration.ConfigurationType` is `DEFAULT`, the application will use a `CheckpointInterval` value of 60000, even if this value is set to another value using this API or in application code.
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `9223372036854775807`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ConfigurationType`  <a name="cfn-kinesisanalyticsv2-application-checkpointconfiguration-configurationtype"></a>
Describes whether the application uses Managed Service for Apache Flink' default checkpointing behavior. You must set this property to `CUSTOM` in order to set the `CheckpointingEnabled`, `CheckpointInterval`, or `MinPauseBetweenCheckpoints` parameters.  
If this value is set to `DEFAULT`, the application will use the following values, even if they are set to other values using APIs or application code:  
+ **CheckpointingEnabled:** true
+ **CheckpointInterval:** 60000
+ **MinPauseBetweenCheckpoints:** 5000
*Required*: Yes  
*Type*: String  
*Allowed values*: `DEFAULT | CUSTOM`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MinPauseBetweenCheckpoints`  <a name="cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints"></a>
Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the `CheckpointInterval`, the application otherwise performs continual checkpoint operations. For more information, see [ Tuning Checkpointing](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/state/large_state_tuning/#tuning-checkpointing) in the [Apache Flink Documentation](https://nightlies.apache.org/flink/flink-docs-master).  
If `CheckpointConfiguration.ConfigurationType` is `DEFAULT`, the application will use a `MinPauseBetweenCheckpoints` value of 5000, even if this value is set using this API or in application code.
*Required*: No  
*Type*: Integer  
*Minimum*: `0`  
*Maximum*: `9223372036854775807`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-checkpointconfiguration--seealso"></a>
+ [CheckpointConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CheckpointConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application CodeContent
<a name="aws-properties-kinesisanalyticsv2-application-codecontent"></a>

Specifies either the application code, or the location of the application code, for a Managed Service for Apache Flink application. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-codecontent-syntax"></a>

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

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

```
{
  "[S3ContentLocation](#cfn-kinesisanalyticsv2-application-codecontent-s3contentlocation)" : S3ContentLocation,
  "[TextContent](#cfn-kinesisanalyticsv2-application-codecontent-textcontent)" : String,
  "[ZipFileContent](#cfn-kinesisanalyticsv2-application-codecontent-zipfilecontent)" : String
}
```

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

```
  [S3ContentLocation](#cfn-kinesisanalyticsv2-application-codecontent-s3contentlocation): 
    S3ContentLocation
  [TextContent](#cfn-kinesisanalyticsv2-application-codecontent-textcontent): String
  [ZipFileContent](#cfn-kinesisanalyticsv2-application-codecontent-zipfilecontent): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-codecontent-properties"></a>

`S3ContentLocation`  <a name="cfn-kinesisanalyticsv2-application-codecontent-s3contentlocation"></a>
Information about the Amazon S3 bucket that contains the application code.  
*Required*: No  
*Type*: [S3ContentLocation](aws-properties-kinesisanalyticsv2-application-s3contentlocation.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TextContent`  <a name="cfn-kinesisanalyticsv2-application-codecontent-textcontent"></a>
The text-format code for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `102400`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ZipFileContent`  <a name="cfn-kinesisanalyticsv2-application-codecontent-zipfilecontent"></a>
The zip-format code for a Managed Service for Apache Flink application.  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-codecontent--seealso"></a>
+ [CodeContent](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CodeContent.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application CSVMappingParameters
<a name="aws-properties-kinesisanalyticsv2-application-csvmappingparameters"></a>

For a SQL-based Kinesis Data Analytics application, provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the *'\$1n'* as the row delimiter and a comma (",") as the column delimiter: 

 `"name1", "address1"` 

 `"name2", "address2"` 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-csvmappingparameters-syntax"></a>

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

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

```
{
  "[RecordColumnDelimiter](#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordcolumndelimiter)" : String,
  "[RecordRowDelimiter](#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordrowdelimiter)" : String
}
```

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

```
  [RecordColumnDelimiter](#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordcolumndelimiter): String
  [RecordRowDelimiter](#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordrowdelimiter): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-csvmappingparameters-properties"></a>

`RecordColumnDelimiter`  <a name="cfn-kinesisanalyticsv2-application-csvmappingparameters-recordcolumndelimiter"></a>
The column delimiter. For example, in a CSV format, a comma (",") is the typical column delimiter.  
*Required*: Yes  
*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)

`RecordRowDelimiter`  <a name="cfn-kinesisanalyticsv2-application-csvmappingparameters-recordrowdelimiter"></a>
The row delimiter. For example, in a CSV format, *'\$1n'* is the typical row delimiter.  
*Required*: Yes  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-csvmappingparameters--seealso"></a>
+ [CSVMappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CSVMappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application CustomArtifactConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-customartifactconfiguration"></a>

The configuration of connectors and user-defined functions.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-customartifactconfiguration-syntax"></a>

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

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

```
{
  "[ArtifactType](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-artifacttype)" : String,
  "[MavenReference](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-mavenreference)" : MavenReference,
  "[S3ContentLocation](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-s3contentlocation)" : S3ContentLocation
}
```

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

```
  [ArtifactType](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-artifacttype): String
  [MavenReference](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-mavenreference): 
    MavenReference
  [S3ContentLocation](#cfn-kinesisanalyticsv2-application-customartifactconfiguration-s3contentlocation): 
    S3ContentLocation
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-customartifactconfiguration-properties"></a>

`ArtifactType`  <a name="cfn-kinesisanalyticsv2-application-customartifactconfiguration-artifacttype"></a>
 Set this to either `UDF` or `DEPENDENCY_JAR`. `UDF` stands for user-defined functions. This type of artifact must be in an S3 bucket. A `DEPENDENCY_JAR` can be in either Maven or an S3 bucket.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DEPENDENCY_JAR | UDF`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MavenReference`  <a name="cfn-kinesisanalyticsv2-application-customartifactconfiguration-mavenreference"></a>
The parameters required to fully specify a Maven reference.  
*Required*: No  
*Type*: [MavenReference](aws-properties-kinesisanalyticsv2-application-mavenreference.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ContentLocation`  <a name="cfn-kinesisanalyticsv2-application-customartifactconfiguration-s3contentlocation"></a>
The location of the custom artifacts.  
*Required*: No  
*Type*: [S3ContentLocation](aws-properties-kinesisanalyticsv2-application-s3contentlocation.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application DeployAsApplicationConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration"></a>

The information required to deploy a Kinesis Data Analytics Studio notebook as an application with durable state.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration-syntax"></a>

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

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

```
{
  "[S3ContentLocation](#cfn-kinesisanalyticsv2-application-deployasapplicationconfiguration-s3contentlocation)" : S3ContentBaseLocation
}
```

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

```
  [S3ContentLocation](#cfn-kinesisanalyticsv2-application-deployasapplicationconfiguration-s3contentlocation): 
    S3ContentBaseLocation
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration-properties"></a>

`S3ContentLocation`  <a name="cfn-kinesisanalyticsv2-application-deployasapplicationconfiguration-s3contentlocation"></a>
The description of an Amazon S3 object that contains the Amazon Data Analytics application, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.   
*Required*: Yes  
*Type*: [S3ContentBaseLocation](aws-properties-kinesisanalyticsv2-application-s3contentbaselocation.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application EnvironmentProperties
<a name="aws-properties-kinesisanalyticsv2-application-environmentproperties"></a>

Describes execution properties for a Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-environmentproperties-syntax"></a>

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

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

```
{
  "[PropertyGroups](#cfn-kinesisanalyticsv2-application-environmentproperties-propertygroups)" : [ PropertyGroup, ... ]
}
```

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

```
  [PropertyGroups](#cfn-kinesisanalyticsv2-application-environmentproperties-propertygroups): 
    - PropertyGroup
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-environmentproperties-properties"></a>

`PropertyGroups`  <a name="cfn-kinesisanalyticsv2-application-environmentproperties-propertygroups"></a>
Describes the execution property groups.  
*Required*: No  
*Type*: Array of [PropertyGroup](aws-properties-kinesisanalyticsv2-application-propertygroup.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)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-environmentproperties--seealso"></a>
+ [EnvironmentProperties](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_EnvironmentProperties.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application FlinkApplicationConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration"></a>

Describes configuration parameters for a Managed Service for Apache Flink application or a Studio notebook.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration-syntax"></a>

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

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

```
{
  "[CheckpointConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-checkpointconfiguration)" : CheckpointConfiguration,
  "[MonitoringConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-monitoringconfiguration)" : MonitoringConfiguration,
  "[ParallelismConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-parallelismconfiguration)" : ParallelismConfiguration
}
```

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

```
  [CheckpointConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-checkpointconfiguration): 
    CheckpointConfiguration
  [MonitoringConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-monitoringconfiguration): 
    MonitoringConfiguration
  [ParallelismConfiguration](#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-parallelismconfiguration): 
    ParallelismConfiguration
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration-properties"></a>

`CheckpointConfiguration`  <a name="cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-checkpointconfiguration"></a>
Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see [ Checkpoints for Fault Tolerance](https://ci.apache.org/projects/flink/flink-docs-release-1.8/concepts/programming-model.html#checkpoints-for-fault-tolerance) in the [Apache Flink Documentation](https://ci.apache.org/projects/flink/flink-docs-release-1.8/).   
*Required*: No  
*Type*: [CheckpointConfiguration](aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringConfiguration`  <a name="cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-monitoringconfiguration"></a>
Describes configuration parameters for Amazon CloudWatch logging for an application.  
*Required*: No  
*Type*: [MonitoringConfiguration](aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParallelismConfiguration`  <a name="cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-parallelismconfiguration"></a>
Describes parameters for how an application executes multiple tasks simultaneously.  
*Required*: No  
*Type*: [ParallelismConfiguration](aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration--seealso"></a>
+ [FlinkApplicationConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_FlinkApplicationConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application FlinkRunConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-flinkrunconfiguration"></a>

Describes the starting parameters for a Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-flinkrunconfiguration-syntax"></a>

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

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

```
{
  "[AllowNonRestoredState](#cfn-kinesisanalyticsv2-application-flinkrunconfiguration-allownonrestoredstate)" : Boolean
}
```

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

```
  [AllowNonRestoredState](#cfn-kinesisanalyticsv2-application-flinkrunconfiguration-allownonrestoredstate): Boolean
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-flinkrunconfiguration-properties"></a>

`AllowNonRestoredState`  <a name="cfn-kinesisanalyticsv2-application-flinkrunconfiguration-allownonrestoredstate"></a>
When restoring from a snapshot, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. This will happen if the program is updated between snapshots to remove stateful parameters, and state data in the snapshot no longer corresponds to valid application data. For more information, see [ Allowing Non-Restored State](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/state/savepoints/#allowing-non-restored-state) in the [Apache Flink documentation](https://nightlies.apache.org/flink/flink-docs-master).  
This value defaults to `false`. If you update your application without specifying this parameter, `AllowNonRestoredState` will be set to `false`, even if it was previously set to `true`.
*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)

# AWS::KinesisAnalyticsV2::Application GlueDataCatalogConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-gluedatacatalogconfiguration"></a>

The configuration of the Glue Data Catalog that you use for Apache Flink SQL queries and table API transforms that you write in an application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-gluedatacatalogconfiguration-syntax"></a>

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

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

```
{
  "[DatabaseARN](#cfn-kinesisanalyticsv2-application-gluedatacatalogconfiguration-databasearn)" : String
}
```

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

```
  [DatabaseARN](#cfn-kinesisanalyticsv2-application-gluedatacatalogconfiguration-databasearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-gluedatacatalogconfiguration-properties"></a>

`DatabaseARN`  <a name="cfn-kinesisanalyticsv2-application-gluedatacatalogconfiguration-databasearn"></a>
The Amazon Resource Name (ARN) of the database.  
*Required*: No  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application Input
<a name="aws-properties-kinesisanalyticsv2-application-input"></a>

When you configure the application input for a SQL-based Kinesis Data Analytics application, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-input-syntax"></a>

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

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

```
{
  "[InputParallelism](#cfn-kinesisanalyticsv2-application-input-inputparallelism)" : InputParallelism,
  "[InputProcessingConfiguration](#cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration)" : InputProcessingConfiguration,
  "[InputSchema](#cfn-kinesisanalyticsv2-application-input-inputschema)" : InputSchema,
  "[KinesisFirehoseInput](#cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput)" : KinesisFirehoseInput,
  "[KinesisStreamsInput](#cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput)" : KinesisStreamsInput,
  "[NamePrefix](#cfn-kinesisanalyticsv2-application-input-nameprefix)" : String
}
```

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

```
  [InputParallelism](#cfn-kinesisanalyticsv2-application-input-inputparallelism): 
    InputParallelism
  [InputProcessingConfiguration](#cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration): 
    InputProcessingConfiguration
  [InputSchema](#cfn-kinesisanalyticsv2-application-input-inputschema): 
    InputSchema
  [KinesisFirehoseInput](#cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput): 
    KinesisFirehoseInput
  [KinesisStreamsInput](#cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput): 
    KinesisStreamsInput
  [NamePrefix](#cfn-kinesisanalyticsv2-application-input-nameprefix): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-input-properties"></a>

`InputParallelism`  <a name="cfn-kinesisanalyticsv2-application-input-inputparallelism"></a>
Describes the number of in-application streams to create.   
*Required*: No  
*Type*: [InputParallelism](aws-properties-kinesisanalyticsv2-application-inputparallelism.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputProcessingConfiguration`  <a name="cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration"></a>
The [InputProcessingConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputProcessingConfiguration.html) for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is [InputLambdaProcessor](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputLambdaProcessor.html).   
*Required*: No  
*Type*: [InputProcessingConfiguration](aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InputSchema`  <a name="cfn-kinesisanalyticsv2-application-input-inputschema"></a>
Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.  
Also used to describe the format of the reference data source.  
*Required*: Yes  
*Type*: [InputSchema](aws-properties-kinesisanalyticsv2-application-inputschema.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KinesisFirehoseInput`  <a name="cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput"></a>
If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.  
*Required*: No  
*Type*: [KinesisFirehoseInput](aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KinesisStreamsInput`  <a name="cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput"></a>
If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).   
*Required*: No  
*Type*: [KinesisStreamsInput](aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`NamePrefix`  <a name="cfn-kinesisanalyticsv2-application-input-nameprefix"></a>
The name prefix to use when creating an in-application stream. Suppose that you specify a prefix "`MyInApplicationStream`." Kinesis Data Analytics then creates one or more (as per the `InputParallelism` count you specified) in-application streams with the names "`MyInApplicationStream_001`," "`MyInApplicationStream_002`," and so on.   
*Required*: Yes  
*Type*: String  
*Pattern*: `^[^-\s<>&]*$`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-input--seealso"></a>
+ [Input](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_Input.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application InputLambdaProcessor
<a name="aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor"></a>

An object that contains the Amazon Resource Name (ARN) of the Amazon Lambda function that is used to preprocess records in the stream in a SQL-based Kinesis Data Analytics application. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor-syntax"></a>

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

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

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-application-inputlambdaprocessor-resourcearn)" : String
}
```

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

```
  [ResourceARN](#cfn-kinesisanalyticsv2-application-inputlambdaprocessor-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-application-inputlambdaprocessor-resourcearn"></a>
The ARN of the Amazon Lambda function that operates on records in the stream.  
To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see [Example ARNs: Amazon Lambda](https://docs.aws.amazon.com//general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor--seealso"></a>
+ [InputLambdaProcessor](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputLambdaProcessor.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application InputParallelism
<a name="aws-properties-kinesisanalyticsv2-application-inputparallelism"></a>

For a SQL-based Kinesis Data Analytics application, describes the number of in-application streams to create for a given streaming source. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-inputparallelism-syntax"></a>

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

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

```
{
  "[Count](#cfn-kinesisanalyticsv2-application-inputparallelism-count)" : Integer
}
```

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

```
  [Count](#cfn-kinesisanalyticsv2-application-inputparallelism-count): Integer
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-inputparallelism-properties"></a>

`Count`  <a name="cfn-kinesisanalyticsv2-application-inputparallelism-count"></a>
The number of in-application streams to create.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Maximum*: `64`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-inputparallelism--seealso"></a>
+ [InputParallelism](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputParallelism.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application InputProcessingConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration"></a>

For an SQL-based Amazon Kinesis Data Analytics application, describes a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is [Amazon Lambda](https://docs.aws.amazon.com/lambda/).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration-syntax"></a>

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

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

```
{
  "[InputLambdaProcessor](#cfn-kinesisanalyticsv2-application-inputprocessingconfiguration-inputlambdaprocessor)" : InputLambdaProcessor
}
```

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

```
  [InputLambdaProcessor](#cfn-kinesisanalyticsv2-application-inputprocessingconfiguration-inputlambdaprocessor): 
    InputLambdaProcessor
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration-properties"></a>

`InputLambdaProcessor`  <a name="cfn-kinesisanalyticsv2-application-inputprocessingconfiguration-inputlambdaprocessor"></a>
The [InputLambdaProcessor](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputLambdaProcessor.html) that is used to preprocess the records in the stream before being processed by your application code.  
*Required*: No  
*Type*: [InputLambdaProcessor](aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration--seealso"></a>
+ [InputProcessingConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_InputProcessingConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application InputSchema
<a name="aws-properties-kinesisanalyticsv2-application-inputschema"></a>

For a SQL-based Kinesis Data Analytics application, describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-inputschema-syntax"></a>

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

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

```
{
  "[RecordColumns](#cfn-kinesisanalyticsv2-application-inputschema-recordcolumns)" : [ RecordColumn, ... ],
  "[RecordEncoding](#cfn-kinesisanalyticsv2-application-inputschema-recordencoding)" : String,
  "[RecordFormat](#cfn-kinesisanalyticsv2-application-inputschema-recordformat)" : RecordFormat
}
```

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

```
  [RecordColumns](#cfn-kinesisanalyticsv2-application-inputschema-recordcolumns): 
    - RecordColumn
  [RecordEncoding](#cfn-kinesisanalyticsv2-application-inputschema-recordencoding): String
  [RecordFormat](#cfn-kinesisanalyticsv2-application-inputschema-recordformat): 
    RecordFormat
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-inputschema-properties"></a>

`RecordColumns`  <a name="cfn-kinesisanalyticsv2-application-inputschema-recordcolumns"></a>
A list of `RecordColumn` objects.   
*Required*: Yes  
*Type*: Array of [RecordColumn](aws-properties-kinesisanalyticsv2-application-recordcolumn.md)  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordEncoding`  <a name="cfn-kinesisanalyticsv2-application-inputschema-recordencoding"></a>
Specifies the encoding of the records in the streaming source. For example, UTF-8.  
*Required*: No  
*Type*: String  
*Allowed values*: `UTF-8`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordFormat`  <a name="cfn-kinesisanalyticsv2-application-inputschema-recordformat"></a>
Specifies the format of the records on the streaming source.  
*Required*: Yes  
*Type*: [RecordFormat](aws-properties-kinesisanalyticsv2-application-recordformat.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-inputschema--seealso"></a>
+ [SourceSchema](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_SourceSchema.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application JSONMappingParameters
<a name="aws-properties-kinesisanalyticsv2-application-jsonmappingparameters"></a>

For a SQL-based Kinesis Data Analytics application, provides additional mapping information when JSON is the record format on the streaming source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-jsonmappingparameters-syntax"></a>

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

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

```
{
  "[RecordRowPath](#cfn-kinesisanalyticsv2-application-jsonmappingparameters-recordrowpath)" : String
}
```

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

```
  [RecordRowPath](#cfn-kinesisanalyticsv2-application-jsonmappingparameters-recordrowpath): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-jsonmappingparameters-properties"></a>

`RecordRowPath`  <a name="cfn-kinesisanalyticsv2-application-jsonmappingparameters-recordrowpath"></a>
The path to the top-level parent that contains the records.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?=^\$)(?=^\S+$).*$`  
*Minimum*: `1`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-jsonmappingparameters--seealso"></a>
+ [JSONMappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_JSONMappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application KinesisFirehoseInput
<a name="aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput"></a>

For a SQL-based Kinesis Data Analytics application, identifies a Kinesis Data Firehose delivery stream as the streaming source. You provide the delivery stream's Amazon Resource Name (ARN).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput-syntax"></a>

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

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

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-application-kinesisfirehoseinput-resourcearn)" : String
}
```

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

```
  [ResourceARN](#cfn-kinesisanalyticsv2-application-kinesisfirehoseinput-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-application-kinesisfirehoseinput-resourcearn"></a>
The Amazon Resource Name (ARN) of the delivery stream.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput--seealso"></a>
+ [KinesisFirehoseInput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_KinesisFirehoseInput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application KinesisStreamsInput
<a name="aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput"></a>

 Identifies a Kinesis data stream as the streaming source. You provide the stream's Amazon Resource Name (ARN).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput-syntax"></a>

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

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

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-application-kinesisstreamsinput-resourcearn)" : String
}
```

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

```
  [ResourceARN](#cfn-kinesisanalyticsv2-application-kinesisstreamsinput-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-application-kinesisstreamsinput-resourcearn"></a>
The ARN of the input Kinesis data stream to read.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput--seealso"></a>
+ [KinesisStreamsInput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_KinesisStreamsInput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application MappingParameters
<a name="aws-properties-kinesisanalyticsv2-application-mappingparameters"></a>

When you configure a SQL-based Kinesis Data Analytics application's input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-mappingparameters-syntax"></a>

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

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

```
{
  "[CSVMappingParameters](#cfn-kinesisanalyticsv2-application-mappingparameters-csvmappingparameters)" : CSVMappingParameters,
  "[JSONMappingParameters](#cfn-kinesisanalyticsv2-application-mappingparameters-jsonmappingparameters)" : JSONMappingParameters
}
```

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

```
  [CSVMappingParameters](#cfn-kinesisanalyticsv2-application-mappingparameters-csvmappingparameters): 
    CSVMappingParameters
  [JSONMappingParameters](#cfn-kinesisanalyticsv2-application-mappingparameters-jsonmappingparameters): 
    JSONMappingParameters
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-mappingparameters-properties"></a>

`CSVMappingParameters`  <a name="cfn-kinesisanalyticsv2-application-mappingparameters-csvmappingparameters"></a>
Provides additional mapping information when the record format uses delimiters (for example, CSV).  
*Required*: No  
*Type*: [CSVMappingParameters](aws-properties-kinesisanalyticsv2-application-csvmappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JSONMappingParameters`  <a name="cfn-kinesisanalyticsv2-application-mappingparameters-jsonmappingparameters"></a>
Provides additional mapping information when JSON is the record format on the streaming source.  
*Required*: No  
*Type*: [JSONMappingParameters](aws-properties-kinesisanalyticsv2-application-jsonmappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-mappingparameters--seealso"></a>
+ [MappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_MappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application MavenReference
<a name="aws-properties-kinesisanalyticsv2-application-mavenreference"></a>

The information required to specify a Maven reference. You can use Maven references to specify dependency JAR files.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-mavenreference-syntax"></a>

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

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

```
{
  "[ArtifactId](#cfn-kinesisanalyticsv2-application-mavenreference-artifactid)" : String,
  "[GroupId](#cfn-kinesisanalyticsv2-application-mavenreference-groupid)" : String,
  "[Version](#cfn-kinesisanalyticsv2-application-mavenreference-version)" : String
}
```

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

```
  [ArtifactId](#cfn-kinesisanalyticsv2-application-mavenreference-artifactid): String
  [GroupId](#cfn-kinesisanalyticsv2-application-mavenreference-groupid): String
  [Version](#cfn-kinesisanalyticsv2-application-mavenreference-version): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-mavenreference-properties"></a>

`ArtifactId`  <a name="cfn-kinesisanalyticsv2-application-mavenreference-artifactid"></a>
The artifact ID of the Maven reference.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`GroupId`  <a name="cfn-kinesisanalyticsv2-application-mavenreference-groupid"></a>
The group ID of the Maven reference.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Version`  <a name="cfn-kinesisanalyticsv2-application-mavenreference-version"></a>
The version of the Maven reference.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application MonitoringConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-monitoringconfiguration"></a>

Describes configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application. For more information about CloudWatch logging, see [Monitoring](https://docs.aws.amazon.com/managed-flink/latest/java/monitoring-overview).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-monitoringconfiguration-syntax"></a>

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

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

```
{
  "[ConfigurationType](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-configurationtype)" : String,
  "[LogLevel](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-loglevel)" : String,
  "[MetricsLevel](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-metricslevel)" : String
}
```

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

```
  [ConfigurationType](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-configurationtype): String
  [LogLevel](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-loglevel): String
  [MetricsLevel](#cfn-kinesisanalyticsv2-application-monitoringconfiguration-metricslevel): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-monitoringconfiguration-properties"></a>

`ConfigurationType`  <a name="cfn-kinesisanalyticsv2-application-monitoringconfiguration-configurationtype"></a>
Describes whether to use the default CloudWatch logging configuration for an application. You must set this property to `CUSTOM` in order to set the `LogLevel` or `MetricsLevel` parameters.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `DEFAULT | CUSTOM`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LogLevel`  <a name="cfn-kinesisanalyticsv2-application-monitoringconfiguration-loglevel"></a>
Describes the verbosity of the CloudWatch Logs for an application.  
*Required*: No  
*Type*: String  
*Allowed values*: `DEBUG | INFO | WARN | ERROR`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MetricsLevel`  <a name="cfn-kinesisanalyticsv2-application-monitoringconfiguration-metricslevel"></a>
Describes the granularity of the CloudWatch Logs for an application. The `Parallelism` level is not recommended for applications with a Parallelism over 64 due to excessive costs.  
*Required*: No  
*Type*: String  
*Allowed values*: `APPLICATION | OPERATOR | PARALLELISM | TASK`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-monitoringconfiguration--seealso"></a>
+ [MonitoringConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_MonitoringConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application ParallelismConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-parallelismconfiguration"></a>

Describes parameters for how a Flink-based Kinesis Data Analytics application executes multiple tasks simultaneously. For more information about parallelism, see [Parallel Execution](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/execution/parallel/) in the [Apache Flink Documentation](https://nightlies.apache.org/flink/flink-docs-master).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-parallelismconfiguration-syntax"></a>

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

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

```
{
  "[AutoScalingEnabled](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-autoscalingenabled)" : Boolean,
  "[ConfigurationType](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-configurationtype)" : String,
  "[Parallelism](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelism)" : Integer,
  "[ParallelismPerKPU](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelismperkpu)" : Integer
}
```

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

```
  [AutoScalingEnabled](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-autoscalingenabled): Boolean
  [ConfigurationType](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-configurationtype): String
  [Parallelism](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelism): Integer
  [ParallelismPerKPU](#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelismperkpu): Integer
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-parallelismconfiguration-properties"></a>

`AutoScalingEnabled`  <a name="cfn-kinesisanalyticsv2-application-parallelismconfiguration-autoscalingenabled"></a>
Describes whether the Managed Service for Apache Flink service can increase the parallelism of the application in response to increased throughput.  
*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)

`ConfigurationType`  <a name="cfn-kinesisanalyticsv2-application-parallelismconfiguration-configurationtype"></a>
Describes whether the application uses the default parallelism for the Managed Service for Apache Flink service. You must set this property to `CUSTOM` in order to change your application's `AutoScalingEnabled`, `Parallelism`, or `ParallelismPerKPU` properties.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CUSTOM | DEFAULT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Parallelism`  <a name="cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelism"></a>
Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. The Kinesis Data Analytics service can increase this number automatically if [ParallelismConfiguration:AutoScalingEnabled](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ParallelismConfiguration.html#kinesisanalytics-Type-ParallelismConfiguration-AutoScalingEnabled.html) is set to `true`.  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ParallelismPerKPU`  <a name="cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelismperkpu"></a>
Describes the number of parallel tasks that a Java-based Kinesis Data Analytics application can perform per Kinesis Processing Unit (KPU) used by the application. For more information about KPUs, see [Amazon Kinesis Data Analytics Pricing](https://aws.amazon.com/kinesis/data-analytics/pricing/).  
*Required*: No  
*Type*: Integer  
*Minimum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-parallelismconfiguration--seealso"></a>
+ [ParallelismConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ParallelismConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application PropertyGroup
<a name="aws-properties-kinesisanalyticsv2-application-propertygroup"></a>

Property key-value pairs passed into an application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-propertygroup-syntax"></a>

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

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

```
{
  "[PropertyGroupId](#cfn-kinesisanalyticsv2-application-propertygroup-propertygroupid)" : String,
  "[PropertyMap](#cfn-kinesisanalyticsv2-application-propertygroup-propertymap)" : {Key: Value, ...}
}
```

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

```
  [PropertyGroupId](#cfn-kinesisanalyticsv2-application-propertygroup-propertygroupid): String
  [PropertyMap](#cfn-kinesisanalyticsv2-application-propertygroup-propertymap): 
    Key: Value
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-propertygroup-properties"></a>

`PropertyGroupId`  <a name="cfn-kinesisanalyticsv2-application-propertygroup-propertygroupid"></a>
Describes the key of an application execution property key-value pair.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9_.-]+$`  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PropertyMap`  <a name="cfn-kinesisanalyticsv2-application-propertygroup-propertymap"></a>
Describes the value of an application execution property key-value pair.  
*Required*: No  
*Type*: Object of String  
*Pattern*: `^.{1,2048}$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-propertygroup--seealso"></a>
+ [PropertyGroup](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_PropertyGroup.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application RecordColumn
<a name="aws-properties-kinesisanalyticsv2-application-recordcolumn"></a>

For a SQL-based Kinesis Data Analytics application, describes the mapping of each data element in the streaming source to the corresponding column in the in-application stream.

Also used to describe the format of the reference data source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-recordcolumn-syntax"></a>

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

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

```
{
  "[Mapping](#cfn-kinesisanalyticsv2-application-recordcolumn-mapping)" : String,
  "[Name](#cfn-kinesisanalyticsv2-application-recordcolumn-name)" : String,
  "[SqlType](#cfn-kinesisanalyticsv2-application-recordcolumn-sqltype)" : String
}
```

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

```
  [Mapping](#cfn-kinesisanalyticsv2-application-recordcolumn-mapping): String
  [Name](#cfn-kinesisanalyticsv2-application-recordcolumn-name): String
  [SqlType](#cfn-kinesisanalyticsv2-application-recordcolumn-sqltype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-recordcolumn-properties"></a>

`Mapping`  <a name="cfn-kinesisanalyticsv2-application-recordcolumn-mapping"></a>
A reference to the data element in the streaming input or the reference data source.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-kinesisanalyticsv2-application-recordcolumn-name"></a>
The name of the column that is created in the in-application input stream or reference table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[^-\s<>&]*$`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SqlType`  <a name="cfn-kinesisanalyticsv2-application-recordcolumn-sqltype"></a>
The type of column created in the in-application input stream or reference table.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-recordcolumn--seealso"></a>
+ [RecordColumn](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RecordColumn.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application RecordFormat
<a name="aws-properties-kinesisanalyticsv2-application-recordformat"></a>

 For a SQL-based Kinesis Data Analytics application, describes the record format and relevant mapping information that should be applied to schematize the records on the stream. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-recordformat-syntax"></a>

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

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

```
{
  "[MappingParameters](#cfn-kinesisanalyticsv2-application-recordformat-mappingparameters)" : MappingParameters,
  "[RecordFormatType](#cfn-kinesisanalyticsv2-application-recordformat-recordformattype)" : String
}
```

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

```
  [MappingParameters](#cfn-kinesisanalyticsv2-application-recordformat-mappingparameters): 
    MappingParameters
  [RecordFormatType](#cfn-kinesisanalyticsv2-application-recordformat-recordformattype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-recordformat-properties"></a>

`MappingParameters`  <a name="cfn-kinesisanalyticsv2-application-recordformat-mappingparameters"></a>
When you configure application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.  
*Required*: No  
*Type*: [MappingParameters](aws-properties-kinesisanalyticsv2-application-mappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordFormatType`  <a name="cfn-kinesisanalyticsv2-application-recordformat-recordformattype"></a>
The type of record format.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CSV | JSON`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-recordformat--seealso"></a>
+ [RecordFormat](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RecordFormat.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application RunConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-runconfiguration"></a>

Describes the starting parameters for an Managed Service for Apache Flink application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-runconfiguration-syntax"></a>

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

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

```
{
  "[ApplicationRestoreConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration-applicationrestoreconfiguration)" : ApplicationRestoreConfiguration,
  "[FlinkRunConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration-flinkrunconfiguration)" : FlinkRunConfiguration
}
```

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

```
  [ApplicationRestoreConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration-applicationrestoreconfiguration): 
    ApplicationRestoreConfiguration
  [FlinkRunConfiguration](#cfn-kinesisanalyticsv2-application-runconfiguration-flinkrunconfiguration): 
    FlinkRunConfiguration
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-runconfiguration-properties"></a>

`ApplicationRestoreConfiguration`  <a name="cfn-kinesisanalyticsv2-application-runconfiguration-applicationrestoreconfiguration"></a>
Describes the restore behavior of a restarting application.  
*Required*: No  
*Type*: [ApplicationRestoreConfiguration](aws-properties-kinesisanalyticsv2-application-applicationrestoreconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FlinkRunConfiguration`  <a name="cfn-kinesisanalyticsv2-application-runconfiguration-flinkrunconfiguration"></a>
Describes the starting parameters for a Managed Service for Apache Flink application.  
*Required*: No  
*Type*: [FlinkRunConfiguration](aws-properties-kinesisanalyticsv2-application-flinkrunconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application S3ContentBaseLocation
<a name="aws-properties-kinesisanalyticsv2-application-s3contentbaselocation"></a>

The base location of the Amazon Data Analytics application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-s3contentbaselocation-syntax"></a>

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

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

```
{
  "[BasePath](#cfn-kinesisanalyticsv2-application-s3contentbaselocation-basepath)" : String,
  "[BucketARN](#cfn-kinesisanalyticsv2-application-s3contentbaselocation-bucketarn)" : String
}
```

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

```
  [BasePath](#cfn-kinesisanalyticsv2-application-s3contentbaselocation-basepath): String
  [BucketARN](#cfn-kinesisanalyticsv2-application-s3contentbaselocation-bucketarn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-s3contentbaselocation-properties"></a>

`BasePath`  <a name="cfn-kinesisanalyticsv2-application-s3contentbaselocation-basepath"></a>
The base path for the S3 bucket.  
*Required*: No  
*Type*: String  
*Pattern*: `^[a-zA-Z0-9/!-_.*'()]+$`  
*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)

`BucketARN`  <a name="cfn-kinesisanalyticsv2-application-s3contentbaselocation-bucketarn"></a>
The Amazon Resource Name (ARN) of the S3 bucket.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application S3ContentLocation
<a name="aws-properties-kinesisanalyticsv2-application-s3contentlocation"></a>

The location of an application or a custom artifact.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-s3contentlocation-syntax"></a>

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

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

```
{
  "[BucketARN](#cfn-kinesisanalyticsv2-application-s3contentlocation-bucketarn)" : String,
  "[FileKey](#cfn-kinesisanalyticsv2-application-s3contentlocation-filekey)" : String,
  "[ObjectVersion](#cfn-kinesisanalyticsv2-application-s3contentlocation-objectversion)" : String
}
```

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

```
  [BucketARN](#cfn-kinesisanalyticsv2-application-s3contentlocation-bucketarn): String
  [FileKey](#cfn-kinesisanalyticsv2-application-s3contentlocation-filekey): String
  [ObjectVersion](#cfn-kinesisanalyticsv2-application-s3contentlocation-objectversion): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-s3contentlocation-properties"></a>

`BucketARN`  <a name="cfn-kinesisanalyticsv2-application-s3contentlocation-bucketarn"></a>
The Amazon Resource Name (ARN) for the S3 bucket containing the application code.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^arn:.*$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileKey`  <a name="cfn-kinesisanalyticsv2-application-s3contentlocation-filekey"></a>
The file key for the object containing the application code.  
*Required*: Yes  
*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)

`ObjectVersion`  <a name="cfn-kinesisanalyticsv2-application-s3contentlocation-objectversion"></a>
The version of the object containing the application code.  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-s3contentlocation--seealso"></a>
+ [S3ContentLocation](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_S3ContentLocation.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::Application SqlApplicationConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration"></a>

Describes the inputs, outputs, and reference data sources for a SQL-based Kinesis Data Analytics application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration-syntax"></a>

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

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

```
{
  "[Inputs](#cfn-kinesisanalyticsv2-application-sqlapplicationconfiguration-inputs)" : [ Input, ... ]
}
```

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

```
  [Inputs](#cfn-kinesisanalyticsv2-application-sqlapplicationconfiguration-inputs): 
    - Input
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration-properties"></a>

`Inputs`  <a name="cfn-kinesisanalyticsv2-application-sqlapplicationconfiguration-inputs"></a>
The array of [Input](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_Input.html) objects describing the input streams used by the application.  
*Required*: No  
*Type*: Array of [Input](aws-properties-kinesisanalyticsv2-application-input.md)  
*Maximum*: `1`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration--seealso"></a>
+ [SqlApplicationConfiguration](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_SqlApplicationConfiguration.html) in the *Amazon Kinesis Data Analytics API Reference*



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

A key-value pair (the value is optional) that you can define and assign to Amazon resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see [Using Tagging](https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-tagging.html).

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

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

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

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

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

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

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

`Key`  <a name="cfn-kinesisanalyticsv2-application-tag-key"></a>
The key of the key-value tag.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*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-kinesisanalyticsv2-application-tag-value"></a>
The value of the key-value tag. The value is optional.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application VpcConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-vpcconfiguration"></a>

Describes the parameters of a VPC used by the application.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-vpcconfiguration-syntax"></a>

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

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

```
{
  "[SecurityGroupIds](#cfn-kinesisanalyticsv2-application-vpcconfiguration-securitygroupids)" : [ String, ... ],
  "[SubnetIds](#cfn-kinesisanalyticsv2-application-vpcconfiguration-subnetids)" : [ String, ... ]
}
```

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

```
  [SecurityGroupIds](#cfn-kinesisanalyticsv2-application-vpcconfiguration-securitygroupids): 
    - String
  [SubnetIds](#cfn-kinesisanalyticsv2-application-vpcconfiguration-subnetids): 
    - String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-vpcconfiguration-properties"></a>

`SecurityGroupIds`  <a name="cfn-kinesisanalyticsv2-application-vpcconfiguration-securitygroupids"></a>
The array of [SecurityGroup](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SecurityGroup.html) IDs used by the VPC configuration.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SubnetIds`  <a name="cfn-kinesisanalyticsv2-application-vpcconfiguration-subnetids"></a>
The array of [Subnet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Subnet.html) IDs used by the VPC configuration.  
*Required*: Yes  
*Type*: Array of String  
*Minimum*: `1`  
*Maximum*: `16`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application ZeppelinApplicationConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinapplicationconfiguration"></a>

The configuration of a Kinesis Data Analytics Studio notebook.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-syntax"></a>

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

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

```
{
  "[CatalogConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-catalogconfiguration)" : CatalogConfiguration,
  "[CustomArtifactsConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-customartifactsconfiguration)" : [ CustomArtifactConfiguration, ... ],
  "[DeployAsApplicationConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-deployasapplicationconfiguration)" : DeployAsApplicationConfiguration,
  "[MonitoringConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-monitoringconfiguration)" : ZeppelinMonitoringConfiguration
}
```

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

```
  [CatalogConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-catalogconfiguration): 
    CatalogConfiguration
  [CustomArtifactsConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-customartifactsconfiguration): 
    - CustomArtifactConfiguration
  [DeployAsApplicationConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-deployasapplicationconfiguration): 
    DeployAsApplicationConfiguration
  [MonitoringConfiguration](#cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-monitoringconfiguration): 
    ZeppelinMonitoringConfiguration
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-properties"></a>

`CatalogConfiguration`  <a name="cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-catalogconfiguration"></a>
The Amazon Glue Data Catalog that you use in queries in a Kinesis Data Analytics Studio notebook.  
*Required*: No  
*Type*: [CatalogConfiguration](aws-properties-kinesisanalyticsv2-application-catalogconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomArtifactsConfiguration`  <a name="cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-customartifactsconfiguration"></a>
A list of `CustomArtifactConfiguration` objects.  
*Required*: No  
*Type*: Array of [CustomArtifactConfiguration](aws-properties-kinesisanalyticsv2-application-customartifactconfiguration.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)

`DeployAsApplicationConfiguration`  <a name="cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-deployasapplicationconfiguration"></a>
The information required to deploy a Kinesis Data Analytics Studio notebook as an application with durable state.  
*Required*: No  
*Type*: [DeployAsApplicationConfiguration](aws-properties-kinesisanalyticsv2-application-deployasapplicationconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MonitoringConfiguration`  <a name="cfn-kinesisanalyticsv2-application-zeppelinapplicationconfiguration-monitoringconfiguration"></a>
The monitoring configuration of a Kinesis Data Analytics Studio notebook.  
*Required*: No  
*Type*: [ZeppelinMonitoringConfiguration](aws-properties-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::Application ZeppelinMonitoringConfiguration
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration"></a>

Describes configuration parameters for Amazon CloudWatch logging for a Kinesis Data Analytics Studio notebook. For more information about CloudWatch logging, see [Monitoring](https://docs.aws.amazon.com/managed-flink/latest/java/monitoring-overview.html).

## Syntax
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration-syntax"></a>

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

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

```
{
  "[LogLevel](#cfn-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration-loglevel)" : String
}
```

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

```
  [LogLevel](#cfn-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration-loglevel): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration-properties"></a>

`LogLevel`  <a name="cfn-kinesisanalyticsv2-application-zeppelinmonitoringconfiguration-loglevel"></a>
The verbosity of the CloudWatch Logs for an application. You can set it to `INFO`, `WARN`, `ERROR`, or `DEBUG`.  
*Required*: No  
*Type*: String  
*Allowed values*: `DEBUG | INFO | WARN | ERROR`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption"></a>

Adds an Amazon CloudWatch log stream to monitor application configuration errors.

**Note**  
Only one *ApplicationCloudWatchLoggingOption* resource can be attached per application.

## Syntax
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption-syntax"></a>

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

### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption-syntax.json"></a>

```
{
  "Type" : "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
  "Properties" : {
      "[ApplicationName](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname)" : String,
      "[CloudWatchLoggingOption](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption)" : CloudWatchLoggingOption
    }
}
```

### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption-syntax.yaml"></a>

```
Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption
Properties:
  [ApplicationName](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname): String
  [CloudWatchLoggingOption](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption): 
    CloudWatchLoggingOption
```

## Properties
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption-properties"></a>

`ApplicationName`  <a name="cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname"></a>
The name of the application.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`CloudWatchLoggingOption`  <a name="cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption"></a>
Provides a description of Amazon CloudWatch logging options, including the log stream Amazon Resource Name (ARN).   
*Required*: Yes  
*Type*: [CloudWatchLoggingOption](aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption.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-kinesisanalyticsv2-applicationcloudwatchloggingoption-return-values"></a>

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

## Examples
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption--examples"></a>



### Create an ApplicationCloudWatchLoggingOption resource
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption--examples--Create_an_ApplicationCloudWatchLoggingOption_resource"></a>

#### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption--examples--Create_an_ApplicationCloudWatchLoggingOption_resource--json"></a>

```
{
    "BasicApplicationV2CloudWatchLoggingOption": {
        "Type": "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
        "Properties": {
            "ApplicationName": {
                "Ref": "BasicApplication"
            },
            "CloudWatchLoggingOption": {
                "LogStreamARN": {
                    "Fn::Join": [
                        ":",
                        [
                            "arn:aws:logs",
                            {
                                "Ref": "AWS::Region"
                            },
                            {
                                "Ref": "AWS::AccountId"
                            },
                            "log-group",
                            {
                                "Ref": "TestCWLogGroup"
                            },
                            "log-stream",
                            {
                                "Ref": "TestCWLogStream"
                            }
                        ]
                    ]
                }
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption--examples--Create_an_ApplicationCloudWatchLoggingOption_resource--yaml"></a>

```
BasicApplicationV2CloudWatchLoggingOption:
  Type: AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption
  Properties:
    ApplicationName:
      Ref: BasicApplication
    CloudWatchLoggingOption:
      LogStreamARN:
        Fn::Join:
        - ":"
        - - arn:aws:logs
          - Ref: AWS::Region
          - Ref: AWS::AccountId
          - log-group
          - Ref: TestCWLogGroup
          - log-stream
          - Ref: TestCWLogStream
```

## See also
<a name="aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption--seealso"></a>
+ [AddApplicationCloudWatchLoggingOption](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_AddApplicationCloudWatchLoggingOption.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption CloudWatchLoggingOption
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption"></a>

Provides a description of Amazon CloudWatch logging options, including the log stream Amazon Resource Name (ARN). 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-syntax.json"></a>

```
{
  "[LogStreamARN](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-logstreamarn)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-syntax.yaml"></a>

```
  [LogStreamARN](#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-logstreamarn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-properties"></a>

`LogStreamARN`  <a name="cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-logstreamarn"></a>
The ARN of the CloudWatch log to receive application messages.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption--seealso"></a>
+ [CloudWatchLoggingOption](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CloudWatchLoggingOption.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput
<a name="aws-resource-kinesisanalyticsv2-applicationoutput"></a>

Adds an external destination to your SQL-based Amazon Kinesis Data Analytics application.

If you want Kinesis Data Analytics to deliver data from an in-application stream within your application to an external destination (such as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an Amazon Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. 

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the [DescribeApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_DescribeApplication.html) operation to find the current application version.

**Note**  
Creation of multiple outputs should be sequential (use of DependsOn) to avoid a problem with a stale application version (*ConcurrentModificationException*).

## Syntax
<a name="aws-resource-kinesisanalyticsv2-applicationoutput-syntax"></a>

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

### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationoutput-syntax.json"></a>

```
{
  "Type" : "AWS::KinesisAnalyticsV2::ApplicationOutput",
  "Properties" : {
      "[ApplicationName](#cfn-kinesisanalyticsv2-applicationoutput-applicationname)" : String,
      "[Output](#cfn-kinesisanalyticsv2-applicationoutput-output)" : Output
    }
}
```

### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationoutput-syntax.yaml"></a>

```
Type: AWS::KinesisAnalyticsV2::ApplicationOutput
Properties:
  [ApplicationName](#cfn-kinesisanalyticsv2-applicationoutput-applicationname): String
  [Output](#cfn-kinesisanalyticsv2-applicationoutput-output): 
    Output
```

## Properties
<a name="aws-resource-kinesisanalyticsv2-applicationoutput-properties"></a>

`ApplicationName`  <a name="cfn-kinesisanalyticsv2-applicationoutput-applicationname"></a>
The name of the application.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Output`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output"></a>
 Describes a SQL-based Kinesis Data Analytics application's output configuration, in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.   
  
*Required*: Yes  
*Type*: [Output](aws-properties-kinesisanalyticsv2-applicationoutput-output.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-kinesisanalyticsv2-applicationoutput-return-values"></a>

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

## Examples
<a name="aws-resource-kinesisanalyticsv2-applicationoutput--examples"></a>



### Create an ApplicationOutput object
<a name="aws-resource-kinesisanalyticsv2-applicationoutput--examples--Create_an_ApplicationOutput_object"></a>

#### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationoutput--examples--Create_an_ApplicationOutput_object--json"></a>

```
{
    "Type": "AWS::KinesisAnalyticsV2::ApplicationOutput",
    "Properties": {
        "ApplicationName": {
            "Ref": "BasicApplication"
        },
        "Output": {
            "Name": "exampleOutput",
            "DestinationSchema": {
                "RecordFormatType": "CSV"
            },
            "KinesisStreamsOutput": {
                "ResourceARN": {
                    "Fn::GetAtt": [
                        "OutputKinesisStream",
                        "Arn"
                    ]
                }
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationoutput--examples--Create_an_ApplicationOutput_object--yaml"></a>

```
Type: AWS::KinesisAnalyticsV2::ApplicationOutput
Properties:
  ApplicationName:
    Ref: BasicApplication
  Output:
    Name: exampleOutput
    DestinationSchema:
      RecordFormatType: CSV
    KinesisStreamsOutput:
      ResourceARN:
        Fn::GetAtt:
        - OutputKinesisStream
        - Arn
```

## See also
<a name="aws-resource-kinesisanalyticsv2-applicationoutput--seealso"></a>
+ [AddApplicationOutput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_AddApplicationOutput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput DestinationSchema
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema"></a>

Describes the data format when records are written to the destination in a SQL-based Kinesis Data Analytics application. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema-syntax.json"></a>

```
{
  "[RecordFormatType](#cfn-kinesisanalyticsv2-applicationoutput-destinationschema-recordformattype)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema-syntax.yaml"></a>

```
  [RecordFormatType](#cfn-kinesisanalyticsv2-applicationoutput-destinationschema-recordformattype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema-properties"></a>

`RecordFormatType`  <a name="cfn-kinesisanalyticsv2-applicationoutput-destinationschema-recordformattype"></a>
Specifies the format of the records on the output stream.  
*Required*: No  
*Type*: String  
*Allowed values*: `JSON | CSV`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema--seealso"></a>
+ [DestinationSchema](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_DestinationSchema.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput KinesisFirehoseOutput
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput"></a>

For a SQL-based Kinesis Data Analytics application, when configuring application output, identifies a Kinesis Data Firehose delivery stream as the destination. You provide the stream Amazon Resource Name (ARN) of the delivery stream. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-syntax.json"></a>

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-resourcearn)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-syntax.yaml"></a>

```
  [ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-resourcearn"></a>
The ARN of the destination delivery stream to write to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput--seealso"></a>
+ [KinesisFirehoseOutput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_KinesisFirehoseOutput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput KinesisStreamsOutput
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput"></a>

When you configure a SQL-based Kinesis Data Analytics application's output, identifies a Kinesis data stream as the destination. You provide the stream Amazon Resource Name (ARN). 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-syntax.json"></a>

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-resourcearn)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-syntax.yaml"></a>

```
  [ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-resourcearn"></a>
The ARN of the destination Kinesis data stream to write to.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput--seealso"></a>
+ [KinesisStreamsOutput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_KinesisStreamsOutput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput LambdaOutput
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput"></a>

When you configure a SQL-based Kinesis Data Analytics application's output, identifies an Amazon Lambda function as the destination. You provide the function Amazon Resource Name (ARN) of the Lambda function. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput-syntax.json"></a>

```
{
  "[ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-lambdaoutput-resourcearn)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput-syntax.yaml"></a>

```
  [ResourceARN](#cfn-kinesisanalyticsv2-applicationoutput-lambdaoutput-resourcearn): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput-properties"></a>

`ResourceARN`  <a name="cfn-kinesisanalyticsv2-applicationoutput-lambdaoutput-resourcearn"></a>
The Amazon Resource Name (ARN) of the destination Lambda function to write to.  
To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see [Example ARNs: Amazon Lambda](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-lambda)
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput--seealso"></a>
+ [LambdaOutput](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_LambdaOutput.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationOutput Output
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output"></a>

 Describes a SQL-based Kinesis Data Analytics application's output configuration, in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be a Kinesis data stream or a Kinesis Data Firehose delivery stream. 



## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output-syntax.json"></a>

```
{
  "[DestinationSchema](#cfn-kinesisanalyticsv2-applicationoutput-output-destinationschema)" : DestinationSchema,
  "[KinesisFirehoseOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput)" : KinesisFirehoseOutput,
  "[KinesisStreamsOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput)" : KinesisStreamsOutput,
  "[LambdaOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput)" : LambdaOutput,
  "[Name](#cfn-kinesisanalyticsv2-applicationoutput-output-name)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output-syntax.yaml"></a>

```
  [DestinationSchema](#cfn-kinesisanalyticsv2-applicationoutput-output-destinationschema): 
    DestinationSchema
  [KinesisFirehoseOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput): 
    KinesisFirehoseOutput
  [KinesisStreamsOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput): 
    KinesisStreamsOutput
  [LambdaOutput](#cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput): 
    LambdaOutput
  [Name](#cfn-kinesisanalyticsv2-applicationoutput-output-name): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output-properties"></a>

`DestinationSchema`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-destinationschema"></a>
Describes the data format when records are written to the destination.   
*Required*: Yes  
*Type*: [DestinationSchema](aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KinesisFirehoseOutput`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput"></a>
Identifies a Kinesis Data Firehose delivery stream as the destination.  
*Required*: No  
*Type*: [KinesisFirehoseOutput](aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`KinesisStreamsOutput`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput"></a>
Identifies a Kinesis data stream as the destination.  
*Required*: No  
*Type*: [KinesisStreamsOutput](aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`LambdaOutput`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput"></a>
Identifies an Amazon Lambda function as the destination.  
*Required*: No  
*Type*: [LambdaOutput](aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-kinesisanalyticsv2-applicationoutput-output-name"></a>
The name of the in-application stream.  
*Required*: No  
*Type*: String  
*Pattern*: `[^-\s<>&]*`  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationoutput-output--seealso"></a>
+ [Output](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_Output.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource"></a>

Adds a reference data source to an existing SQL-based Kinesis Data Analytics application.

Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in an Amazon S3 object maps to columns in the resulting in-application table.

## Syntax
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource-syntax"></a>

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

### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource-syntax.json"></a>

```
{
  "Type" : "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
  "Properties" : {
      "[ApplicationName](#cfn-kinesisanalyticsv2-applicationreferencedatasource-applicationname)" : String,
      "[ReferenceDataSource](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource)" : ReferenceDataSource
    }
}
```

### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource-syntax.yaml"></a>

```
Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource
Properties:
  [ApplicationName](#cfn-kinesisanalyticsv2-applicationreferencedatasource-applicationname): String
  [ReferenceDataSource](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource): 
    ReferenceDataSource
```

## Properties
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource-properties"></a>

`ApplicationName`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-applicationname"></a>
The name of the application.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`ReferenceDataSource`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource"></a>
For a SQL-based Kinesis Data Analytics application, describes the reference data source by providing the source information (Amazon S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.  
*Required*: Yes  
*Type*: [ReferenceDataSource](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.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-kinesisanalyticsv2-applicationreferencedatasource-return-values"></a>

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

## Examples
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource--examples"></a>



### Create an ApplicationReferenceDataSource resource
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource--examples--Create_an_ApplicationReferenceDataSource_resource"></a>

#### JSON
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource--examples--Create_an_ApplicationReferenceDataSource_resource--json"></a>

```
{
    "ApplicationReferenceDataSource": {
        "Type": "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
        "Properties": {
            "ApplicationName": {
                "Ref": "BasicApplication"
            },
            "ReferenceDataSource": {
                "TableName": "exampleTable",
                "ReferenceSchema": {
                    "RecordColumns": [
                        {
                            "Name": "example",
                            "SqlType": "VARCHAR(16)",
                            "Mapping": "$.example"
                        }
                    ],
                    "RecordFormat": {
                        "RecordFormatType": "JSON",
                        "MappingParameters": {
                            "JSONMappingParameters": {
                                "RecordRowPath": "$"
                            }
                        }
                    }
                },
                "S3ReferenceDataSource": {
                    "BucketARN": {
                        "Fn::GetAtt": [
                            "S3Bucket",
                            "Arn"
                        ]
                    },
                    "FileKey": "fakeKey"
                }
            }
        }
    }
}
```

#### YAML
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource--examples--Create_an_ApplicationReferenceDataSource_resource--yaml"></a>

```
ApplicationReferenceDataSource:
  Type: AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource
  Properties:
    ApplicationName:
      Ref: BasicApplication
    ReferenceDataSource:
      TableName: exampleTable
      ReferenceSchema:
        RecordColumns:
        - Name: example
          SqlType: VARCHAR(16)
          Mapping: "$.example"
        RecordFormat:
          RecordFormatType: JSON
          MappingParameters:
            JSONMappingParameters:
              RecordRowPath: "$"
      S3ReferenceDataSource:
        BucketARN:
          Fn::GetAtt:
          - S3Bucket
          - Arn
        FileKey: fakeKey
```

## See also
<a name="aws-resource-kinesisanalyticsv2-applicationreferencedatasource--seealso"></a>
+ [AddApplicationReferenceDataSource](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_AddApplicationReferenceDataSource.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource CSVMappingParameters
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters"></a>

For a SQL-based Kinesis Data Analytics application, provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the *'\$1n'* as the row delimiter and a comma (",") as the column delimiter: 

 `"name1", "address1"` 

 `"name2", "address2"` 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-syntax.json"></a>

```
{
  "[RecordColumnDelimiter](#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordcolumndelimiter)" : String,
  "[RecordRowDelimiter](#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordrowdelimiter)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-syntax.yaml"></a>

```
  [RecordColumnDelimiter](#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordcolumndelimiter): String
  [RecordRowDelimiter](#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordrowdelimiter): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-properties"></a>

`RecordColumnDelimiter`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordcolumndelimiter"></a>
The column delimiter. For example, in a CSV format, a comma (",") is the typical column delimiter.  
*Required*: Yes  
*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)

`RecordRowDelimiter`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordrowdelimiter"></a>
The row delimiter. For example, in a CSV format, *'\$1n'* is the typical row delimiter.  
*Required*: Yes  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters--seealso"></a>
+ [CSVMappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_CSVMappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource JSONMappingParameters
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters"></a>

For a SQL-based Kinesis Data Analytics application, provides additional mapping information when JSON is the record format on the streaming source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-syntax.json"></a>

```
{
  "[RecordRowPath](#cfn-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-recordrowpath)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-syntax.yaml"></a>

```
  [RecordRowPath](#cfn-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-recordrowpath): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-properties"></a>

`RecordRowPath`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-recordrowpath"></a>
The path to the top-level parent that contains the records.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?=^\$)(?=^\S+$).*$`  
*Minimum*: `1`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters--seealso"></a>
+ [JSONMappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_JSONMappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource MappingParameters
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters"></a>

When you configure a SQL-based Kinesis Data Analytics application's input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-syntax.json"></a>

```
{
  "[CSVMappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-csvmappingparameters)" : CSVMappingParameters,
  "[JSONMappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-jsonmappingparameters)" : JSONMappingParameters
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-syntax.yaml"></a>

```
  [CSVMappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-csvmappingparameters): 
    CSVMappingParameters
  [JSONMappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-jsonmappingparameters): 
    JSONMappingParameters
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-properties"></a>

`CSVMappingParameters`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-csvmappingparameters"></a>
Provides additional mapping information when the record format uses delimiters (for example, CSV).  
*Required*: No  
*Type*: [CSVMappingParameters](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`JSONMappingParameters`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-jsonmappingparameters"></a>
Provides additional mapping information when JSON is the record format on the streaming source.  
*Required*: No  
*Type*: [JSONMappingParameters](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters--seealso"></a>
+ [MappingParameters](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_MappingParameters.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource RecordColumn
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn"></a>

For a SQL-based Kinesis Data Analytics application, describes the mapping of each data element in the streaming source to the corresponding column in the in-application stream.

Also used to describe the format of the reference data source.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-syntax.json"></a>

```
{
  "[Mapping](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-mapping)" : String,
  "[Name](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-name)" : String,
  "[SqlType](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-sqltype)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-syntax.yaml"></a>

```
  [Mapping](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-mapping): String
  [Name](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-name): String
  [SqlType](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-sqltype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-properties"></a>

`Mapping`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-mapping"></a>
A reference to the data element in the streaming input or the reference data source.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `65535`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-name"></a>
The name of the column that is created in the in-application input stream or reference table.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[^-\s<>&]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SqlType`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-sqltype"></a>
The type of column created in the in-application input stream or reference table.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn--seealso"></a>
+ [RecordColumn](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RecordColumn.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource RecordFormat
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat"></a>

 For a SQL-based Kinesis Data Analytics application, describes the record format and relevant mapping information that should be applied to schematize the records on the stream. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat-syntax.json"></a>

```
{
  "[MappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-mappingparameters)" : MappingParameters,
  "[RecordFormatType](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-recordformattype)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat-syntax.yaml"></a>

```
  [MappingParameters](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-mappingparameters): 
    MappingParameters
  [RecordFormatType](#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-recordformattype): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat-properties"></a>

`MappingParameters`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-mappingparameters"></a>
When you configure application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.  
*Required*: No  
*Type*: [MappingParameters](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordFormatType`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-recordformattype"></a>
The type of record format.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `JSON | CSV`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat--seealso"></a>
+ [RecordFormat](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RecordFormat.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource ReferenceDataSource
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource"></a>

For a SQL-based Kinesis Data Analytics application, describes the reference data source by providing the source information (Amazon S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-syntax.json"></a>

```
{
  "[ReferenceSchema](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-referenceschema)" : ReferenceSchema,
  "[S3ReferenceDataSource](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-s3referencedatasource)" : S3ReferenceDataSource,
  "[TableName](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-tablename)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-syntax.yaml"></a>

```
  [ReferenceSchema](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-referenceschema): 
    ReferenceSchema
  [S3ReferenceDataSource](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-s3referencedatasource): 
    S3ReferenceDataSource
  [TableName](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-tablename): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-properties"></a>

`ReferenceSchema`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-referenceschema"></a>
Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.  
*Required*: Yes  
*Type*: [ReferenceSchema](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`S3ReferenceDataSource`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-s3referencedatasource"></a>
Identifies the S3 bucket and object that contains the reference data. A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html) operation to trigger reloading of data into your application.   
*Required*: No  
*Type*: [S3ReferenceDataSource](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`TableName`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-tablename"></a>
The name of the in-application table to create.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `32`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource--seealso"></a>
+ [ReferenceDataSource](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_ReferenceDataSource.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource ReferenceSchema
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema"></a>

For a SQL-based Kinesis Data Analytics application, describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-syntax.json"></a>

```
{
  "[RecordColumns](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordcolumns)" : [ RecordColumn, ... ],
  "[RecordEncoding](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding)" : String,
  "[RecordFormat](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordformat)" : RecordFormat
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-syntax.yaml"></a>

```
  [RecordColumns](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordcolumns): 
    - RecordColumn
  [RecordEncoding](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding): String
  [RecordFormat](#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordformat): 
    RecordFormat
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-properties"></a>

`RecordColumns`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordcolumns"></a>
A list of `RecordColumn` objects.   
*Required*: Yes  
*Type*: Array of [RecordColumn](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.md)  
*Minimum*: `1`  
*Maximum*: `1000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordEncoding`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding"></a>
Specifies the encoding of the records in the streaming source. For example, UTF-8.  
*Required*: No  
*Type*: String  
*Pattern*: `UTF-8`  
*Minimum*: `5`  
*Maximum*: `5`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RecordFormat`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordformat"></a>
Specifies the format of the records on the streaming source.  
*Required*: Yes  
*Type*: [RecordFormat](aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema--seealso"></a>
+ [SourceSchema](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_SourceSchema.html) in the *Amazon Kinesis Data Analytics API Reference*



# AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource S3ReferenceDataSource
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource"></a>

For an SQL-based Amazon Kinesis Data Analytics application, identifies the Amazon S3 bucket and object that contains the reference data.

A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html) operation to trigger reloading of data into your application. 

## Syntax
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-syntax"></a>

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

### JSON
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-syntax.json"></a>

```
{
  "[BucketARN](#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-bucketarn)" : String,
  "[FileKey](#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-filekey)" : String
}
```

### YAML
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-syntax.yaml"></a>

```
  [BucketARN](#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-bucketarn): String
  [FileKey](#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-filekey): String
```

## Properties
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-properties"></a>

`BucketARN`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-bucketarn"></a>
The Amazon Resource Name (ARN) of the S3 bucket.  
*Required*: Yes  
*Type*: String  
*Pattern*: `arn:.*`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FileKey`  <a name="cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-filekey"></a>
The object key name containing the reference data.  
*Required*: Yes  
*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)

## See also
<a name="aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource--seealso"></a>
+ [S3ReferenceDataSource](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_S3ReferenceDataSource.html) in the *Amazon Kinesis Data Analytics API Reference*

