awskinesisanalyticsv2

package
v1.168.0-devpreview Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

README

AWS::KinesisAnalyticsV2 Construct Library

This module is part of the AWS Cloud Development Kit project.

import kinesisanalytics "github.com/aws/aws-cdk-go/awscdk"

There are no official hand-written (L2) constructs for this service yet. Here are some suggestions on how to proceed:

There are no hand-written (L2) constructs for this service yet. However, you can still use the automatically generated L1 constructs, and use this service exactly as you would using CloudFormation directly.

For more information on the resources and properties available for this service, see the CloudFormation documentation for AWS::KinesisAnalyticsV2.

(Read the CDK Contributing Guide and submit an RFC if you are interested in contributing to this construct library.)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnApplicationCloudWatchLoggingOption_CFN_RESOURCE_TYPE_NAME

func CfnApplicationCloudWatchLoggingOption_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplicationCloudWatchLoggingOption_IsCfnElement

func CfnApplicationCloudWatchLoggingOption_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnApplicationCloudWatchLoggingOption_IsCfnResource

func CfnApplicationCloudWatchLoggingOption_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnApplicationCloudWatchLoggingOption_IsConstruct

func CfnApplicationCloudWatchLoggingOption_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnApplicationOutput_CFN_RESOURCE_TYPE_NAME

func CfnApplicationOutput_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplicationOutput_IsCfnElement

func CfnApplicationOutput_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnApplicationOutput_IsCfnResource

func CfnApplicationOutput_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnApplicationOutput_IsConstruct

func CfnApplicationOutput_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnApplicationReferenceDataSource_CFN_RESOURCE_TYPE_NAME

func CfnApplicationReferenceDataSource_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplicationReferenceDataSource_IsCfnElement

func CfnApplicationReferenceDataSource_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnApplicationReferenceDataSource_IsCfnResource

func CfnApplicationReferenceDataSource_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnApplicationReferenceDataSource_IsConstruct

func CfnApplicationReferenceDataSource_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func CfnApplication_CFN_RESOURCE_TYPE_NAME

func CfnApplication_CFN_RESOURCE_TYPE_NAME() *string

func CfnApplication_IsCfnElement

func CfnApplication_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnApplication_IsCfnResource

func CfnApplication_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnApplication_IsConstruct

func CfnApplication_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct. Experimental.

func NewCfnApplicationCloudWatchLoggingOption_Override

func NewCfnApplicationCloudWatchLoggingOption_Override(c CfnApplicationCloudWatchLoggingOption, scope awscdk.Construct, id *string, props *CfnApplicationCloudWatchLoggingOptionProps)

Create a new `AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption`.

func NewCfnApplicationOutput_Override

func NewCfnApplicationOutput_Override(c CfnApplicationOutput, scope awscdk.Construct, id *string, props *CfnApplicationOutputProps)

Create a new `AWS::KinesisAnalyticsV2::ApplicationOutput`.

func NewCfnApplicationReferenceDataSource_Override

func NewCfnApplicationReferenceDataSource_Override(c CfnApplicationReferenceDataSource, scope awscdk.Construct, id *string, props *CfnApplicationReferenceDataSourceProps)

Create a new `AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource`.

func NewCfnApplication_Override

func NewCfnApplication_Override(c CfnApplication, scope awscdk.Construct, id *string, props *CfnApplicationProps)

Create a new `AWS::KinesisAnalyticsV2::Application`.

Types

type CfnApplication

