class Aws::KinesisAnalyticsV2::Types::ApplicationConfiguration

Specifies the creation parameters for a Kinesis Data Analytics application.

@note When making an API call, you may pass ApplicationConfiguration

data as a hash:

    {
      sql_application_configuration: {
        inputs: [
          {
            name_prefix: "InAppStreamName", # required
            input_processing_configuration: {
              input_lambda_processor: { # required
                resource_arn: "ResourceARN", # required
              },
            },
            kinesis_streams_input: {
              resource_arn: "ResourceARN", # required
            },
            kinesis_firehose_input: {
              resource_arn: "ResourceARN", # required
            },
            input_parallelism: {
              count: 1,
            },
            input_schema: { # required
              record_format: { # required
                record_format_type: "JSON", # required, accepts JSON, CSV
                mapping_parameters: {
                  json_mapping_parameters: {
                    record_row_path: "RecordRowPath", # required
                  },
                  csv_mapping_parameters: {
                    record_row_delimiter: "RecordRowDelimiter", # required
                    record_column_delimiter: "RecordColumnDelimiter", # required
                  },
                },
              },
              record_encoding: "RecordEncoding",
              record_columns: [ # required
                {
                  name: "RecordColumnName", # required
                  mapping: "RecordColumnMapping",
                  sql_type: "RecordColumnSqlType", # required
                },
              ],
            },
          },
        ],
        outputs: [
          {
            name: "InAppStreamName", # required
            kinesis_streams_output: {
              resource_arn: "ResourceARN", # required
            },
            kinesis_firehose_output: {
              resource_arn: "ResourceARN", # required
            },
            lambda_output: {
              resource_arn: "ResourceARN", # required
            },
            destination_schema: { # required
              record_format_type: "JSON", # required, accepts JSON, CSV
            },
          },
        ],
        reference_data_sources: [
          {
            table_name: "InAppTableName", # required
            s3_reference_data_source: {
              bucket_arn: "BucketARN",
              file_key: "FileKey",
            },
            reference_schema: { # required
              record_format: { # required
                record_format_type: "JSON", # required, accepts JSON, CSV
                mapping_parameters: {
                  json_mapping_parameters: {
                    record_row_path: "RecordRowPath", # required
                  },
                  csv_mapping_parameters: {
                    record_row_delimiter: "RecordRowDelimiter", # required
                    record_column_delimiter: "RecordColumnDelimiter", # required
                  },
                },
              },
              record_encoding: "RecordEncoding",
              record_columns: [ # required
                {
                  name: "RecordColumnName", # required
                  mapping: "RecordColumnMapping",
                  sql_type: "RecordColumnSqlType", # required
                },
              ],
            },
          },
        ],
      },
      flink_application_configuration: {
        checkpoint_configuration: {
          configuration_type: "DEFAULT", # required, accepts DEFAULT, CUSTOM
          checkpointing_enabled: false,
          checkpoint_interval: 1,
          min_pause_between_checkpoints: 1,
        },
        monitoring_configuration: {
          configuration_type: "DEFAULT", # required, accepts DEFAULT, CUSTOM
          metrics_level: "APPLICATION", # accepts APPLICATION, TASK, OPERATOR, PARALLELISM
          log_level: "INFO", # accepts INFO, WARN, ERROR, DEBUG
        },
        parallelism_configuration: {
          configuration_type: "DEFAULT", # required, accepts DEFAULT, CUSTOM
          parallelism: 1,
          parallelism_per_kpu: 1,
          auto_scaling_enabled: false,
        },
      },
      environment_properties: {
        property_groups: [ # required
          {
            property_group_id: "Id", # required
            property_map: { # required
              "PropertyKey" => "PropertyValue",
            },
          },
        ],
      },
      application_code_configuration: {
        code_content: {
          text_content: "TextContent",
          zip_file_content: "data",
          s3_content_location: {
            bucket_arn: "BucketARN", # required
            file_key: "FileKey", # required
            object_version: "ObjectVersion",
          },
        },
        code_content_type: "PLAINTEXT", # required, accepts PLAINTEXT, ZIPFILE
      },
      application_snapshot_configuration: {
        snapshots_enabled: false, # required
      },
      vpc_configurations: [
        {
          subnet_ids: ["SubnetId"], # required
          security_group_ids: ["SecurityGroupId"], # required
        },
      ],
      zeppelin_application_configuration: {
        monitoring_configuration: {
          log_level: "INFO", # required, accepts INFO, WARN, ERROR, DEBUG
        },
        catalog_configuration: {
          glue_data_catalog_configuration: { # required
            database_arn: "DatabaseARN", # required
          },
        },
        deploy_as_application_configuration: {
          s3_content_location: { # required
            bucket_arn: "BucketARN", # required
            base_path: "BasePath",
          },
        },
        custom_artifacts_configuration: [
          {
            artifact_type: "UDF", # required, accepts UDF, DEPENDENCY_JAR
            s3_content_location: {
              bucket_arn: "BucketARN", # required
              file_key: "FileKey", # required
              object_version: "ObjectVersion",
            },
            maven_reference: {
              group_id: "MavenGroupId", # required
              artifact_id: "MavenArtifactId", # required
              version: "MavenVersion", # required
            },
          },
        ],
      },
    }

@!attribute [rw] sql_application_configuration

The creation and update parameters for a SQL-based Kinesis Data
Analytics application.
@return [Types::SqlApplicationConfiguration]

@!attribute [rw] flink_application_configuration

The creation and update parameters for a Flink-based Kinesis Data
Analytics application.
@return [Types::FlinkApplicationConfiguration]

@!attribute [rw] environment_properties

Describes execution properties for a Flink-based Kinesis Data
Analytics application.
@return [Types::EnvironmentProperties]

@!attribute [rw] application_code_configuration

The code location and type parameters for a Flink-based Kinesis Data
Analytics application.
@return [Types::ApplicationCodeConfiguration]

@!attribute [rw] application_snapshot_configuration

Describes whether snapshots are enabled for a Flink-based Kinesis
Data Analytics application.
@return [Types::ApplicationSnapshotConfiguration]

@!attribute [rw] vpc_configurations

The array of descriptions of VPC configurations available to the
application.
@return [Array<Types::VpcConfiguration>]

@!attribute [rw] zeppelin_application_configuration

The configuration parameters for a Kinesis Data Analytics Studio
notebook.
@return [Types::ZeppelinApplicationConfiguration]

@see docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/ApplicationConfiguration AWS API Documentation

Constants

SENSITIVE