1. Packages
  2. AWS Classic
  3. API Docs
  4. mskconnect
  5. CustomPlugin

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

aws.mskconnect.CustomPlugin

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi

    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=aws.mskconnect.CustomPluginLocationArgs(
            s3=aws.mskconnect.CustomPluginLocationS3Args(
                bucket_arn=example.arn,
                file_key=example_bucket_objectv2.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
    	})
    }
    
    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 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}
    

    Create CustomPlugin Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new CustomPlugin(name: string, args: CustomPluginArgs, opts?: CustomResourceOptions);
    @overload
    def CustomPlugin(resource_name: str,
                     args: CustomPluginArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def CustomPlugin(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     content_type: Optional[str] = None,
                     location: Optional[CustomPluginLocationArgs] = None,
                     description: Optional[str] = None,
                     name: Optional[str] = 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.
    
    

    Parameters

    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.

    Example

    The following reference example uses placeholder values for all input properties.

    var customPluginResource = new Aws.MskConnect.CustomPlugin("customPluginResource", new()
    {
        ContentType = "string",
        Location = new Aws.MskConnect.Inputs.CustomPluginLocationArgs
        {
            S3 = new Aws.MskConnect.Inputs.CustomPluginLocationS3Args
            {
                BucketArn = "string",
                FileKey = "string",
                ObjectVersion = "string",
            },
        },
        Description = "string",
        Name = "string",
    });
    
    example, err := mskconnect.NewCustomPlugin(ctx, "customPluginResource", &mskconnect.CustomPluginArgs{
    	ContentType: pulumi.String("string"),
    	Location: &mskconnect.CustomPluginLocationArgs{
    		S3: &mskconnect.CustomPluginLocationS3Args{
    			BucketArn:     pulumi.String("string"),
    			FileKey:       pulumi.String("string"),
    			ObjectVersion: pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    })
    
    var customPluginResource = new CustomPlugin("customPluginResource", CustomPluginArgs.builder()        
        .contentType("string")
        .location(CustomPluginLocationArgs.builder()
            .s3(CustomPluginLocationS3Args.builder()
                .bucketArn("string")
                .fileKey("string")
                .objectVersion("string")
                .build())
            .build())
        .description("string")
        .name("string")
        .build());
    
    custom_plugin_resource = aws.mskconnect.CustomPlugin("customPluginResource",
        content_type="string",
        location=aws.mskconnect.CustomPluginLocationArgs(
            s3=aws.mskconnect.CustomPluginLocationS3Args(
                bucket_arn="string",
                file_key="string",
                object_version="string",
            ),
        ),
        description="string",
        name="string")
    
    const customPluginResource = new aws.mskconnect.CustomPlugin("customPluginResource", {
        contentType: "string",
        location: {
            s3: {
                bucketArn: "string",
                fileKey: "string",
                objectVersion: "string",
            },
        },
        description: "string",
        name: "string",
    });
    
    type: aws:mskconnect:CustomPlugin
    properties:
        contentType: string
        description: string
        location:
            s3:
                bucketArn: string
                fileKey: string
                objectVersion: string
        name: string
    

    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 CustomPluginLocation

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

    The following arguments are optional:

    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.

    The following arguments are optional:

    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 CustomPluginLocation

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

    The following arguments are optional:

    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 CustomPluginLocation

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

    The following arguments are optional:

    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.

    The following arguments are optional:

    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.

    The following arguments are optional:

    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 CustomPluginLocation

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

    The following arguments are optional:

    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.

    The following arguments are optional:

    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 CustomPluginLocation

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

    The following arguments are optional:

    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 CustomPluginLocation

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

    The following arguments are optional:

    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.

    The following arguments are optional:

    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.

    The following arguments are optional:

    name String
    The name of the custom plugin..
    state String
    the state of the custom plugin.

    Supporting Types

    CustomPluginLocation, CustomPluginLocationArgs

    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, CustomPluginLocationS3Args

    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

    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'
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.31.0 published on Monday, Apr 15, 2024 by Pulumi