AWS Classic

v5.21.1 published on Thursday, Nov 17, 2022 by Pulumi

CustomPlugin

Provides an Amazon MSK Connect Custom Plugin Resource.

Example Usage

Basic configuration

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var exampleBucketV2 = new Aws.S3.BucketV2("exampleBucketV2");

    var exampleBucketObjectv2 = new Aws.S3.BucketObjectv2("exampleBucketObjectv2", new()
    {
        Bucket = exampleBucketV2.Id,
        Key = "debezium.zip",
        Source = new FileAsset("debezium.zip"),
    });

    var exampleCustomPlugin = new Aws.MskConnect.CustomPlugin("exampleCustomPlugin", new()
    {
        ContentType = "ZIP",
        Location = new Aws.MskConnect.Inputs.CustomPluginLocationArgs
        {
            S3 = new Aws.MskConnect.Inputs.CustomPluginLocationS3Args
            {
                BucketArn = exampleBucketV2.Arn,
                FileKey = exampleBucketObjectv2.Key,
            },
        },
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/mskconnect"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucketV2, err := s3.NewBucketV2(ctx, "exampleBucketV2", nil)
		if err != nil {
			return err
		}
		exampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, "exampleBucketObjectv2", &s3.BucketObjectv2Args{
			Bucket: exampleBucketV2.ID(),
			Key:    pulumi.String("debezium.zip"),
			Source: pulumi.NewFileAsset("debezium.zip"),
		})
		if err != nil {
			return err
		}
		_, err = mskconnect.NewCustomPlugin(ctx, "exampleCustomPlugin", &mskconnect.CustomPluginArgs{
			ContentType: pulumi.String("ZIP"),
			Location: &mskconnect.CustomPluginLocationArgs{
				S3: &mskconnect.CustomPluginLocationS3Args{
					BucketArn: exampleBucketV2.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.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 exampleBucketV2 = new BucketV2("exampleBucketV2");

        var exampleBucketObjectv2 = new BucketObjectv2("exampleBucketObjectv2", BucketObjectv2Args.builder()        
            .bucket(exampleBucketV2.id())
            .key("debezium.zip")
            .source(new FileAsset("debezium.zip"))
            .build());

        var exampleCustomPlugin = new CustomPlugin("exampleCustomPlugin", CustomPluginArgs.builder()        
            .contentType("ZIP")
            .location(CustomPluginLocationArgs.builder()
                .s3(CustomPluginLocationS3Args.builder()
                    .bucketArn(exampleBucketV2.arn())
                    .fileKey(exampleBucketObjectv2.key())
                    .build())
                .build())
            .build());

    }
}
import pulumi
import pulumi_aws as aws

example_bucket_v2 = aws.s3.BucketV2("exampleBucketV2")
example_bucket_objectv2 = aws.s3.BucketObjectv2("exampleBucketObjectv2",
    bucket=example_bucket_v2.id,
    key="debezium.zip",
    source=pulumi.FileAsset("debezium.zip"))
example_custom_plugin = aws.mskconnect.CustomPlugin("exampleCustomPlugin",
    content_type="ZIP",
    location=aws.mskconnect.CustomPluginLocationArgs(
        s3=aws.mskconnect.CustomPluginLocationS3Args(
            bucket_arn=example_bucket_v2.arn,
            file_key=example_bucket_objectv2.key,
        ),
    ))
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const exampleBucketV2 = new aws.s3.BucketV2("exampleBucketV2", {});
const exampleBucketObjectv2 = new aws.s3.BucketObjectv2("exampleBucketObjectv2", {
    bucket: exampleBucketV2.id,
    key: "debezium.zip",
    source: new pulumi.asset.FileAsset("debezium.zip"),
});
const exampleCustomPlugin = new aws.mskconnect.CustomPlugin("exampleCustomPlugin", {
    contentType: "ZIP",
    location: {
        s3: {
            bucketArn: exampleBucketV2.arn,
            fileKey: exampleBucketObjectv2.key,
        },
    },
});
resources:
  exampleBucketV2:
    type: aws:s3:BucketV2
  exampleBucketObjectv2:
    type: aws:s3:BucketObjectv2
    properties:
      bucket: ${exampleBucketV2.id}
      key: debezium.zip
      source:
        Fn::FileAsset: debezium.zip
  exampleCustomPlugin:
    type: aws:mskconnect:CustomPlugin
    properties:
      contentType: ZIP
      location:
        s3:
          bucketArn: ${exampleBucketV2.arn}
          fileKey: ${exampleBucketObjectv2.key}

Create CustomPlugin Resource

new CustomPlugin(name: string, args: CustomPluginArgs, opts?: CustomResourceOptions);
@overload
def CustomPlugin(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 content_type: Optional[str] = None,
                 description: Optional[str] = None,
                 location: Optional[CustomPluginLocationArgs] = None,
                 name: Optional[str] = None)
@overload
def CustomPlugin(resource_name: str,
                 args: CustomPluginArgs,
                 opts: Optional[ResourceOptions] = None)
func NewCustomPlugin(ctx *Context, name string, args CustomPluginArgs, opts ...ResourceOption) (*CustomPlugin, error)
public CustomPlugin(string name, CustomPluginArgs args, CustomResourceOptions? opts = null)
public CustomPlugin(String name, CustomPluginArgs args)
public CustomPlugin(String name, CustomPluginArgs args, CustomResourceOptions options)
type: aws:mskconnect:CustomPlugin
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args CustomPluginArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args CustomPluginArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args CustomPluginArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args CustomPluginArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args CustomPluginArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

CustomPlugin Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The CustomPlugin resource accepts the following input properties:

ContentType string

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

Location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

Description string

A summary description of the custom plugin.

Name string

The name of the custom plugin..

ContentType string

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

Location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

Description string

A summary description of the custom plugin.

Name string

The name of the custom plugin..

contentType String

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

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

description String

A summary description of the custom plugin.

name String

The name of the custom plugin..

contentType string

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

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

description string

A summary description of the custom plugin.

name string

The name of the custom plugin..

content_type str

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

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

description str

A summary description of the custom plugin.

name str

The name of the custom plugin..

contentType String

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

location Property Map

Information about the location of a custom plugin. See below.

description String

A summary description of the custom plugin.

name String

The name of the custom plugin..

Outputs

All input properties are implicitly available as output properties. Additionally, the CustomPlugin resource produces the following output properties:

Arn string

the Amazon Resource Name (ARN) of the custom plugin.

Id string

The provider-assigned unique ID for this managed resource.

LatestRevision int

an ID of the latest successfully created revision of the custom plugin.

State string

the state of the custom plugin.

Arn string

the Amazon Resource Name (ARN) of the custom plugin.

Id string

The provider-assigned unique ID for this managed resource.

LatestRevision int

an ID of the latest successfully created revision of the custom plugin.

State string

the state of the custom plugin.

arn String

the Amazon Resource Name (ARN) of the custom plugin.

id String

The provider-assigned unique ID for this managed resource.

latestRevision Integer

an ID of the latest successfully created revision of the custom plugin.

state String

the state of the custom plugin.

arn string

the Amazon Resource Name (ARN) of the custom plugin.

id string

The provider-assigned unique ID for this managed resource.

latestRevision number

an ID of the latest successfully created revision of the custom plugin.

state string

the state of the custom plugin.

arn str

the Amazon Resource Name (ARN) of the custom plugin.

id str

The provider-assigned unique ID for this managed resource.

latest_revision int

an ID of the latest successfully created revision of the custom plugin.

state str

the state of the custom plugin.

arn String

the Amazon Resource Name (ARN) of the custom plugin.

id String

The provider-assigned unique ID for this managed resource.

latestRevision Number

an ID of the latest successfully created revision of the custom plugin.

state String

the state of the custom plugin.

Look up Existing CustomPlugin Resource

Get an existing CustomPlugin resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: CustomPluginState, opts?: CustomResourceOptions): CustomPlugin
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        content_type: Optional[str] = None,
        description: Optional[str] = None,
        latest_revision: Optional[int] = None,
        location: Optional[CustomPluginLocationArgs] = None,
        name: Optional[str] = None,
        state: Optional[str] = None) -> CustomPlugin
func GetCustomPlugin(ctx *Context, name string, id IDInput, state *CustomPluginState, opts ...ResourceOption) (*CustomPlugin, error)
public static CustomPlugin Get(string name, Input<string> id, CustomPluginState? state, CustomResourceOptions? opts = null)
public static CustomPlugin get(String name, Output<String> id, CustomPluginState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Arn string

the Amazon Resource Name (ARN) of the custom plugin.

ContentType string

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

Description string

A summary description of the custom plugin.

LatestRevision int

an ID of the latest successfully created revision of the custom plugin.

Location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

Name string

The name of the custom plugin..

State string

the state of the custom plugin.

Arn string

the Amazon Resource Name (ARN) of the custom plugin.

ContentType string

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

Description string

A summary description of the custom plugin.

LatestRevision int

an ID of the latest successfully created revision of the custom plugin.

Location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

Name string

The name of the custom plugin..

State string

the state of the custom plugin.

arn String

the Amazon Resource Name (ARN) of the custom plugin.

contentType String

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

description String

A summary description of the custom plugin.

latestRevision Integer

an ID of the latest successfully created revision of the custom plugin.

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

name String

The name of the custom plugin..

state String

the state of the custom plugin.

arn string

the Amazon Resource Name (ARN) of the custom plugin.

contentType string

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

description string

A summary description of the custom plugin.

latestRevision number

an ID of the latest successfully created revision of the custom plugin.

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

name string

The name of the custom plugin..

state string

the state of the custom plugin.

arn str

the Amazon Resource Name (ARN) of the custom plugin.

content_type str

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

description str

A summary description of the custom plugin.

latest_revision int

an ID of the latest successfully created revision of the custom plugin.

location CustomPluginLocationArgs

Information about the location of a custom plugin. See below.

name str

The name of the custom plugin..

state str

the state of the custom plugin.

arn String

the Amazon Resource Name (ARN) of the custom plugin.

contentType String

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

description String

A summary description of the custom plugin.

latestRevision Number

an ID of the latest successfully created revision of the custom plugin.

location Property Map

Information about the location of a custom plugin. See below.

name String

The name of the custom plugin..

state String

the state of the custom plugin.

Supporting Types

CustomPluginLocation

S3 CustomPluginLocationS3

Information of the plugin file stored in Amazon S3. See below.

S3 CustomPluginLocationS3

Information of the plugin file stored in Amazon S3. See below.

s3 CustomPluginLocationS3

Information of the plugin file stored in Amazon S3. See below.

s3 CustomPluginLocationS3

Information of the plugin file stored in Amazon S3. See below.

s3 CustomPluginLocationS3

Information of the plugin file stored in Amazon S3. See below.

s3 Property Map

Information of the plugin file stored in Amazon S3. See below.

CustomPluginLocationS3

BucketArn string

The Amazon Resource Name (ARN) of an S3 bucket.

FileKey string

The file key for an object in an S3 bucket.

ObjectVersion string

The version of an object in an S3 bucket.

BucketArn string

The Amazon Resource Name (ARN) of an S3 bucket.

FileKey string

The file key for an object in an S3 bucket.

ObjectVersion string

The version of an object in an S3 bucket.

bucketArn String

The Amazon Resource Name (ARN) of an S3 bucket.

fileKey String

The file key for an object in an S3 bucket.

objectVersion String

The version of an object in an S3 bucket.

bucketArn string

The Amazon Resource Name (ARN) of an S3 bucket.

fileKey string

The file key for an object in an S3 bucket.

objectVersion string

The version of an object in an S3 bucket.

bucket_arn str

The Amazon Resource Name (ARN) of an S3 bucket.

file_key str

The file key for an object in an S3 bucket.

object_version str

The version of an object in an S3 bucket.

bucketArn String

The Amazon Resource Name (ARN) of an S3 bucket.

fileKey String

The file key for an object in an S3 bucket.

objectVersion String

The version of an object in an S3 bucket.

Import

MSK Connect Custom Plugin can be imported using the plugin’s arn, e.g.,

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

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.