CustomPluginArgs

data class CustomPluginArgs(val contentType: Output<String>? = null, val description: Output<String>? = null, val location: Output<CustomPluginLocationArgs>? = null, val name: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<CustomPluginArgs>

Provides an Amazon MSK Connect Custom Plugin Resource.

Example Usage

Basic configuration

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.s3.BucketV2("example", {bucket: "example"});
const exampleBucketObjectv2 = new aws.s3.BucketObjectv2("example", {
bucket: example.id,
key: "debezium.zip",
source: new pulumi.asset.FileAsset("debezium.zip"),
});
const exampleCustomPlugin = new aws.mskconnect.CustomPlugin("example", {
name: "debezium-example",
contentType: "ZIP",
location: {
s3: {
bucketArn: example.arn,
fileKey: exampleBucketObjectv2.key,
},
},
});
import pulumi
import pulumi_aws as aws
example = aws.s3.BucketV2("example", bucket="example")
example_bucket_objectv2 = aws.s3.BucketObjectv2("example",
bucket=example.id,
key="debezium.zip",
source=pulumi.FileAsset("debezium.zip"))
example_custom_plugin = aws.mskconnect.CustomPlugin("example",
name="debezium-example",
content_type="ZIP",
location={
"s3": {
"bucket_arn": example.arn,
"file_key": example_bucket_objectv2.key,
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.S3.BucketV2("example", new()
{
Bucket = "example",
});
var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2("example", new()
{
Bucket = example.Id,
Key = "debezium.zip",
Source = new FileAsset("debezium.zip"),
});
var exampleCustomPlugin = new Aws.MskConnect.CustomPlugin("example", new()
{
Name = "debezium-example",
ContentType = "ZIP",
Location = new Aws.MskConnect.Inputs.CustomPluginLocationArgs
{
S3 = new Aws.MskConnect.Inputs.CustomPluginLocationS3Args
{
BucketArn = example.Arn,
FileKey = exampleBucketObjectv2.Key,
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
Bucket: pulumi.String("example"),
})
if err != nil {
return err
}
exampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{
Bucket: example.ID(),
Key: pulumi.String("debezium.zip"),
Source: pulumi.NewFileAsset("debezium.zip"),
})
if err != nil {
return err
}
_, err = mskconnect.NewCustomPlugin(ctx, "example", &mskconnect.CustomPluginArgs{
Name: pulumi.String("debezium-example"),
ContentType: pulumi.String("ZIP"),
Location: &mskconnect.CustomPluginLocationArgs{
S3: &mskconnect.CustomPluginLocationS3Args{
BucketArn: example.Arn,
FileKey: exampleBucketObjectv2.Key,
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3.BucketObjectv2;
import com.pulumi.aws.s3.BucketObjectv2Args;
import com.pulumi.aws.mskconnect.CustomPlugin;
import com.pulumi.aws.mskconnect.CustomPluginArgs;
import com.pulumi.aws.mskconnect.inputs.CustomPluginLocationArgs;
import com.pulumi.aws.mskconnect.inputs.CustomPluginLocationS3Args;
import com.pulumi.asset.FileAsset;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new BucketV2("example", BucketV2Args.builder()
.bucket("example")
.build());
var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder()
.bucket(example.id())
.key("debezium.zip")
.source(new FileAsset("debezium.zip"))
.build());
var exampleCustomPlugin = new CustomPlugin("exampleCustomPlugin", CustomPluginArgs.builder()
.name("debezium-example")
.contentType("ZIP")
.location(CustomPluginLocationArgs.builder()
.s3(CustomPluginLocationS3Args.builder()
.bucketArn(example.arn())
.fileKey(exampleBucketObjectv2.key())
.build())
.build())
.build());
}
}
resources:
example:
type: aws:s3:BucketV2
properties:
bucket: example
exampleBucketObjectv2:
type: aws:s3:BucketObjectv2
name: example
properties:
bucket: ${example.id}
key: debezium.zip
source:
fn::FileAsset: debezium.zip
exampleCustomPlugin:
type: aws:mskconnect:CustomPlugin
name: example
properties:
name: debezium-example
contentType: ZIP
location:
s3:
bucketArn: ${example.arn}
fileKey: ${exampleBucketObjectv2.key}

Import

Using pulumi import, import MSK Connect Custom Plugin using the plugin's arn. For example:

$ pulumi import aws:mskconnect/customPlugin:CustomPlugin example 'arn:aws:kafkaconnect:eu-central-1:123456789012:custom-plugin/debezium-example/abcdefgh-1234-5678-9abc-defghijklmno-4'

Constructors

Link copied to clipboard
constructor(contentType: Output<String>? = null, description: Output<String>? = null, location: Output<CustomPluginLocationArgs>? = null, name: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val contentType: Output<String>? = null

The type of the plugin file. Allowed values are ZIP and JAR.

Link copied to clipboard
val description: Output<String>? = null

A summary description of the custom plugin.

Link copied to clipboard
val location: Output<CustomPluginLocationArgs>? = null

Information about the location of a custom plugin. See location Block for details.

Link copied to clipboard
val name: Output<String>? = null

The name of the custom plugin..

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level. The following arguments are optional:

Functions

Link copied to clipboard
open override fun toJava(): CustomPluginArgs