UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

322 lines (321 loc) • 13.8 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides an Amazon MSK Connect Connector resource. * * ## Example Usage * * ### Basic configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.mskconnect.Connector("example", { * name: "example", * kafkaconnectVersion: "2.7.1", * capacity: { * autoscaling: { * mcuCount: 1, * minWorkerCount: 1, * maxWorkerCount: 2, * scaleInPolicy: { * cpuUtilizationPercentage: 20, * }, * scaleOutPolicy: { * cpuUtilizationPercentage: 80, * }, * }, * }, * connectorConfiguration: { * "connector.class": "com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector", * "tasks.max": "1", * topics: "example", * }, * kafkaCluster: { * apacheKafkaCluster: { * bootstrapServers: exampleAwsMskCluster.bootstrapBrokersTls, * vpc: { * securityGroups: [exampleAwsSecurityGroup.id], * subnets: [ * example1.id, * example2.id, * example3.id, * ], * }, * }, * }, * kafkaClusterClientAuthentication: { * authenticationType: "NONE", * }, * kafkaClusterEncryptionInTransit: { * encryptionType: "TLS", * }, * plugins: [{ * customPlugin: { * arn: exampleAwsMskconnectCustomPlugin.arn, * revision: exampleAwsMskconnectCustomPlugin.latestRevision, * }, * }], * serviceExecutionRoleArn: exampleAwsIamRole.arn, * }); * ``` * * ## Import * * Using `pulumi import`, import MSK Connect Connector using the connector's `arn`. For example: * * ```sh * $ pulumi import aws:mskconnect/connector:Connector example 'arn:aws:kafkaconnect:eu-central-1:123456789012:connector/example/264edee4-17a3-412e-bd76-6681cfc93805-3' * ``` */ export declare class Connector extends pulumi.CustomResource { /** * Get an existing Connector resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ConnectorState, opts?: pulumi.CustomResourceOptions): Connector; /** * Returns true if the given object is an instance of Connector. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Connector; /** * The Amazon Resource Name (ARN) of the connector. */ readonly arn: pulumi.Output<string>; /** * Information about the capacity allocated to the connector. See `capacity` Block for details. */ readonly capacity: pulumi.Output<outputs.mskconnect.ConnectorCapacity>; /** * A map of keys to values that represent the configuration for the connector. */ readonly connectorConfiguration: pulumi.Output<{ [key: string]: string; }>; /** * A summary description of the connector. */ readonly description: pulumi.Output<string | undefined>; /** * Specifies which Apache Kafka cluster to connect to. See `kafkaCluster` Block for details. */ readonly kafkaCluster: pulumi.Output<outputs.mskconnect.ConnectorKafkaCluster>; /** * Details of the client authentication used by the Apache Kafka cluster. See `kafkaClusterClientAuthentication` Block for details. */ readonly kafkaClusterClientAuthentication: pulumi.Output<outputs.mskconnect.ConnectorKafkaClusterClientAuthentication>; /** * Details of encryption in transit to the Apache Kafka cluster. See `kafkaClusterEncryptionInTransit` Block for details. */ readonly kafkaClusterEncryptionInTransit: pulumi.Output<outputs.mskconnect.ConnectorKafkaClusterEncryptionInTransit>; /** * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins. */ readonly kafkaconnectVersion: pulumi.Output<string>; /** * Details about log delivery. See `logDelivery` Block for details. */ readonly logDelivery: pulumi.Output<outputs.mskconnect.ConnectorLogDelivery | undefined>; /** * The name of the connector. */ readonly name: pulumi.Output<string>; /** * Specifies which plugins to use for the connector. See `plugin` Block for details. */ readonly plugins: pulumi.Output<outputs.mskconnect.ConnectorPlugin[]>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output<string>; /** * The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket. * * The following arguments are optional: */ readonly serviceExecutionRoleArn: pulumi.Output<string>; /** * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * The current version of the connector. */ readonly version: pulumi.Output<string>; /** * Specifies which worker configuration to use with the connector. See `workerConfiguration` Block for details. */ readonly workerConfiguration: pulumi.Output<outputs.mskconnect.ConnectorWorkerConfiguration | undefined>; /** * Create a Connector resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ConnectorArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Connector resources. */ export interface ConnectorState { /** * The Amazon Resource Name (ARN) of the connector. */ arn?: pulumi.Input<string>; /** * Information about the capacity allocated to the connector. See `capacity` Block for details. */ capacity?: pulumi.Input<inputs.mskconnect.ConnectorCapacity>; /** * A map of keys to values that represent the configuration for the connector. */ connectorConfiguration?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A summary description of the connector. */ description?: pulumi.Input<string>; /** * Specifies which Apache Kafka cluster to connect to. See `kafkaCluster` Block for details. */ kafkaCluster?: pulumi.Input<inputs.mskconnect.ConnectorKafkaCluster>; /** * Details of the client authentication used by the Apache Kafka cluster. See `kafkaClusterClientAuthentication` Block for details. */ kafkaClusterClientAuthentication?: pulumi.Input<inputs.mskconnect.ConnectorKafkaClusterClientAuthentication>; /** * Details of encryption in transit to the Apache Kafka cluster. See `kafkaClusterEncryptionInTransit` Block for details. */ kafkaClusterEncryptionInTransit?: pulumi.Input<inputs.mskconnect.ConnectorKafkaClusterEncryptionInTransit>; /** * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins. */ kafkaconnectVersion?: pulumi.Input<string>; /** * Details about log delivery. See `logDelivery` Block for details. */ logDelivery?: pulumi.Input<inputs.mskconnect.ConnectorLogDelivery>; /** * The name of the connector. */ name?: pulumi.Input<string>; /** * Specifies which plugins to use for the connector. See `plugin` Block for details. */ plugins?: pulumi.Input<pulumi.Input<inputs.mskconnect.ConnectorPlugin>[]>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket. * * The following arguments are optional: */ serviceExecutionRoleArn?: pulumi.Input<string>; /** * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * The current version of the connector. */ version?: pulumi.Input<string>; /** * Specifies which worker configuration to use with the connector. See `workerConfiguration` Block for details. */ workerConfiguration?: pulumi.Input<inputs.mskconnect.ConnectorWorkerConfiguration>; } /** * The set of arguments for constructing a Connector resource. */ export interface ConnectorArgs { /** * Information about the capacity allocated to the connector. See `capacity` Block for details. */ capacity: pulumi.Input<inputs.mskconnect.ConnectorCapacity>; /** * A map of keys to values that represent the configuration for the connector. */ connectorConfiguration: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A summary description of the connector. */ description?: pulumi.Input<string>; /** * Specifies which Apache Kafka cluster to connect to. See `kafkaCluster` Block for details. */ kafkaCluster: pulumi.Input<inputs.mskconnect.ConnectorKafkaCluster>; /** * Details of the client authentication used by the Apache Kafka cluster. See `kafkaClusterClientAuthentication` Block for details. */ kafkaClusterClientAuthentication: pulumi.Input<inputs.mskconnect.ConnectorKafkaClusterClientAuthentication>; /** * Details of encryption in transit to the Apache Kafka cluster. See `kafkaClusterEncryptionInTransit` Block for details. */ kafkaClusterEncryptionInTransit: pulumi.Input<inputs.mskconnect.ConnectorKafkaClusterEncryptionInTransit>; /** * The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins. */ kafkaconnectVersion: pulumi.Input<string>; /** * Details about log delivery. See `logDelivery` Block for details. */ logDelivery?: pulumi.Input<inputs.mskconnect.ConnectorLogDelivery>; /** * The name of the connector. */ name?: pulumi.Input<string>; /** * Specifies which plugins to use for the connector. See `plugin` Block for details. */ plugins: pulumi.Input<pulumi.Input<inputs.mskconnect.ConnectorPlugin>[]>; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input<string>; /** * The Amazon Resource Name (ARN) of the IAM role used by the connector to access the Amazon Web Services resources that it needs. The types of resources depends on the logic of the connector. For example, a connector that has Amazon S3 as a destination must have permissions that allow it to write to the S3 destination bucket. * * The following arguments are optional: */ serviceExecutionRoleArn: pulumi.Input<string>; /** * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Specifies which worker configuration to use with the connector. See `workerConfiguration` Block for details. */ workerConfiguration?: pulumi.Input<inputs.mskconnect.ConnectorWorkerConfiguration>; }