Custom Plugin Args
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,
},
},
});
Content copied to clipboard
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,
},
})
Content copied to clipboard
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,
},
},
});
});
Content copied to clipboard
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
})
}
Content copied to clipboard
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());
}
}
Content copied to clipboard
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}
Content copied to clipboard
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'
Content copied to clipboard