/* 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. */ /** * Information about the capacity allocated to the connector. */ export type Capacity = { AutoScaling?: AutoScaling; ProvisionedCapacity?: ProvisionedCapacity; } & Capacity1; export type Capacity1 = { [k: string]: unknown; }; /** * The type of client authentication used to connect to the Kafka cluster. Value NONE means that no client authentication is used. */ export type KafkaClusterClientAuthenticationType = "NONE" | "IAM"; /** * The type of encryption in transit to the Kafka cluster. */ export type KafkaClusterEncryptionInTransitType = "PLAINTEXT" | "TLS"; /** * Resource Type definition for AWS::KafkaConnect::Connector */ export interface AwsKafkaconnectConnector { Capacity: Capacity; /** * Amazon Resource Name for the created Connector. */ ConnectorArn?: string; /** * The configuration for the connector. */ ConnectorConfiguration: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".*". */ [k: string]: string; }; /** * A summary description of the connector. */ ConnectorDescription?: string; /** * The name of the connector. */ ConnectorName: string; KafkaCluster: KafkaCluster; KafkaClusterClientAuthentication: KafkaClusterClientAuthentication; KafkaClusterEncryptionInTransit: KafkaClusterEncryptionInTransit; /** * The version of Kafka Connect. It has to be compatible with both the Kafka cluster's version and the plugins. */ KafkaConnectVersion: string; LogDelivery?: LogDelivery; /** * List of plugins to use with the connector. * * @minItems 1 */ Plugins: [Plugin, ...Plugin[]]; /** * The Amazon Resource Name (ARN) of the IAM role used by the connector to access Amazon S3 objects and other external resources. */ ServiceExecutionRoleArn: string; WorkerConfiguration?: WorkerConfiguration; } /** * Details about auto scaling of a connector. */ export interface AutoScaling { /** * The maximum number of workers for a connector. */ MaxWorkerCount: number; /** * The minimum number of workers for a connector. */ MinWorkerCount: number; ScaleInPolicy: ScaleInPolicy; ScaleOutPolicy: ScaleOutPolicy; /** * Specifies how many MSK Connect Units (MCU) as the minimum scaling unit. */ McuCount: 1 | 2 | 4 | 8; } /** * Information about the scale in policy of the connector. */ export interface ScaleInPolicy { /** * Specifies the CPU utilization percentage threshold at which connector scale in should trigger. */ CpuUtilizationPercentage: number; } /** * Information about the scale out policy of the connector. */ export interface ScaleOutPolicy { /** * Specifies the CPU utilization percentage threshold at which connector scale out should trigger. */ CpuUtilizationPercentage: number; } /** * Details about a fixed capacity allocated to a connector. */ export interface ProvisionedCapacity { /** * Specifies how many MSK Connect Units (MCU) are allocated to the connector. */ McuCount?: 1 | 2 | 4 | 8; /** * Number of workers for a connector. */ WorkerCount: number; } /** * Details of how to connect to the Kafka cluster. */ export interface KafkaCluster { ApacheKafkaCluster: ApacheKafkaCluster; } /** * Details of how to connect to an Apache Kafka cluster. */ export interface ApacheKafkaCluster { /** * The bootstrap servers string of the Apache Kafka cluster. */ BootstrapServers: string; Vpc: Vpc; } /** * Information about a VPC used with the connector. */ export interface Vpc { /** * The AWS security groups to associate with the elastic network interfaces in order to specify what the connector has access to. */ SecurityGroups: string[]; /** * The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. * * @minItems 1 */ Subnets: [string, ...string[]]; } /** * Details of the client authentication used by the Kafka cluster. */ export interface KafkaClusterClientAuthentication { AuthenticationType: KafkaClusterClientAuthenticationType; } /** * Details of encryption in transit to the Kafka cluster. */ export interface KafkaClusterEncryptionInTransit { EncryptionType: KafkaClusterEncryptionInTransitType; } /** * Details of what logs are delivered and where they are delivered. */ export interface LogDelivery { WorkerLogDelivery: WorkerLogDelivery; } /** * Specifies where worker logs are delivered. */ export interface WorkerLogDelivery { CloudWatchLogs?: CloudWatchLogsLogDelivery; Firehose?: FirehoseLogDelivery; S3?: S3LogDelivery; } /** * Details about delivering logs to Amazon CloudWatch Logs. */ export interface CloudWatchLogsLogDelivery { /** * Specifies whether the logs get sent to the specified CloudWatch Logs destination. */ Enabled: boolean; /** * The CloudWatch log group that is the destination for log delivery. */ LogGroup?: string; } /** * Details about delivering logs to Amazon Kinesis Data Firehose. */ export interface FirehoseLogDelivery { /** * The Kinesis Data Firehose delivery stream that is the destination for log delivery. */ DeliveryStream?: string; /** * Specifies whether the logs get sent to the specified Kinesis Data Firehose delivery stream. */ Enabled: boolean; } /** * Details about delivering logs to Amazon S3. */ export interface S3LogDelivery { /** * The name of the S3 bucket that is the destination for log delivery. */ Bucket?: string; /** * Specifies whether the logs get sent to the specified Amazon S3 destination. */ Enabled: boolean; /** * The S3 prefix that is the destination for log delivery. */ Prefix?: string; } /** * Details about a Kafka Connect plugin which will be used with the connector. */ export interface Plugin { CustomPlugin: CustomPlugin; } /** * Details about a custom plugin. */ export interface CustomPlugin { /** * The Amazon Resource Name (ARN) of the custom plugin to use. */ CustomPluginArn: string; /** * The revision of the custom plugin to use. */ Revision: number; } /** * Specifies the worker configuration to use with the connector. */ export interface WorkerConfiguration { /** * The revision of the worker configuration to use. */ Revision: number; /** * The Amazon Resource Name (ARN) of the worker configuration to use. */ WorkerConfigurationArn: string; }