type CfnApplication interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// Use this parameter to configure the application.
	ApplicationConfiguration() interface{}
	SetApplicationConfiguration(val interface{})
	// The description of the application.
	ApplicationDescription() *string
	SetApplicationDescription(val *string)
	// `AWS::KinesisAnalyticsV2::Application.ApplicationMaintenanceConfiguration`.
	ApplicationMaintenanceConfiguration() interface{}
	SetApplicationMaintenanceConfiguration(val interface{})
	// 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.
	ApplicationMode() *string
	SetApplicationMode(val *string)
	// The name of the application.
	ApplicationName() *string
	SetApplicationName(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// `AWS::KinesisAnalyticsV2::Application.RunConfiguration`.
	RunConfiguration() interface{}
	SetRunConfiguration(val interface{})
	// The runtime environment for the application.
	RuntimeEnvironment() *string
	SetRuntimeEnvironment(val *string)
	// Specifies the IAM role that the application uses to access external resources.
	ServiceExecutionRole() *string
	SetServiceExecutionRole(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// 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.
	Tags() awscdk.TagManager
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::KinesisAnalyticsV2::Application`.

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/kinesisanalytics/latest/java/getting-started.html) .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplication := awscdk.Aws_kinesisanalyticsv2.NewCfnApplication(this, jsii.String("MyCfnApplication"), &cfnApplicationProps{
	runtimeEnvironment: jsii.String("runtimeEnvironment"),
	serviceExecutionRole: jsii.String("serviceExecutionRole"),

	// the properties below are optional
	applicationConfiguration: &applicationConfigurationProperty{
		applicationCodeConfiguration: &applicationCodeConfigurationProperty{
			codeContent: &codeContentProperty{
				s3ContentLocation: &s3ContentLocationProperty{
					bucketArn: jsii.String("bucketArn"),
					fileKey: jsii.String("fileKey"),

					// the properties below are optional
					objectVersion: jsii.String("objectVersion"),
				},
				textContent: jsii.String("textContent"),
				zipFileContent: jsii.String("zipFileContent"),
			},
			codeContentType: jsii.String("codeContentType"),
		},
		applicationSnapshotConfiguration: &applicationSnapshotConfigurationProperty{
			snapshotsEnabled: jsii.Boolean(false),
		},
		environmentProperties: &environmentPropertiesProperty{
			propertyGroups: []interface{}{
				&propertyGroupProperty{
					propertyGroupId: jsii.String("propertyGroupId"),
					propertyMap: map[string]*string{
						"propertyMapKey": jsii.String("propertyMap"),
					},
				},
			},
		},
		flinkApplicationConfiguration: &flinkApplicationConfigurationProperty{
			checkpointConfiguration: &checkpointConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				checkpointingEnabled: jsii.Boolean(false),
				checkpointInterval: jsii.Number(123),
				minPauseBetweenCheckpoints: jsii.Number(123),
			},
			monitoringConfiguration: &monitoringConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				logLevel: jsii.String("logLevel"),
				metricsLevel: jsii.String("metricsLevel"),
			},
			parallelismConfiguration: &parallelismConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				autoScalingEnabled: jsii.Boolean(false),
				parallelism: jsii.Number(123),
				parallelismPerKpu: jsii.Number(123),
			},
		},
		sqlApplicationConfiguration: &sqlApplicationConfigurationProperty{
			inputs: []interface{}{
				&inputProperty{
					inputSchema: &inputSchemaProperty{
						recordColumns: []interface{}{
							&recordColumnProperty{
								name: jsii.String("name"),
								sqlType: jsii.String("sqlType"),

								// the properties below are optional
								mapping: jsii.String("mapping"),
							},
						},
						recordFormat: &recordFormatProperty{
							recordFormatType: jsii.String("recordFormatType"),

							// the properties below are optional
							mappingParameters: &mappingParametersProperty{
								csvMappingParameters: &cSVMappingParametersProperty{
									recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
									recordRowDelimiter: jsii.String("recordRowDelimiter"),
								},
								jsonMappingParameters: &jSONMappingParametersProperty{
									recordRowPath: jsii.String("recordRowPath"),
								},
							},
						},

						// the properties below are optional
						recordEncoding: jsii.String("recordEncoding"),
					},
					namePrefix: jsii.String("namePrefix"),

					// the properties below are optional
					inputParallelism: &inputParallelismProperty{
						count: jsii.Number(123),
					},
					inputProcessingConfiguration: &inputProcessingConfigurationProperty{
						inputLambdaProcessor: &inputLambdaProcessorProperty{
							resourceArn: jsii.String("resourceArn"),
						},
					},
					kinesisFirehoseInput: &kinesisFirehoseInputProperty{
						resourceArn: jsii.String("resourceArn"),
					},
					kinesisStreamsInput: &kinesisStreamsInputProperty{
						resourceArn: jsii.String("resourceArn"),
					},
				},
			},
		},
		vpcConfigurations: []interface{}{
			&vpcConfigurationProperty{
				securityGroupIds: []*string{
					jsii.String("securityGroupIds"),
				},
				subnetIds: []*string{
					jsii.String("subnetIds"),
				},
			},
		},
		zeppelinApplicationConfiguration: &zeppelinApplicationConfigurationProperty{
			catalogConfiguration: &catalogConfigurationProperty{
				glueDataCatalogConfiguration: &glueDataCatalogConfigurationProperty{
					databaseArn: jsii.String("databaseArn"),
				},
			},
			customArtifactsConfiguration: []interface{}{
				&customArtifactConfigurationProperty{
					artifactType: jsii.String("artifactType"),

					// the properties below are optional
					mavenReference: &mavenReferenceProperty{
						artifactId: jsii.String("artifactId"),
						groupId: jsii.String("groupId"),
						version: jsii.String("version"),
					},
					s3ContentLocation: &s3ContentLocationProperty{
						bucketArn: jsii.String("bucketArn"),
						fileKey: jsii.String("fileKey"),

						// the properties below are optional
						objectVersion: jsii.String("objectVersion"),
					},
				},
			},
			deployAsApplicationConfiguration: &deployAsApplicationConfigurationProperty{
				s3ContentLocation: &s3ContentBaseLocationProperty{
					bucketArn: jsii.String("bucketArn"),

					// the properties below are optional
					basePath: jsii.String("basePath"),
				},
			},
			monitoringConfiguration: &zeppelinMonitoringConfigurationProperty{
				logLevel: jsii.String("logLevel"),
			},
		},
	},
	applicationDescription: jsii.String("applicationDescription"),
	applicationMaintenanceConfiguration: &applicationMaintenanceConfigurationProperty{
		applicationMaintenanceWindowStartTime: jsii.String("applicationMaintenanceWindowStartTime"),
	},
	applicationMode: jsii.String("applicationMode"),
	applicationName: jsii.String("applicationName"),
	runConfiguration: &runConfigurationProperty{
		applicationRestoreConfiguration: &applicationRestoreConfigurationProperty{
			applicationRestoreType: jsii.String("applicationRestoreType"),

			// the properties below are optional
			snapshotName: jsii.String("snapshotName"),
		},
		flinkRunConfiguration: &flinkRunConfigurationProperty{
			allowNonRestoredState: jsii.Boolean(false),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
})

func NewCfnApplication

func NewCfnApplication(scope awscdk.Construct, id *string, props *CfnApplicationProps) CfnApplication

Create a new `AWS::KinesisAnalyticsV2::Application`.

type CfnApplicationCloudWatchLoggingOption

type CfnApplicationCloudWatchLoggingOption interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the application.
	ApplicationName() *string
	SetApplicationName(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Provides a description of Amazon CloudWatch logging options, including the log stream Amazon Resource Name (ARN).
	CloudWatchLoggingOption() interface{}
	SetCloudWatchLoggingOption(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption`.

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationCloudWatchLoggingOption := awscdk.Aws_kinesisanalyticsv2.NewCfnApplicationCloudWatchLoggingOption(this, jsii.String("MyCfnApplicationCloudWatchLoggingOption"), &cfnApplicationCloudWatchLoggingOptionProps{
	applicationName: jsii.String("applicationName"),
	cloudWatchLoggingOption: &cloudWatchLoggingOptionProperty{
		logStreamArn: jsii.String("logStreamArn"),
	},
})

func NewCfnApplicationCloudWatchLoggingOption

func NewCfnApplicationCloudWatchLoggingOption(scope awscdk.Construct, id *string, props *CfnApplicationCloudWatchLoggingOptionProps) CfnApplicationCloudWatchLoggingOption

Create a new `AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption`.

type CfnApplicationCloudWatchLoggingOptionProps

type CfnApplicationCloudWatchLoggingOptionProps struct {
	// The name of the application.
	ApplicationName *string `field:"required" json:"applicationName" yaml:"applicationName"`
	// Provides a description of Amazon CloudWatch logging options, including the log stream Amazon Resource Name (ARN).
	CloudWatchLoggingOption interface{} `field:"required" json:"cloudWatchLoggingOption" yaml:"cloudWatchLoggingOption"`
}

Properties for defining a `CfnApplicationCloudWatchLoggingOption`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationCloudWatchLoggingOptionProps := &cfnApplicationCloudWatchLoggingOptionProps{
	applicationName: jsii.String("applicationName"),
	cloudWatchLoggingOption: &cloudWatchLoggingOptionProperty{
		logStreamArn: jsii.String("logStreamArn"),
	},
}

type CfnApplicationCloudWatchLoggingOption_CloudWatchLoggingOptionProperty

type CfnApplicationCloudWatchLoggingOption_CloudWatchLoggingOptionProperty struct {
	// The ARN of the CloudWatch log to receive application messages.
	LogStreamArn *string `field:"required" json:"logStreamArn" yaml:"logStreamArn"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cloudWatchLoggingOptionProperty := &cloudWatchLoggingOptionProperty{
	logStreamArn: jsii.String("logStreamArn"),
}

type CfnApplicationOutput

type CfnApplicationOutput interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the application.
	ApplicationName() *string
	SetApplicationName(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// 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.
	Output() interface{}
	SetOutput(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::KinesisAnalyticsV2::ApplicationOutput`.

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/kinesisanalytics/latest/apiv2/API_DescribeApplication.html) operation to find the current application version.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationOutput := awscdk.Aws_kinesisanalyticsv2.NewCfnApplicationOutput(this, jsii.String("MyCfnApplicationOutput"), &cfnApplicationOutputProps{
	applicationName: jsii.String("applicationName"),
	output: &outputProperty{
		destinationSchema: &destinationSchemaProperty{
			recordFormatType: jsii.String("recordFormatType"),
		},

		// the properties below are optional
		kinesisFirehoseOutput: &kinesisFirehoseOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		kinesisStreamsOutput: &kinesisStreamsOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		lambdaOutput: &lambdaOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		name: jsii.String("name"),
	},
})

func NewCfnApplicationOutput

func NewCfnApplicationOutput(scope awscdk.Construct, id *string, props *CfnApplicationOutputProps) CfnApplicationOutput

Create a new `AWS::KinesisAnalyticsV2::ApplicationOutput`.

type CfnApplicationOutputProps

type CfnApplicationOutputProps struct {
	// The name of the application.
	ApplicationName *string `field:"required" json:"applicationName" yaml:"applicationName"`
	// 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.
	Output interface{} `field:"required" json:"output" yaml:"output"`
}

Properties for defining a `CfnApplicationOutput`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationOutputProps := &cfnApplicationOutputProps{
	applicationName: jsii.String("applicationName"),
	output: &outputProperty{
		destinationSchema: &destinationSchemaProperty{
			recordFormatType: jsii.String("recordFormatType"),
		},

		// the properties below are optional
		kinesisFirehoseOutput: &kinesisFirehoseOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		kinesisStreamsOutput: &kinesisStreamsOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		lambdaOutput: &lambdaOutputProperty{
			resourceArn: jsii.String("resourceArn"),
		},
		name: jsii.String("name"),
	},
}

type CfnApplicationOutput_DestinationSchemaProperty

type CfnApplicationOutput_DestinationSchemaProperty struct {
	// Specifies the format of the records on the output stream.
	RecordFormatType *string `field:"optional" json:"recordFormatType" yaml:"recordFormatType"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

destinationSchemaProperty := &destinationSchemaProperty{
	recordFormatType: jsii.String("recordFormatType"),
}

type CfnApplicationOutput_KinesisFirehoseOutputProperty

type CfnApplicationOutput_KinesisFirehoseOutputProperty struct {
	// The ARN of the destination delivery stream to write to.
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

kinesisFirehoseOutputProperty := &kinesisFirehoseOutputProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplicationOutput_KinesisStreamsOutputProperty

type CfnApplicationOutput_KinesisStreamsOutputProperty struct {
	// The ARN of the destination Kinesis data stream to write to.
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

kinesisStreamsOutputProperty := &kinesisStreamsOutputProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplicationOutput_LambdaOutputProperty

type CfnApplicationOutput_LambdaOutputProperty struct {
	// 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)
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

lambdaOutputProperty := &lambdaOutputProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplicationOutput_OutputProperty

type CfnApplicationOutput_OutputProperty struct {
	// Describes the data format when records are written to the destination.
	DestinationSchema interface{} `field:"required" json:"destinationSchema" yaml:"destinationSchema"`
	// Identifies a Kinesis Data Firehose delivery stream as the destination.
	KinesisFirehoseOutput interface{} `field:"optional" json:"kinesisFirehoseOutput" yaml:"kinesisFirehoseOutput"`
	// Identifies a Kinesis data stream as the destination.
	KinesisStreamsOutput interface{} `field:"optional" json:"kinesisStreamsOutput" yaml:"kinesisStreamsOutput"`
	// Identifies an Amazon Lambda function as the destination.
	LambdaOutput interface{} `field:"optional" json:"lambdaOutput" yaml:"lambdaOutput"`
	// The name of the in-application stream.
	Name *string `field:"optional" json:"name" yaml:"name"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

outputProperty := &outputProperty{
	destinationSchema: &destinationSchemaProperty{
		recordFormatType: jsii.String("recordFormatType"),
	},

	// the properties below are optional
	kinesisFirehoseOutput: &kinesisFirehoseOutputProperty{
		resourceArn: jsii.String("resourceArn"),
	},
	kinesisStreamsOutput: &kinesisStreamsOutputProperty{
		resourceArn: jsii.String("resourceArn"),
	},
	lambdaOutput: &lambdaOutputProperty{
		resourceArn: jsii.String("resourceArn"),
	},
	name: jsii.String("name"),
}

type CfnApplicationProps

type CfnApplicationProps struct {
	// The runtime environment for the application.
	RuntimeEnvironment *string `field:"required" json:"runtimeEnvironment" yaml:"runtimeEnvironment"`
	// Specifies the IAM role that the application uses to access external resources.
	ServiceExecutionRole *string `field:"required" json:"serviceExecutionRole" yaml:"serviceExecutionRole"`
	// Use this parameter to configure the application.
	ApplicationConfiguration interface{} `field:"optional" json:"applicationConfiguration" yaml:"applicationConfiguration"`
	// The description of the application.
	ApplicationDescription *string `field:"optional" json:"applicationDescription" yaml:"applicationDescription"`
	// `AWS::KinesisAnalyticsV2::Application.ApplicationMaintenanceConfiguration`.
	ApplicationMaintenanceConfiguration interface{} `field:"optional" json:"applicationMaintenanceConfiguration" yaml:"applicationMaintenanceConfiguration"`
	// 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.
	ApplicationMode *string `field:"optional" json:"applicationMode" yaml:"applicationMode"`
	// The name of the application.
	ApplicationName *string `field:"optional" json:"applicationName" yaml:"applicationName"`
	// `AWS::KinesisAnalyticsV2::Application.RunConfiguration`.
	RunConfiguration interface{} `field:"optional" json:"runConfiguration" yaml:"runConfiguration"`
	// 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.
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnApplication`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationProps := &cfnApplicationProps{
	runtimeEnvironment: jsii.String("runtimeEnvironment"),
	serviceExecutionRole: jsii.String("serviceExecutionRole"),

	// the properties below are optional
	applicationConfiguration: &applicationConfigurationProperty{
		applicationCodeConfiguration: &applicationCodeConfigurationProperty{
			codeContent: &codeContentProperty{
				s3ContentLocation: &s3ContentLocationProperty{
					bucketArn: jsii.String("bucketArn"),
					fileKey: jsii.String("fileKey"),

					// the properties below are optional
					objectVersion: jsii.String("objectVersion"),
				},
				textContent: jsii.String("textContent"),
				zipFileContent: jsii.String("zipFileContent"),
			},
			codeContentType: jsii.String("codeContentType"),
		},
		applicationSnapshotConfiguration: &applicationSnapshotConfigurationProperty{
			snapshotsEnabled: jsii.Boolean(false),
		},
		environmentProperties: &environmentPropertiesProperty{
			propertyGroups: []interface{}{
				&propertyGroupProperty{
					propertyGroupId: jsii.String("propertyGroupId"),
					propertyMap: map[string]*string{
						"propertyMapKey": jsii.String("propertyMap"),
					},
				},
			},
		},
		flinkApplicationConfiguration: &flinkApplicationConfigurationProperty{
			checkpointConfiguration: &checkpointConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				checkpointingEnabled: jsii.Boolean(false),
				checkpointInterval: jsii.Number(123),
				minPauseBetweenCheckpoints: jsii.Number(123),
			},
			monitoringConfiguration: &monitoringConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				logLevel: jsii.String("logLevel"),
				metricsLevel: jsii.String("metricsLevel"),
			},
			parallelismConfiguration: &parallelismConfigurationProperty{
				configurationType: jsii.String("configurationType"),

				// the properties below are optional
				autoScalingEnabled: jsii.Boolean(false),
				parallelism: jsii.Number(123),
				parallelismPerKpu: jsii.Number(123),
			},
		},
		sqlApplicationConfiguration: &sqlApplicationConfigurationProperty{
			inputs: []interface{}{
				&inputProperty{
					inputSchema: &inputSchemaProperty{
						recordColumns: []interface{}{
							&recordColumnProperty{
								name: jsii.String("name"),
								sqlType: jsii.String("sqlType"),

								// the properties below are optional
								mapping: jsii.String("mapping"),
							},
						},
						recordFormat: &recordFormatProperty{
							recordFormatType: jsii.String("recordFormatType"),

							// the properties below are optional
							mappingParameters: &mappingParametersProperty{
								csvMappingParameters: &cSVMappingParametersProperty{
									recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
									recordRowDelimiter: jsii.String("recordRowDelimiter"),
								},
								jsonMappingParameters: &jSONMappingParametersProperty{
									recordRowPath: jsii.String("recordRowPath"),
								},
							},
						},

						// the properties below are optional
						recordEncoding: jsii.String("recordEncoding"),
					},
					namePrefix: jsii.String("namePrefix"),

					// the properties below are optional
					inputParallelism: &inputParallelismProperty{
						count: jsii.Number(123),
					},
					inputProcessingConfiguration: &inputProcessingConfigurationProperty{
						inputLambdaProcessor: &inputLambdaProcessorProperty{
							resourceArn: jsii.String("resourceArn"),
						},
					},
					kinesisFirehoseInput: &kinesisFirehoseInputProperty{
						resourceArn: jsii.String("resourceArn"),
					},
					kinesisStreamsInput: &kinesisStreamsInputProperty{
						resourceArn: jsii.String("resourceArn"),
					},
				},
			},
		},
		vpcConfigurations: []interface{}{
			&vpcConfigurationProperty{
				securityGroupIds: []*string{
					jsii.String("securityGroupIds"),
				},
				subnetIds: []*string{
					jsii.String("subnetIds"),
				},
			},
		},
		zeppelinApplicationConfiguration: &zeppelinApplicationConfigurationProperty{
			catalogConfiguration: &catalogConfigurationProperty{
				glueDataCatalogConfiguration: &glueDataCatalogConfigurationProperty{
					databaseArn: jsii.String("databaseArn"),
				},
			},
			customArtifactsConfiguration: []interface{}{
				&customArtifactConfigurationProperty{
					artifactType: jsii.String("artifactType"),

					// the properties below are optional
					mavenReference: &mavenReferenceProperty{
						artifactId: jsii.String("artifactId"),
						groupId: jsii.String("groupId"),
						version: jsii.String("version"),
					},
					s3ContentLocation: &s3ContentLocationProperty{
						bucketArn: jsii.String("bucketArn"),
						fileKey: jsii.String("fileKey"),

						// the properties below are optional
						objectVersion: jsii.String("objectVersion"),
					},
				},
			},
			deployAsApplicationConfiguration: &deployAsApplicationConfigurationProperty{
				s3ContentLocation: &s3ContentBaseLocationProperty{
					bucketArn: jsii.String("bucketArn"),

					// the properties below are optional
					basePath: jsii.String("basePath"),
				},
			},
			monitoringConfiguration: &zeppelinMonitoringConfigurationProperty{
				logLevel: jsii.String("logLevel"),
			},
		},
	},
	applicationDescription: jsii.String("applicationDescription"),
	applicationMaintenanceConfiguration: &applicationMaintenanceConfigurationProperty{
		applicationMaintenanceWindowStartTime: jsii.String("applicationMaintenanceWindowStartTime"),
	},
	applicationMode: jsii.String("applicationMode"),
	applicationName: jsii.String("applicationName"),
	runConfiguration: &runConfigurationProperty{
		applicationRestoreConfiguration: &applicationRestoreConfigurationProperty{
			applicationRestoreType: jsii.String("applicationRestoreType"),

			// the properties below are optional
			snapshotName: jsii.String("snapshotName"),
		},
		flinkRunConfiguration: &flinkRunConfigurationProperty{
			allowNonRestoredState: jsii.Boolean(false),
		},
	},
	tags: []cfnTag{
		&cfnTag{
			key: jsii.String("key"),
			value: jsii.String("value"),
		},
	},
}

type CfnApplicationReferenceDataSource

type CfnApplicationReferenceDataSource interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The name of the application.
	ApplicationName() *string
	SetApplicationName(val *string)
	// Options for this resource, such as condition, update policy etc.
	// Experimental.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	// Experimental.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	// Experimental.
	CreationStack() *[]*string
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	// Experimental.
	LogicalId() *string
	// The construct tree node associated with this construct.
	// Experimental.
	Node() awscdk.ConstructNode
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	// Experimental.
	Ref() *string
	// 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.
	ReferenceDataSource() interface{}
	SetReferenceDataSource(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	// Experimental.
	Stack() awscdk.Stack
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	// Experimental.
	UpdatedProperites() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	// Experimental.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	// Experimental.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	// Experimental.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	// Experimental.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	// Experimental.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	// Experimental.
	GetAtt(attributeName *string) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	// Experimental.
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	// Experimental.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	// Experimental.
	ShouldSynthesize() *bool
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	// Experimental.
	Synthesize(session awscdk.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	// Experimental.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	// Experimental.
	Validate() *[]*string
	// Experimental.
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource`.

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationReferenceDataSource := awscdk.Aws_kinesisanalyticsv2.NewCfnApplicationReferenceDataSource(this, jsii.String("MyCfnApplicationReferenceDataSource"), &cfnApplicationReferenceDataSourceProps{
	applicationName: jsii.String("applicationName"),
	referenceDataSource: &referenceDataSourceProperty{
		referenceSchema: &referenceSchemaProperty{
			recordColumns: []interface{}{
				&recordColumnProperty{
					name: jsii.String("name"),
					sqlType: jsii.String("sqlType"),

					// the properties below are optional
					mapping: jsii.String("mapping"),
				},
			},
			recordFormat: &recordFormatProperty{
				recordFormatType: jsii.String("recordFormatType"),

				// the properties below are optional
				mappingParameters: &mappingParametersProperty{
					csvMappingParameters: &cSVMappingParametersProperty{
						recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
						recordRowDelimiter: jsii.String("recordRowDelimiter"),
					},
					jsonMappingParameters: &jSONMappingParametersProperty{
						recordRowPath: jsii.String("recordRowPath"),
					},
				},
			},

			// the properties below are optional
			recordEncoding: jsii.String("recordEncoding"),
		},

		// the properties below are optional
		s3ReferenceDataSource: &s3ReferenceDataSourceProperty{
			bucketArn: jsii.String("bucketArn"),
			fileKey: jsii.String("fileKey"),
		},
		tableName: jsii.String("tableName"),
	},
})

func NewCfnApplicationReferenceDataSource

func NewCfnApplicationReferenceDataSource(scope awscdk.Construct, id *string, props *CfnApplicationReferenceDataSourceProps) CfnApplicationReferenceDataSource

Create a new `AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource`.

type CfnApplicationReferenceDataSourceProps

type CfnApplicationReferenceDataSourceProps struct {
	// The name of the application.
	ApplicationName *string `field:"required" json:"applicationName" yaml:"applicationName"`
	// 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.
	ReferenceDataSource interface{} `field:"required" json:"referenceDataSource" yaml:"referenceDataSource"`
}

Properties for defining a `CfnApplicationReferenceDataSource`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cfnApplicationReferenceDataSourceProps := &cfnApplicationReferenceDataSourceProps{
	applicationName: jsii.String("applicationName"),
	referenceDataSource: &referenceDataSourceProperty{
		referenceSchema: &referenceSchemaProperty{
			recordColumns: []interface{}{
				&recordColumnProperty{
					name: jsii.String("name"),
					sqlType: jsii.String("sqlType"),

					// the properties below are optional
					mapping: jsii.String("mapping"),
				},
			},
			recordFormat: &recordFormatProperty{
				recordFormatType: jsii.String("recordFormatType"),

				// the properties below are optional
				mappingParameters: &mappingParametersProperty{
					csvMappingParameters: &cSVMappingParametersProperty{
						recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
						recordRowDelimiter: jsii.String("recordRowDelimiter"),
					},
					jsonMappingParameters: &jSONMappingParametersProperty{
						recordRowPath: jsii.String("recordRowPath"),
					},
				},
			},

			// the properties below are optional
			recordEncoding: jsii.String("recordEncoding"),
		},

		// the properties below are optional
		s3ReferenceDataSource: &s3ReferenceDataSourceProperty{
			bucketArn: jsii.String("bucketArn"),
			fileKey: jsii.String("fileKey"),
		},
		tableName: jsii.String("tableName"),
	},
}

type CfnApplicationReferenceDataSource_CSVMappingParametersProperty

type CfnApplicationReferenceDataSource_CSVMappingParametersProperty struct {
	// The column delimiter.
	//
	// For example, in a CSV format, a comma (",") is the typical column delimiter.
	RecordColumnDelimiter *string `field:"required" json:"recordColumnDelimiter" yaml:"recordColumnDelimiter"`
	// The row delimiter.
	//
	// For example, in a CSV format, *'\n'* is the typical row delimiter.
	RecordRowDelimiter *string `field:"required" json:"recordRowDelimiter" yaml:"recordRowDelimiter"`
}

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 *'\n'* as the row delimiter and a comma (",") as the column delimiter:

`"name1", "address1"`

`"name2", "address2"`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cSVMappingParametersProperty := &cSVMappingParametersProperty{
	recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
	recordRowDelimiter: jsii.String("recordRowDelimiter"),
}

type CfnApplicationReferenceDataSource_JSONMappingParametersProperty

type CfnApplicationReferenceDataSource_JSONMappingParametersProperty struct {
	// The path to the top-level parent that contains the records.
	RecordRowPath *string `field:"required" json:"recordRowPath" yaml:"recordRowPath"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

jSONMappingParametersProperty := &jSONMappingParametersProperty{
	recordRowPath: jsii.String("recordRowPath"),
}

type CfnApplicationReferenceDataSource_MappingParametersProperty

type CfnApplicationReferenceDataSource_MappingParametersProperty struct {
	// Provides additional mapping information when the record format uses delimiters (for example, CSV).
	CsvMappingParameters interface{} `field:"optional" json:"csvMappingParameters" yaml:"csvMappingParameters"`
	// Provides additional mapping information when JSON is the record format on the streaming source.
	JsonMappingParameters interface{} `field:"optional" json:"jsonMappingParameters" yaml:"jsonMappingParameters"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mappingParametersProperty := &mappingParametersProperty{
	csvMappingParameters: &cSVMappingParametersProperty{
		recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
		recordRowDelimiter: jsii.String("recordRowDelimiter"),
	},
	jsonMappingParameters: &jSONMappingParametersProperty{
		recordRowPath: jsii.String("recordRowPath"),
	},
}

type CfnApplicationReferenceDataSource_RecordColumnProperty

type CfnApplicationReferenceDataSource_RecordColumnProperty struct {
	// The name of the column that is created in the in-application input stream or reference table.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of column created in the in-application input stream or reference table.
	SqlType *string `field:"required" json:"sqlType" yaml:"sqlType"`
	// A reference to the data element in the streaming input or the reference data source.
	Mapping *string `field:"optional" json:"mapping" yaml:"mapping"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

recordColumnProperty := &recordColumnProperty{
	name: jsii.String("name"),
	sqlType: jsii.String("sqlType"),

	// the properties below are optional
	mapping: jsii.String("mapping"),
}

type CfnApplicationReferenceDataSource_RecordFormatProperty

type CfnApplicationReferenceDataSource_RecordFormatProperty struct {
	// The type of record format.
	RecordFormatType *string `field:"required" json:"recordFormatType" yaml:"recordFormatType"`
	// 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.
	MappingParameters interface{} `field:"optional" json:"mappingParameters" yaml:"mappingParameters"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

recordFormatProperty := &recordFormatProperty{
	recordFormatType: jsii.String("recordFormatType"),

	// the properties below are optional
	mappingParameters: &mappingParametersProperty{
		csvMappingParameters: &cSVMappingParametersProperty{
			recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
			recordRowDelimiter: jsii.String("recordRowDelimiter"),
		},
		jsonMappingParameters: &jSONMappingParametersProperty{
			recordRowPath: jsii.String("recordRowPath"),
		},
	},
}

type CfnApplicationReferenceDataSource_ReferenceDataSourceProperty

type CfnApplicationReferenceDataSource_ReferenceDataSourceProperty struct {
	// 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.
	ReferenceSchema interface{} `field:"required" json:"referenceSchema" yaml:"referenceSchema"`
	// 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/kinesisanalytics/latest/apiv2/API_UpdateApplication.html) operation to trigger reloading of data into your application.
	S3ReferenceDataSource interface{} `field:"optional" json:"s3ReferenceDataSource" yaml:"s3ReferenceDataSource"`
	// The name of the in-application table to create.
	TableName *string `field:"optional" json:"tableName" yaml:"tableName"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

referenceDataSourceProperty := &referenceDataSourceProperty{
	referenceSchema: &referenceSchemaProperty{
		recordColumns: []interface{}{
			&recordColumnProperty{
				name: jsii.String("name"),
				sqlType: jsii.String("sqlType"),

				// the properties below are optional
				mapping: jsii.String("mapping"),
			},
		},
		recordFormat: &recordFormatProperty{
			recordFormatType: jsii.String("recordFormatType"),

			// the properties below are optional
			mappingParameters: &mappingParametersProperty{
				csvMappingParameters: &cSVMappingParametersProperty{
					recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
					recordRowDelimiter: jsii.String("recordRowDelimiter"),
				},
				jsonMappingParameters: &jSONMappingParametersProperty{
					recordRowPath: jsii.String("recordRowPath"),
				},
			},
		},

		// the properties below are optional
		recordEncoding: jsii.String("recordEncoding"),
	},

	// the properties below are optional
	s3ReferenceDataSource: &s3ReferenceDataSourceProperty{
		bucketArn: jsii.String("bucketArn"),
		fileKey: jsii.String("fileKey"),
	},
	tableName: jsii.String("tableName"),
}

type CfnApplicationReferenceDataSource_ReferenceSchemaProperty

type CfnApplicationReferenceDataSource_ReferenceSchemaProperty struct {
	// A list of `RecordColumn` objects.
	RecordColumns interface{} `field:"required" json:"recordColumns" yaml:"recordColumns"`
	// Specifies the format of the records on the streaming source.
	RecordFormat interface{} `field:"required" json:"recordFormat" yaml:"recordFormat"`
	// Specifies the encoding of the records in the streaming source.
	//
	// For example, UTF-8.
	RecordEncoding *string `field:"optional" json:"recordEncoding" yaml:"recordEncoding"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

referenceSchemaProperty := &referenceSchemaProperty{
	recordColumns: []interface{}{
		&recordColumnProperty{
			name: jsii.String("name"),
			sqlType: jsii.String("sqlType"),

			// the properties below are optional
			mapping: jsii.String("mapping"),
		},
	},
	recordFormat: &recordFormatProperty{
		recordFormatType: jsii.String("recordFormatType"),

		// the properties below are optional
		mappingParameters: &mappingParametersProperty{
			csvMappingParameters: &cSVMappingParametersProperty{
				recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
				recordRowDelimiter: jsii.String("recordRowDelimiter"),
			},
			jsonMappingParameters: &jSONMappingParametersProperty{
				recordRowPath: jsii.String("recordRowPath"),
			},
		},
	},

	// the properties below are optional
	recordEncoding: jsii.String("recordEncoding"),
}

type CfnApplicationReferenceDataSource_S3ReferenceDataSourceProperty

type CfnApplicationReferenceDataSource_S3ReferenceDataSourceProperty struct {
	// The Amazon Resource Name (ARN) of the S3 bucket.
	BucketArn *string `field:"required" json:"bucketArn" yaml:"bucketArn"`
	// The object key name containing the reference data.
	FileKey *string `field:"required" json:"fileKey" yaml:"fileKey"`
}

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/kinesisanalytics/latest/apiv2/API_UpdateApplication.html) operation to trigger reloading of data into your application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3ReferenceDataSourceProperty := &s3ReferenceDataSourceProperty{
	bucketArn: jsii.String("bucketArn"),
	fileKey: jsii.String("fileKey"),
}

type CfnApplication_ApplicationCodeConfigurationProperty

type CfnApplication_ApplicationCodeConfigurationProperty struct {
	// The location and type of the application code.
	CodeContent interface{} `field:"required" json:"codeContent" yaml:"codeContent"`
	// Specifies whether the code content is in text or zip format.
	CodeContentType *string `field:"required" json:"codeContentType" yaml:"codeContentType"`
}

Describes code configuration for an application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

applicationCodeConfigurationProperty := &applicationCodeConfigurationProperty{
	codeContent: &codeContentProperty{
		s3ContentLocation: &s3ContentLocationProperty{
			bucketArn: jsii.String("bucketArn"),
			fileKey: jsii.String("fileKey"),

			// the properties below are optional
			objectVersion: jsii.String("objectVersion"),
		},
		textContent: jsii.String("textContent"),
		zipFileContent: jsii.String("zipFileContent"),
	},
	codeContentType: jsii.String("codeContentType"),
}

type CfnApplication_ApplicationConfigurationProperty

type CfnApplication_ApplicationConfigurationProperty struct {
	// The code location and type parameters for a Flink-based Kinesis Data Analytics application.
	ApplicationCodeConfiguration interface{} `field:"optional" json:"applicationCodeConfiguration" yaml:"applicationCodeConfiguration"`
	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.
	ApplicationSnapshotConfiguration interface{} `field:"optional" json:"applicationSnapshotConfiguration" yaml:"applicationSnapshotConfiguration"`
	// Describes execution properties for a Flink-based Kinesis Data Analytics application.
	EnvironmentProperties interface{} `field:"optional" json:"environmentProperties" yaml:"environmentProperties"`
	// The creation and update parameters for a Flink-based Kinesis Data Analytics application.
	FlinkApplicationConfiguration interface{} `field:"optional" json:"flinkApplicationConfiguration" yaml:"flinkApplicationConfiguration"`
	// The creation and update parameters for a SQL-based Kinesis Data Analytics application.
	SqlApplicationConfiguration interface{} `field:"optional" json:"sqlApplicationConfiguration" yaml:"sqlApplicationConfiguration"`
	// `CfnApplication.ApplicationConfigurationProperty.VpcConfigurations`.
	VpcConfigurations interface{} `field:"optional" json:"vpcConfigurations" yaml:"vpcConfigurations"`
	// The configuration parameters for a Kinesis Data Analytics Studio notebook.
	ZeppelinApplicationConfiguration interface{} `field:"optional" json:"zeppelinApplicationConfiguration" yaml:"zeppelinApplicationConfiguration"`
}

Specifies the creation parameters for a Kinesis Data Analytics application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

applicationConfigurationProperty := &applicationConfigurationProperty{
	applicationCodeConfiguration: &applicationCodeConfigurationProperty{
		codeContent: &codeContentProperty{
			s3ContentLocation: &s3ContentLocationProperty{
				bucketArn: jsii.String("bucketArn"),
				fileKey: jsii.String("fileKey"),

				// the properties below are optional
				objectVersion: jsii.String("objectVersion"),
			},
			textContent: jsii.String("textContent"),
			zipFileContent: jsii.String("zipFileContent"),
		},
		codeContentType: jsii.String("codeContentType"),
	},
	applicationSnapshotConfiguration: &applicationSnapshotConfigurationProperty{
		snapshotsEnabled: jsii.Boolean(false),
	},
	environmentProperties: &environmentPropertiesProperty{
		propertyGroups: []interface{}{
			&propertyGroupProperty{
				propertyGroupId: jsii.String("propertyGroupId"),
				propertyMap: map[string]*string{
					"propertyMapKey": jsii.String("propertyMap"),
				},
			},
		},
	},
	flinkApplicationConfiguration: &flinkApplicationConfigurationProperty{
		checkpointConfiguration: &checkpointConfigurationProperty{
			configurationType: jsii.String("configurationType"),

			// the properties below are optional
			checkpointingEnabled: jsii.Boolean(false),
			checkpointInterval: jsii.Number(123),
			minPauseBetweenCheckpoints: jsii.Number(123),
		},
		monitoringConfiguration: &monitoringConfigurationProperty{
			configurationType: jsii.String("configurationType"),

			// the properties below are optional
			logLevel: jsii.String("logLevel"),
			metricsLevel: jsii.String("metricsLevel"),
		},
		parallelismConfiguration: &parallelismConfigurationProperty{
			configurationType: jsii.String("configurationType"),

			// the properties below are optional
			autoScalingEnabled: jsii.Boolean(false),
			parallelism: jsii.Number(123),
			parallelismPerKpu: jsii.Number(123),
		},
	},
	sqlApplicationConfiguration: &sqlApplicationConfigurationProperty{
		inputs: []interface{}{
			&inputProperty{
				inputSchema: &inputSchemaProperty{
					recordColumns: []interface{}{
						&recordColumnProperty{
							name: jsii.String("name"),
							sqlType: jsii.String("sqlType"),

							// the properties below are optional
							mapping: jsii.String("mapping"),
						},
					},
					recordFormat: &recordFormatProperty{
						recordFormatType: jsii.String("recordFormatType"),

						// the properties below are optional
						mappingParameters: &mappingParametersProperty{
							csvMappingParameters: &cSVMappingParametersProperty{
								recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
								recordRowDelimiter: jsii.String("recordRowDelimiter"),
							},
							jsonMappingParameters: &jSONMappingParametersProperty{
								recordRowPath: jsii.String("recordRowPath"),
							},
						},
					},

					// the properties below are optional
					recordEncoding: jsii.String("recordEncoding"),
				},
				namePrefix: jsii.String("namePrefix"),

				// the properties below are optional
				inputParallelism: &inputParallelismProperty{
					count: jsii.Number(123),
				},
				inputProcessingConfiguration: &inputProcessingConfigurationProperty{
					inputLambdaProcessor: &inputLambdaProcessorProperty{
						resourceArn: jsii.String("resourceArn"),
					},
				},
				kinesisFirehoseInput: &kinesisFirehoseInputProperty{
					resourceArn: jsii.String("resourceArn"),
				},
				kinesisStreamsInput: &kinesisStreamsInputProperty{
					resourceArn: jsii.String("resourceArn"),
				},
			},
		},
	},
	vpcConfigurations: []interface{}{
		&vpcConfigurationProperty{
			securityGroupIds: []*string{
				jsii.String("securityGroupIds"),
			},
			subnetIds: []*string{
				jsii.String("subnetIds"),
			},
		},
	},
	zeppelinApplicationConfiguration: &zeppelinApplicationConfigurationProperty{
		catalogConfiguration: &catalogConfigurationProperty{
			glueDataCatalogConfiguration: &glueDataCatalogConfigurationProperty{
				databaseArn: jsii.String("databaseArn"),
			},
		},
		customArtifactsConfiguration: []interface{}{
			&customArtifactConfigurationProperty{
				artifactType: jsii.String("artifactType"),

				// the properties below are optional
				mavenReference: &mavenReferenceProperty{
					artifactId: jsii.String("artifactId"),
					groupId: jsii.String("groupId"),
					version: jsii.String("version"),
				},
				s3ContentLocation: &s3ContentLocationProperty{
					bucketArn: jsii.String("bucketArn"),
					fileKey: jsii.String("fileKey"),

					// the properties below are optional
					objectVersion: jsii.String("objectVersion"),
				},
			},
		},
		deployAsApplicationConfiguration: &deployAsApplicationConfigurationProperty{
			s3ContentLocation: &s3ContentBaseLocationProperty{
				bucketArn: jsii.String("bucketArn"),

				// the properties below are optional
				basePath: jsii.String("basePath"),
			},
		},
		monitoringConfiguration: &zeppelinMonitoringConfigurationProperty{
			logLevel: jsii.String("logLevel"),
		},
	},
}

type CfnApplication_ApplicationMaintenanceConfigurationProperty

type CfnApplication_ApplicationMaintenanceConfigurationProperty struct {
	// `CfnApplication.ApplicationMaintenanceConfigurationProperty.ApplicationMaintenanceWindowStartTime`.
	ApplicationMaintenanceWindowStartTime *string `field:"required" json:"applicationMaintenanceWindowStartTime" yaml:"applicationMaintenanceWindowStartTime"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

applicationMaintenanceConfigurationProperty := &applicationMaintenanceConfigurationProperty{
	applicationMaintenanceWindowStartTime: jsii.String("applicationMaintenanceWindowStartTime"),
}

type CfnApplication_ApplicationRestoreConfigurationProperty

type CfnApplication_ApplicationRestoreConfigurationProperty struct {
	// `CfnApplication.ApplicationRestoreConfigurationProperty.ApplicationRestoreType`.
	ApplicationRestoreType *string `field:"required" json:"applicationRestoreType" yaml:"applicationRestoreType"`
	// `CfnApplication.ApplicationRestoreConfigurationProperty.SnapshotName`.
	SnapshotName *string `field:"optional" json:"snapshotName" yaml:"snapshotName"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

applicationRestoreConfigurationProperty := &applicationRestoreConfigurationProperty{
	applicationRestoreType: jsii.String("applicationRestoreType"),

	// the properties below are optional
	snapshotName: jsii.String("snapshotName"),
}

type CfnApplication_ApplicationSnapshotConfigurationProperty

type CfnApplication_ApplicationSnapshotConfigurationProperty struct {
	// Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.
	SnapshotsEnabled interface{} `field:"required" json:"snapshotsEnabled" yaml:"snapshotsEnabled"`
}

Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

applicationSnapshotConfigurationProperty := &applicationSnapshotConfigurationProperty{
	snapshotsEnabled: jsii.Boolean(false),
}

type CfnApplication_CSVMappingParametersProperty

type CfnApplication_CSVMappingParametersProperty struct {
	// The column delimiter.
	//
	// For example, in a CSV format, a comma (",") is the typical column delimiter.
	RecordColumnDelimiter *string `field:"required" json:"recordColumnDelimiter" yaml:"recordColumnDelimiter"`
	// The row delimiter.
	//
	// For example, in a CSV format, *'\n'* is the typical row delimiter.
	RecordRowDelimiter *string `field:"required" json:"recordRowDelimiter" yaml:"recordRowDelimiter"`
}

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 *'\n'* as the row delimiter and a comma (",") as the column delimiter:

`"name1", "address1"`

`"name2", "address2"`.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

cSVMappingParametersProperty := &cSVMappingParametersProperty{
	recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
	recordRowDelimiter: jsii.String("recordRowDelimiter"),
}

type CfnApplication_CatalogConfigurationProperty

type CfnApplication_CatalogConfigurationProperty struct {
	// 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.
	GlueDataCatalogConfiguration interface{} `field:"optional" json:"glueDataCatalogConfiguration" yaml:"glueDataCatalogConfiguration"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

catalogConfigurationProperty := &catalogConfigurationProperty{
	glueDataCatalogConfiguration: &glueDataCatalogConfigurationProperty{
		databaseArn: jsii.String("databaseArn"),
	},
}

type CfnApplication_CheckpointConfigurationProperty

type CfnApplication_CheckpointConfigurationProperty struct {
	// Describes whether the application uses Kinesis Data Analytics' 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.
	ConfigurationType *string `field:"required" json:"configurationType" yaml:"configurationType"`
	// Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics 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.
	CheckpointingEnabled interface{} `field:"optional" json:"checkpointingEnabled" yaml:"checkpointingEnabled"`
	// 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.
	CheckpointInterval *float64 `field:"optional" json:"checkpointInterval" yaml:"checkpointInterval"`
	// 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://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/state/large_state_tuning.html#tuning-checkpointing) in the [Apache Flink Documentation](https://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/) .
	//
	// > 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.
	MinPauseBetweenCheckpoints *float64 `field:"optional" json:"minPauseBetweenCheckpoints" yaml:"minPauseBetweenCheckpoints"`
}

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://docs.aws.amazon.com/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://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/) .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

checkpointConfigurationProperty := &checkpointConfigurationProperty{
	configurationType: jsii.String("configurationType"),

	// the properties below are optional
	checkpointingEnabled: jsii.Boolean(false),
	checkpointInterval: jsii.Number(123),
	minPauseBetweenCheckpoints: jsii.Number(123),
}

type CfnApplication_CodeContentProperty

type CfnApplication_CodeContentProperty struct {
	// Information about the Amazon S3 bucket that contains the application code.
	S3ContentLocation interface{} `field:"optional" json:"s3ContentLocation" yaml:"s3ContentLocation"`
	// The text-format code for a Flink-based Kinesis Data Analytics application.
	TextContent *string `field:"optional" json:"textContent" yaml:"textContent"`
	// The zip-format code for a Flink-based Kinesis Data Analytics application.
	ZipFileContent *string `field:"optional" json:"zipFileContent" yaml:"zipFileContent"`
}

Specifies either the application code, or the location of the application code, for a Flink-based Kinesis Data Analytics application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

codeContentProperty := &codeContentProperty{
	s3ContentLocation: &s3ContentLocationProperty{
		bucketArn: jsii.String("bucketArn"),
		fileKey: jsii.String("fileKey"),

		// the properties below are optional
		objectVersion: jsii.String("objectVersion"),
	},
	textContent: jsii.String("textContent"),
	zipFileContent: jsii.String("zipFileContent"),
}

type CfnApplication_CustomArtifactConfigurationProperty

type CfnApplication_CustomArtifactConfigurationProperty struct {
	// 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.
	ArtifactType *string `field:"required" json:"artifactType" yaml:"artifactType"`
	// The parameters required to fully specify a Maven reference.
	MavenReference interface{} `field:"optional" json:"mavenReference" yaml:"mavenReference"`
	// The location of the custom artifacts.
	S3ContentLocation interface{} `field:"optional" json:"s3ContentLocation" yaml:"s3ContentLocation"`
}

The configuration of connectors and user-defined functions.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

customArtifactConfigurationProperty := &customArtifactConfigurationProperty{
	artifactType: jsii.String("artifactType"),

	// the properties below are optional
	mavenReference: &mavenReferenceProperty{
		artifactId: jsii.String("artifactId"),
		groupId: jsii.String("groupId"),
		version: jsii.String("version"),
	},
	s3ContentLocation: &s3ContentLocationProperty{
		bucketArn: jsii.String("bucketArn"),
		fileKey: jsii.String("fileKey"),

		// the properties below are optional
		objectVersion: jsii.String("objectVersion"),
	},
}

type CfnApplication_DeployAsApplicationConfigurationProperty

type CfnApplication_DeployAsApplicationConfigurationProperty struct {
	// 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.
	S3ContentLocation interface{} `field:"required" json:"s3ContentLocation" yaml:"s3ContentLocation"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

deployAsApplicationConfigurationProperty := &deployAsApplicationConfigurationProperty{
	s3ContentLocation: &s3ContentBaseLocationProperty{
		bucketArn: jsii.String("bucketArn"),

		// the properties below are optional
		basePath: jsii.String("basePath"),
	},
}

type CfnApplication_EnvironmentPropertiesProperty

type CfnApplication_EnvironmentPropertiesProperty struct {
	// Describes the execution property groups.
	PropertyGroups interface{} `field:"optional" json:"propertyGroups" yaml:"propertyGroups"`
}

Describes execution properties for a Flink-based Kinesis Data Analytics application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

environmentPropertiesProperty := &environmentPropertiesProperty{
	propertyGroups: []interface{}{
		&propertyGroupProperty{
			propertyGroupId: jsii.String("propertyGroupId"),
			propertyMap: map[string]*string{
				"propertyMapKey": jsii.String("propertyMap"),
			},
		},
	},
}

type CfnApplication_FlinkApplicationConfigurationProperty

type CfnApplication_FlinkApplicationConfigurationProperty struct {
	// 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://docs.aws.amazon.com/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://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/) .
	CheckpointConfiguration interface{} `field:"optional" json:"checkpointConfiguration" yaml:"checkpointConfiguration"`
	// Describes configuration parameters for Amazon CloudWatch logging for an application.
	MonitoringConfiguration interface{} `field:"optional" json:"monitoringConfiguration" yaml:"monitoringConfiguration"`
	// Describes parameters for how an application executes multiple tasks simultaneously.
	ParallelismConfiguration interface{} `field:"optional" json:"parallelismConfiguration" yaml:"parallelismConfiguration"`
}

Describes configuration parameters for a Flink-based Kinesis Data Analytics application or a Studio notebook.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

flinkApplicationConfigurationProperty := &flinkApplicationConfigurationProperty{
	checkpointConfiguration: &checkpointConfigurationProperty{
		configurationType: jsii.String("configurationType"),

		// the properties below are optional
		checkpointingEnabled: jsii.Boolean(false),
		checkpointInterval: jsii.Number(123),
		minPauseBetweenCheckpoints: jsii.Number(123),
	},
	monitoringConfiguration: &monitoringConfigurationProperty{
		configurationType: jsii.String("configurationType"),

		// the properties below are optional
		logLevel: jsii.String("logLevel"),
		metricsLevel: jsii.String("metricsLevel"),
	},
	parallelismConfiguration: &parallelismConfigurationProperty{
		configurationType: jsii.String("configurationType"),

		// the properties below are optional
		autoScalingEnabled: jsii.Boolean(false),
		parallelism: jsii.Number(123),
		parallelismPerKpu: jsii.Number(123),
	},
}

type CfnApplication_FlinkRunConfigurationProperty

type CfnApplication_FlinkRunConfigurationProperty struct {
	// `CfnApplication.FlinkRunConfigurationProperty.AllowNonRestoredState`.
	AllowNonRestoredState interface{} `field:"optional" json:"allowNonRestoredState" yaml:"allowNonRestoredState"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

flinkRunConfigurationProperty := &flinkRunConfigurationProperty{
	allowNonRestoredState: jsii.Boolean(false),
}

type CfnApplication_GlueDataCatalogConfigurationProperty

type CfnApplication_GlueDataCatalogConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the database.
	DatabaseArn *string `field:"optional" json:"databaseArn" yaml:"databaseArn"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

glueDataCatalogConfigurationProperty := &glueDataCatalogConfigurationProperty{
	databaseArn: jsii.String("databaseArn"),
}

type CfnApplication_InputLambdaProcessorProperty

type CfnApplication_InputLambdaProcessorProperty struct {
	// 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)
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputLambdaProcessorProperty := &inputLambdaProcessorProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplication_InputParallelismProperty

type CfnApplication_InputParallelismProperty struct {
	// The number of in-application streams to create.
	Count *float64 `field:"optional" json:"count" yaml:"count"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputParallelismProperty := &inputParallelismProperty{
	count: jsii.Number(123),
}

type CfnApplication_InputProcessingConfigurationProperty

type CfnApplication_InputProcessingConfigurationProperty struct {
	// The [InputLambdaProcessor](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_InputLambdaProcessor.html) that is used to preprocess the records in the stream before being processed by your application code.
	InputLambdaProcessor interface{} `field:"optional" json:"inputLambdaProcessor" yaml:"inputLambdaProcessor"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputProcessingConfigurationProperty := &inputProcessingConfigurationProperty{
	inputLambdaProcessor: &inputLambdaProcessorProperty{
		resourceArn: jsii.String("resourceArn"),
	},
}

type CfnApplication_InputProperty

type CfnApplication_InputProperty struct {
	// 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.
	InputSchema interface{} `field:"required" json:"inputSchema" yaml:"inputSchema"`
	// 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.
	NamePrefix *string `field:"required" json:"namePrefix" yaml:"namePrefix"`
	// Describes the number of in-application streams to create.
	InputParallelism interface{} `field:"optional" json:"inputParallelism" yaml:"inputParallelism"`
	// The [InputProcessingConfiguration](https://docs.aws.amazon.com/kinesisanalytics/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/kinesisanalytics/latest/apiv2/API_InputLambdaProcessor.html) .
	InputProcessingConfiguration interface{} `field:"optional" json:"inputProcessingConfiguration" yaml:"inputProcessingConfiguration"`
	// If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.
	KinesisFirehoseInput interface{} `field:"optional" json:"kinesisFirehoseInput" yaml:"kinesisFirehoseInput"`
	// If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).
	KinesisStreamsInput interface{} `field:"optional" json:"kinesisStreamsInput" yaml:"kinesisStreamsInput"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputProperty := &inputProperty{
	inputSchema: &inputSchemaProperty{
		recordColumns: []interface{}{
			&recordColumnProperty{
				name: jsii.String("name"),
				sqlType: jsii.String("sqlType"),

				// the properties below are optional
				mapping: jsii.String("mapping"),
			},
		},
		recordFormat: &recordFormatProperty{
			recordFormatType: jsii.String("recordFormatType"),

			// the properties below are optional
			mappingParameters: &mappingParametersProperty{
				csvMappingParameters: &cSVMappingParametersProperty{
					recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
					recordRowDelimiter: jsii.String("recordRowDelimiter"),
				},
				jsonMappingParameters: &jSONMappingParametersProperty{
					recordRowPath: jsii.String("recordRowPath"),
				},
			},
		},

		// the properties below are optional
		recordEncoding: jsii.String("recordEncoding"),
	},
	namePrefix: jsii.String("namePrefix"),

	// the properties below are optional
	inputParallelism: &inputParallelismProperty{
		count: jsii.Number(123),
	},
	inputProcessingConfiguration: &inputProcessingConfigurationProperty{
		inputLambdaProcessor: &inputLambdaProcessorProperty{
			resourceArn: jsii.String("resourceArn"),
		},
	},
	kinesisFirehoseInput: &kinesisFirehoseInputProperty{
		resourceArn: jsii.String("resourceArn"),
	},
	kinesisStreamsInput: &kinesisStreamsInputProperty{
		resourceArn: jsii.String("resourceArn"),
	},
}

type CfnApplication_InputSchemaProperty

type CfnApplication_InputSchemaProperty struct {
	// A list of `RecordColumn` objects.
	RecordColumns interface{} `field:"required" json:"recordColumns" yaml:"recordColumns"`
	// Specifies the format of the records on the streaming source.
	RecordFormat interface{} `field:"required" json:"recordFormat" yaml:"recordFormat"`
	// Specifies the encoding of the records in the streaming source.
	//
	// For example, UTF-8.
	RecordEncoding *string `field:"optional" json:"recordEncoding" yaml:"recordEncoding"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

inputSchemaProperty := &inputSchemaProperty{
	recordColumns: []interface{}{
		&recordColumnProperty{
			name: jsii.String("name"),
			sqlType: jsii.String("sqlType"),

			// the properties below are optional
			mapping: jsii.String("mapping"),
		},
	},
	recordFormat: &recordFormatProperty{
		recordFormatType: jsii.String("recordFormatType"),

		// the properties below are optional
		mappingParameters: &mappingParametersProperty{
			csvMappingParameters: &cSVMappingParametersProperty{
				recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
				recordRowDelimiter: jsii.String("recordRowDelimiter"),
			},
			jsonMappingParameters: &jSONMappingParametersProperty{
				recordRowPath: jsii.String("recordRowPath"),
			},
		},
	},

	// the properties below are optional
	recordEncoding: jsii.String("recordEncoding"),
}

type CfnApplication_JSONMappingParametersProperty

type CfnApplication_JSONMappingParametersProperty struct {
	// The path to the top-level parent that contains the records.
	RecordRowPath *string `field:"required" json:"recordRowPath" yaml:"recordRowPath"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

jSONMappingParametersProperty := &jSONMappingParametersProperty{
	recordRowPath: jsii.String("recordRowPath"),
}

type CfnApplication_KinesisFirehoseInputProperty

type CfnApplication_KinesisFirehoseInputProperty struct {
	// The Amazon Resource Name (ARN) of the delivery stream.
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

kinesisFirehoseInputProperty := &kinesisFirehoseInputProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplication_KinesisStreamsInputProperty

type CfnApplication_KinesisStreamsInputProperty struct {
	// The ARN of the input Kinesis data stream to read.
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
}

Identifies a Kinesis data stream as the streaming source.

You provide the stream's Amazon Resource Name (ARN).

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

kinesisStreamsInputProperty := &kinesisStreamsInputProperty{
	resourceArn: jsii.String("resourceArn"),
}

type CfnApplication_MappingParametersProperty

type CfnApplication_MappingParametersProperty struct {
	// Provides additional mapping information when the record format uses delimiters (for example, CSV).
	CsvMappingParameters interface{} `field:"optional" json:"csvMappingParameters" yaml:"csvMappingParameters"`
	// Provides additional mapping information when JSON is the record format on the streaming source.
	JsonMappingParameters interface{} `field:"optional" json:"jsonMappingParameters" yaml:"jsonMappingParameters"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mappingParametersProperty := &mappingParametersProperty{
	csvMappingParameters: &cSVMappingParametersProperty{
		recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
		recordRowDelimiter: jsii.String("recordRowDelimiter"),
	},
	jsonMappingParameters: &jSONMappingParametersProperty{
		recordRowPath: jsii.String("recordRowPath"),
	},
}

type CfnApplication_MavenReferenceProperty

type CfnApplication_MavenReferenceProperty struct {
	// The artifact ID of the Maven reference.
	ArtifactId *string `field:"required" json:"artifactId" yaml:"artifactId"`
	// The group ID of the Maven reference.
	GroupId *string `field:"required" json:"groupId" yaml:"groupId"`
	// The version of the Maven reference.
	Version *string `field:"required" json:"version" yaml:"version"`
}

The information required to specify a Maven reference.

You can use Maven references to specify dependency JAR files.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

mavenReferenceProperty := &mavenReferenceProperty{
	artifactId: jsii.String("artifactId"),
	groupId: jsii.String("groupId"),
	version: jsii.String("version"),
}

type CfnApplication_MonitoringConfigurationProperty

type CfnApplication_MonitoringConfigurationProperty struct {
	// 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.
	ConfigurationType *string `field:"required" json:"configurationType" yaml:"configurationType"`
	// Describes the verbosity of the CloudWatch Logs for an application.
	LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
	// 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.
	MetricsLevel *string `field:"optional" json:"metricsLevel" yaml:"metricsLevel"`
}

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/kinesisanalytics/latest/java/monitoring-overview) .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

monitoringConfigurationProperty := &monitoringConfigurationProperty{
	configurationType: jsii.String("configurationType"),

	// the properties below are optional
	logLevel: jsii.String("logLevel"),
	metricsLevel: jsii.String("metricsLevel"),
}

type CfnApplication_ParallelismConfigurationProperty

type CfnApplication_ParallelismConfigurationProperty struct {
	// Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.
	//
	// You must set this property to `CUSTOM` in order to change your application's `AutoScalingEnabled` , `Parallelism` , or `ParallelismPerKPU` properties.
	ConfigurationType *string `field:"required" json:"configurationType" yaml:"configurationType"`
	// Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.
	AutoScalingEnabled interface{} `field:"optional" json:"autoScalingEnabled" yaml:"autoScalingEnabled"`
	// 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/kinesisanalytics/latest/apiv2/API_ParallelismConfiguration.html#kinesisanalytics-Type-ParallelismConfiguration-AutoScalingEnabled.html) is set to `true` .
	Parallelism *float64 `field:"optional" json:"parallelism" yaml:"parallelism"`
	// 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://docs.aws.amazon.com/kinesis/data-analytics/pricing/) .
	ParallelismPerKpu *float64 `field:"optional" json:"parallelismPerKpu" yaml:"parallelismPerKpu"`
}

Describes parameters for how a Flink-based Kinesis Data Analytics application executes multiple tasks simultaneously.

For more information about parallelism, see [Parallel Execution](https://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/parallel.html) in the [Apache Flink Documentation](https://docs.aws.amazon.com/https://ci.apache.org/projects/flink/flink-docs-release-1.8/) .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

parallelismConfigurationProperty := &parallelismConfigurationProperty{
	configurationType: jsii.String("configurationType"),

	// the properties below are optional
	autoScalingEnabled: jsii.Boolean(false),
	parallelism: jsii.Number(123),
	parallelismPerKpu: jsii.Number(123),
}

type CfnApplication_PropertyGroupProperty

type CfnApplication_PropertyGroupProperty struct {
	// Describes the key of an application execution property key-value pair.
	PropertyGroupId *string `field:"optional" json:"propertyGroupId" yaml:"propertyGroupId"`
	// Describes the value of an application execution property key-value pair.
	PropertyMap interface{} `field:"optional" json:"propertyMap" yaml:"propertyMap"`
}

Property key-value pairs passed into an application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

propertyGroupProperty := &propertyGroupProperty{
	propertyGroupId: jsii.String("propertyGroupId"),
	propertyMap: map[string]*string{
		"propertyMapKey": jsii.String("propertyMap"),
	},
}

type CfnApplication_RecordColumnProperty

type CfnApplication_RecordColumnProperty struct {
	// The name of the column that is created in the in-application input stream or reference table.
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of column created in the in-application input stream or reference table.
	SqlType *string `field:"required" json:"sqlType" yaml:"sqlType"`
	// A reference to the data element in the streaming input or the reference data source.
	Mapping *string `field:"optional" json:"mapping" yaml:"mapping"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

recordColumnProperty := &recordColumnProperty{
	name: jsii.String("name"),
	sqlType: jsii.String("sqlType"),

	// the properties below are optional
	mapping: jsii.String("mapping"),
}

type CfnApplication_RecordFormatProperty

type CfnApplication_RecordFormatProperty struct {
	// The type of record format.
	RecordFormatType *string `field:"required" json:"recordFormatType" yaml:"recordFormatType"`
	// 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.
	MappingParameters interface{} `field:"optional" json:"mappingParameters" yaml:"mappingParameters"`
}

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.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

recordFormatProperty := &recordFormatProperty{
	recordFormatType: jsii.String("recordFormatType"),

	// the properties below are optional
	mappingParameters: &mappingParametersProperty{
		csvMappingParameters: &cSVMappingParametersProperty{
			recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
			recordRowDelimiter: jsii.String("recordRowDelimiter"),
		},
		jsonMappingParameters: &jSONMappingParametersProperty{
			recordRowPath: jsii.String("recordRowPath"),
		},
	},
}

type CfnApplication_RunConfigurationProperty

type CfnApplication_RunConfigurationProperty struct {
	// `CfnApplication.RunConfigurationProperty.ApplicationRestoreConfiguration`.
	ApplicationRestoreConfiguration interface{} `field:"optional" json:"applicationRestoreConfiguration" yaml:"applicationRestoreConfiguration"`
	// `CfnApplication.RunConfigurationProperty.FlinkRunConfiguration`.
	FlinkRunConfiguration interface{} `field:"optional" json:"flinkRunConfiguration" yaml:"flinkRunConfiguration"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

runConfigurationProperty := &runConfigurationProperty{
	applicationRestoreConfiguration: &applicationRestoreConfigurationProperty{
		applicationRestoreType: jsii.String("applicationRestoreType"),

		// the properties below are optional
		snapshotName: jsii.String("snapshotName"),
	},
	flinkRunConfiguration: &flinkRunConfigurationProperty{
		allowNonRestoredState: jsii.Boolean(false),
	},
}

type CfnApplication_S3ContentBaseLocationProperty

type CfnApplication_S3ContentBaseLocationProperty struct {
	// The Amazon Resource Name (ARN) of the S3 bucket.
	BucketArn *string `field:"required" json:"bucketArn" yaml:"bucketArn"`
	// The base path for the S3 bucket.
	BasePath *string `field:"optional" json:"basePath" yaml:"basePath"`
}

The base location of the Amazon Data Analytics application.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3ContentBaseLocationProperty := &s3ContentBaseLocationProperty{
	bucketArn: jsii.String("bucketArn"),

	// the properties below are optional
	basePath: jsii.String("basePath"),
}

type CfnApplication_S3ContentLocationProperty

type CfnApplication_S3ContentLocationProperty struct {
	// The Amazon Resource Name (ARN) for the S3 bucket containing the application code.
	BucketArn *string `field:"required" json:"bucketArn" yaml:"bucketArn"`
	// The file key for the object containing the application code.
	FileKey *string `field:"required" json:"fileKey" yaml:"fileKey"`
	// The version of the object containing the application code.
	ObjectVersion *string `field:"optional" json:"objectVersion" yaml:"objectVersion"`
}

The location of an application or a custom artifact.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

s3ContentLocationProperty := &s3ContentLocationProperty{
	bucketArn: jsii.String("bucketArn"),
	fileKey: jsii.String("fileKey"),

	// the properties below are optional
	objectVersion: jsii.String("objectVersion"),
}

type CfnApplication_SqlApplicationConfigurationProperty

type CfnApplication_SqlApplicationConfigurationProperty struct {
	// The array of [Input](https://docs.aws.amazon.com/kinesisanalytics/latest/apiv2/API_Input.html) objects describing the input streams used by the application.
	Inputs interface{} `field:"optional" json:"inputs" yaml:"inputs"`
}

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

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

sqlApplicationConfigurationProperty := &sqlApplicationConfigurationProperty{
	inputs: []interface{}{
		&inputProperty{
			inputSchema: &inputSchemaProperty{
				recordColumns: []interface{}{
					&recordColumnProperty{
						name: jsii.String("name"),
						sqlType: jsii.String("sqlType"),

						// the properties below are optional
						mapping: jsii.String("mapping"),
					},
				},
				recordFormat: &recordFormatProperty{
					recordFormatType: jsii.String("recordFormatType"),

					// the properties below are optional
					mappingParameters: &mappingParametersProperty{
						csvMappingParameters: &cSVMappingParametersProperty{
							recordColumnDelimiter: jsii.String("recordColumnDelimiter"),
							recordRowDelimiter: jsii.String("recordRowDelimiter"),
						},
						jsonMappingParameters: &jSONMappingParametersProperty{
							recordRowPath: jsii.String("recordRowPath"),
						},
					},
				},

				// the properties below are optional
				recordEncoding: jsii.String("recordEncoding"),
			},
			namePrefix: jsii.String("namePrefix"),

			// the properties below are optional
			inputParallelism: &inputParallelismProperty{
				count: jsii.Number(123),
			},
			inputProcessingConfiguration: &inputProcessingConfigurationProperty{
				inputLambdaProcessor: &inputLambdaProcessorProperty{
					resourceArn: jsii.String("resourceArn"),
				},
			},
			kinesisFirehoseInput: &kinesisFirehoseInputProperty{
				resourceArn: jsii.String("resourceArn"),
			},
			kinesisStreamsInput: &kinesisStreamsInputProperty{
				resourceArn: jsii.String("resourceArn"),
			},
		},
	},
}

type CfnApplication_VpcConfigurationProperty

type CfnApplication_VpcConfigurationProperty struct {
	// `CfnApplication.VpcConfigurationProperty.SecurityGroupIds`.
	SecurityGroupIds *[]*string `field:"required" json:"securityGroupIds" yaml:"securityGroupIds"`
	// `CfnApplication.VpcConfigurationProperty.SubnetIds`.
	SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
}

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

vpcConfigurationProperty := &vpcConfigurationProperty{
	securityGroupIds: []*string{
		jsii.String("securityGroupIds"),
	},
	subnetIds: []*string{
		jsii.String("subnetIds"),
	},
}

type CfnApplication_ZeppelinApplicationConfigurationProperty

type CfnApplication_ZeppelinApplicationConfigurationProperty struct {
	// The Amazon Glue Data Catalog that you use in queries in a Kinesis Data Analytics Studio notebook.
	CatalogConfiguration interface{} `field:"optional" json:"catalogConfiguration" yaml:"catalogConfiguration"`
	// A list of `CustomArtifactConfiguration` objects.
	CustomArtifactsConfiguration interface{} `field:"optional" json:"customArtifactsConfiguration" yaml:"customArtifactsConfiguration"`
	// The information required to deploy a Kinesis Data Analytics Studio notebook as an application with durable state.
	DeployAsApplicationConfiguration interface{} `field:"optional" json:"deployAsApplicationConfiguration" yaml:"deployAsApplicationConfiguration"`
	// The monitoring configuration of a Kinesis Data Analytics Studio notebook.
	MonitoringConfiguration interface{} `field:"optional" json:"monitoringConfiguration" yaml:"monitoringConfiguration"`
}

The configuration of a Kinesis Data Analytics Studio notebook.

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zeppelinApplicationConfigurationProperty := &zeppelinApplicationConfigurationProperty{
	catalogConfiguration: &catalogConfigurationProperty{
		glueDataCatalogConfiguration: &glueDataCatalogConfigurationProperty{
			databaseArn: jsii.String("databaseArn"),
		},
	},
	customArtifactsConfiguration: []interface{}{
		&customArtifactConfigurationProperty{
			artifactType: jsii.String("artifactType"),

			// the properties below are optional
			mavenReference: &mavenReferenceProperty{
				artifactId: jsii.String("artifactId"),
				groupId: jsii.String("groupId"),
				version: jsii.String("version"),
			},
			s3ContentLocation: &s3ContentLocationProperty{
				bucketArn: jsii.String("bucketArn"),
				fileKey: jsii.String("fileKey"),

				// the properties below are optional
				objectVersion: jsii.String("objectVersion"),
			},
		},
	},
	deployAsApplicationConfiguration: &deployAsApplicationConfigurationProperty{
		s3ContentLocation: &s3ContentBaseLocationProperty{
			bucketArn: jsii.String("bucketArn"),

			// the properties below are optional
			basePath: jsii.String("basePath"),
		},
	},
	monitoringConfiguration: &zeppelinMonitoringConfigurationProperty{
		logLevel: jsii.String("logLevel"),
	},
}

type CfnApplication_ZeppelinMonitoringConfigurationProperty

type CfnApplication_ZeppelinMonitoringConfigurationProperty struct {
	// The verbosity of the CloudWatch Logs for an application.
	//
	// You can set it to `INFO` , `WARN` , `ERROR` , or `DEBUG` .
	LogLevel *string `field:"optional" json:"logLevel" yaml:"logLevel"`
}

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/kinesisanalytics/latest/java/monitoring-overview.html) .

Example:

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import "github.com/aws/aws-cdk-go/awscdk"

zeppelinMonitoringConfigurationProperty := &zeppelinMonitoringConfigurationProperty{
	logLevel: jsii.String("logLevel"),
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL