/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * A list of CustomArtifactConfiguration objects. * * @maxItems 50 */ export type CustomArtifactsConfiguration = CustomArtifactConfiguration[]; /** * The array of descriptions of VPC configurations available to the application. * * @maxItems 1 */ export type VpcConfigurations = [] | [VpcConfiguration]; /** * 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). */ export interface AwsKinesisanalyticsv2Application { ApplicationConfiguration?: ApplicationConfiguration; /** * The description of the application. */ ApplicationDescription?: string; /** * 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?: "INTERACTIVE" | "STREAMING"; /** * The name of the application. */ ApplicationName?: string; /** * The runtime environment for the application. */ RuntimeEnvironment: string; /** * Specifies the IAM role that the application uses to access external resources. */ ServiceExecutionRole: string; RunConfiguration?: RunConfiguration; ApplicationMaintenanceConfiguration?: ApplicationMaintenanceConfiguration; /** * 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. * * @minItems 1 * @maxItems 50 */ Tags?: [Tag, ...Tag[]]; } /** * Use this parameter to configure the application. */ export interface ApplicationConfiguration { ApplicationCodeConfiguration?: ApplicationCodeConfiguration; ApplicationSnapshotConfiguration?: ApplicationSnapshotConfiguration; EnvironmentProperties?: EnvironmentProperties; FlinkApplicationConfiguration?: FlinkApplicationConfiguration; SqlApplicationConfiguration?: SqlApplicationConfiguration; ZeppelinApplicationConfiguration?: ZeppelinApplicationConfiguration; VpcConfigurations?: VpcConfigurations; } /** * The code location and type parameters for a Flink-based Kinesis Data Analytics application. */ export interface ApplicationCodeConfiguration { CodeContent: CodeContent; /** * Specifies whether the code content is in text or zip format. */ CodeContentType: "PLAINTEXT" | "ZIPFILE"; } /** * The location and type of the application code. */ export interface CodeContent { /** * The zip-format code for a Flink-based Kinesis Data Analytics application. */ ZipFileContent?: string; S3ContentLocation?: S3ContentLocation; /** * The text-format code for a Flink-based Kinesis Data Analytics application. */ TextContent?: string; } /** * Information about the Amazon S3 bucket that contains the application code. */ export interface S3ContentLocation { /** * The Amazon Resource Name (ARN) for the S3 bucket containing the application code. */ BucketARN: string; /** * The file key for the object containing the application code. */ FileKey: string; /** * The version of the object containing the application code. */ ObjectVersion?: string; } /** * Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. */ export interface ApplicationSnapshotConfiguration { /** * Describes whether snapshots are enabled for a Flink-based Kinesis Data Analytics application. */ SnapshotsEnabled: boolean; } /** * Describes execution properties for a Flink-based Kinesis Data Analytics application. */ export interface EnvironmentProperties { /** * Describes the execution property groups. * * @maxItems 50 */ PropertyGroups?: PropertyGroup[]; } /** * Property key-value pairs passed into an application. */ export interface PropertyGroup { /** * Describes the key of an application execution property key-value pair. */ PropertyGroupId?: string; /** * Describes the value of an application execution property key-value pair. */ PropertyMap?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "^.{1,2048}$". */ [k: string]: string; }; } /** * The creation and update parameters for a Flink-based Kinesis Data Analytics application. */ export interface FlinkApplicationConfiguration { CheckpointConfiguration?: CheckpointConfiguration; MonitoringConfiguration?: MonitoringConfiguration; ParallelismConfiguration?: ParallelismConfiguration; } /** * 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 in the Apache Flink Documentation. */ export interface CheckpointConfiguration { /** * 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. */ ConfigurationType: "DEFAULT" | "CUSTOM"; /** * Describes whether checkpointing is enabled for a Flink-based Kinesis Data Analytics application. */ CheckpointingEnabled?: boolean; /** * Describes the interval in milliseconds between checkpoint operations. */ CheckpointInterval?: number; /** * 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 in the Apache Flink Documentation. */ MinPauseBetweenCheckpoints?: number; } /** * Describes configuration parameters for Amazon CloudWatch logging for an application. */ export interface MonitoringConfiguration { /** * 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: "DEFAULT" | "CUSTOM"; /** * 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?: "APPLICATION" | "OPERATOR" | "PARALLELISM" | "TASK"; /** * Describes the verbosity of the CloudWatch Logs for an application. */ LogLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR"; } /** * Describes parameters for how an application executes multiple tasks simultaneously. */ export interface ParallelismConfiguration { /** * 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: "CUSTOM" | "DEFAULT"; /** * 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. */ ParallelismPerKPU?: number; /** * 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 is set to true. */ Parallelism?: number; /** * Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput. */ AutoScalingEnabled?: boolean; } /** * The creation and update parameters for a SQL-based Kinesis Data Analytics application. */ export interface SqlApplicationConfiguration { /** * The array of Input objects describing the input streams used by the application. * * @maxItems 1 */ Inputs?: [] | [Input]; } /** * 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. */ export interface Input { /** * 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; InputSchema: InputSchema; KinesisStreamsInput?: KinesisStreamsInput; KinesisFirehoseInput?: KinesisFirehoseInput; InputProcessingConfiguration?: InputProcessingConfiguration; InputParallelism?: InputParallelism; } /** * 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. */ export interface InputSchema { /** * Specifies the encoding of the records in the streaming source. For example, UTF-8. */ RecordEncoding?: "UTF-8"; /** * A list of `RecordColumn` objects. * * @maxItems 1000 */ RecordColumns: RecordColumn[]; RecordFormat: RecordFormat; } /** * 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. */ export interface RecordColumn { /** * A reference to the data element in the streaming input or the reference data source. */ Mapping?: string; /** * The name of the column that is created in the in-application input stream or reference table. */ Name: string; /** * The type of column created in the in-application input stream or reference table. */ SqlType: string; } /** * Specifies the format of the records on the streaming source. */ export interface RecordFormat { /** * The type of record format. */ RecordFormatType: "CSV" | "JSON"; MappingParameters?: MappingParameters; } /** * 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. */ export interface MappingParameters { CSVMappingParameters?: CSVMappingParameters; JSONMappingParameters?: JSONMappingParameters; } /** * Provides additional mapping information when the record format uses delimiters (for example, CSV). */ export interface CSVMappingParameters { /** * The column delimiter. For example, in a CSV format, a comma (",") is the typical column delimiter. */ RecordColumnDelimiter: string; /** * The row delimiter. For example, in a CSV format, '\n' is the typical row delimiter. */ RecordRowDelimiter: string; } /** * Provides additional mapping information when JSON is the record format on the streaming source. */ export interface JSONMappingParameters { /** * The path to the top-level parent that contains the records. */ RecordRowPath: string; } /** * If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN). */ export interface KinesisStreamsInput { /** * The ARN of the input Kinesis data stream to read. */ ResourceARN: string; } /** * If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN. */ export interface KinesisFirehoseInput { /** * The Amazon Resource Name (ARN) of the delivery stream. */ ResourceARN: string; } /** * The InputProcessingConfiguration 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. */ export interface InputProcessingConfiguration { InputLambdaProcessor?: InputLambdaProcessor; } /** * The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code. */ export interface InputLambdaProcessor { /** * The ARN of the Amazon Lambda function that operates on records in the stream. */ ResourceARN: string; } /** * Describes the number of in-application streams to create. */ export interface InputParallelism { /** * The number of in-application streams to create. */ Count?: number; } /** * The configuration parameters for a Kinesis Data Analytics Studio notebook. */ export interface ZeppelinApplicationConfiguration { CatalogConfiguration?: CatalogConfiguration; MonitoringConfiguration?: ZeppelinMonitoringConfiguration; DeployAsApplicationConfiguration?: DeployAsApplicationConfiguration; CustomArtifactsConfiguration?: CustomArtifactsConfiguration; } /** * The Amazon Glue Data Catalog that you use in queries in a Kinesis Data Analytics Studio notebook. */ export interface CatalogConfiguration { GlueDataCatalogConfiguration?: GlueDataCatalogConfiguration; } /** * 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. */ export interface GlueDataCatalogConfiguration { /** * The Amazon Resource Name (ARN) of the database. */ DatabaseARN?: string; } /** * The monitoring configuration of a Kinesis Data Analytics Studio notebook. */ export interface ZeppelinMonitoringConfiguration { /** * The verbosity of the CloudWatch Logs for an application. You can set it to `INFO`, `WARN`, `ERROR`, or `DEBUG`. */ LogLevel?: "DEBUG" | "INFO" | "WARN" | "ERROR"; } /** * The information required to deploy a Kinesis Data Analytics Studio notebook as an application with durable state. */ export interface DeployAsApplicationConfiguration { S3ContentLocation: S3ContentBaseLocation; } /** * 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. */ export interface S3ContentBaseLocation { /** * The Amazon Resource Name (ARN) of the S3 bucket. */ BucketARN: string; /** * The base path for the S3 bucket. */ BasePath?: string; } /** * The configuration of connectors and user-defined functions. */ export interface CustomArtifactConfiguration { /** * 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: "DEPENDENCY_JAR" | "UDF"; MavenReference?: MavenReference; S3ContentLocation?: S3ContentLocation1; } /** * The parameters required to fully specify a Maven reference. */ export interface MavenReference { /** * The artifact ID of the Maven reference. */ ArtifactId: string; /** * The group ID of the Maven reference. */ GroupId: string; /** * The version of the Maven reference. */ Version: string; } /** * The location of the custom artifacts. */ export interface S3ContentLocation1 { /** * The Amazon Resource Name (ARN) for the S3 bucket containing the application code. */ BucketARN: string; /** * The file key for the object containing the application code. */ FileKey: string; /** * The version of the object containing the application code. */ ObjectVersion?: string; } /** * Describes the parameters of a VPC used by the application. */ export interface VpcConfiguration { /** * The array of SecurityGroup IDs used by the VPC configuration. * * @minItems 1 * @maxItems 5 */ SecurityGroupIds: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string]; /** * The array of Subnet IDs used by the VPC configuration. * * @minItems 1 * @maxItems 16 */ SubnetIds: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; } /** * Specifies run configuration (start parameters) of a Kinesis Data Analytics application. Evaluated on update for RUNNING applications an only. */ export interface RunConfiguration { ApplicationRestoreConfiguration?: ApplicationRestoreConfiguration; FlinkRunConfiguration?: FlinkRunConfiguration; } /** * Describes the restore behavior of a restarting application. */ export interface ApplicationRestoreConfiguration { /** * Specifies how the application should be restored. */ ApplicationRestoreType: | "SKIP_RESTORE_FROM_SNAPSHOT" | "RESTORE_FROM_LATEST_SNAPSHOT" | "RESTORE_FROM_CUSTOM_SNAPSHOT"; /** * The identifier of an existing snapshot of application state to use to restart an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT is specified for the ApplicationRestoreType. */ SnapshotName?: string; } /** * Describes the starting parameters for a Flink-based Kinesis Data Analytics application. */ export interface FlinkRunConfiguration { /** * When restoring from a snapshot, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. Defaults to false. If you update your application without specifying this parameter, AllowNonRestoredState will be set to false, even if it was previously set to true. */ AllowNonRestoredState?: boolean; } /** * Used to configure start of maintenance window. */ export interface ApplicationMaintenanceConfiguration { /** * The start time for the maintenance window. */ ApplicationMaintenanceWindowStartTime: string; } /** * A key-value pair that identifies an application. */ export interface Tag { /** * The key name of the tag. You can specify a value that's 1 to 128 Unicode characters in length and can't be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Key: string; /** * The value for the tag. You can specify a value that's 0 to 256 characters in length. */ Value: string; }