github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/mskconnect/connector.go (about)

     1  // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package mskconnect
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Provides an Amazon MSK Connect Connector resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // ### Basic configuration
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/mskconnect"
    28  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    29  //
    30  // )
    31  //
    32  //	func main() {
    33  //		pulumi.Run(func(ctx *pulumi.Context) error {
    34  //			_, err := mskconnect.NewConnector(ctx, "example", &mskconnect.ConnectorArgs{
    35  //				Name:                pulumi.String("example"),
    36  //				KafkaconnectVersion: pulumi.String("2.7.1"),
    37  //				Capacity: &mskconnect.ConnectorCapacityArgs{
    38  //					Autoscaling: &mskconnect.ConnectorCapacityAutoscalingArgs{
    39  //						McuCount:       pulumi.Int(1),
    40  //						MinWorkerCount: pulumi.Int(1),
    41  //						MaxWorkerCount: pulumi.Int(2),
    42  //						ScaleInPolicy: &mskconnect.ConnectorCapacityAutoscalingScaleInPolicyArgs{
    43  //							CpuUtilizationPercentage: pulumi.Int(20),
    44  //						},
    45  //						ScaleOutPolicy: &mskconnect.ConnectorCapacityAutoscalingScaleOutPolicyArgs{
    46  //							CpuUtilizationPercentage: pulumi.Int(80),
    47  //						},
    48  //					},
    49  //				},
    50  //				ConnectorConfiguration: pulumi.StringMap{
    51  //					"connector.class": pulumi.String("com.github.jcustenborder.kafka.connect.simulator.SimulatorSinkConnector"),
    52  //					"tasks.max":       pulumi.String("1"),
    53  //					"topics":          pulumi.String("example"),
    54  //				},
    55  //				KafkaCluster: &mskconnect.ConnectorKafkaClusterArgs{
    56  //					ApacheKafkaCluster: &mskconnect.ConnectorKafkaClusterApacheKafkaClusterArgs{
    57  //						BootstrapServers: pulumi.Any(exampleAwsMskCluster.BootstrapBrokersTls),
    58  //						Vpc: &mskconnect.ConnectorKafkaClusterApacheKafkaClusterVpcArgs{
    59  //							SecurityGroups: pulumi.StringArray{
    60  //								exampleAwsSecurityGroup.Id,
    61  //							},
    62  //							Subnets: pulumi.StringArray{
    63  //								example1.Id,
    64  //								example2.Id,
    65  //								example3.Id,
    66  //							},
    67  //						},
    68  //					},
    69  //				},
    70  //				KafkaClusterClientAuthentication: &mskconnect.ConnectorKafkaClusterClientAuthenticationArgs{
    71  //					AuthenticationType: pulumi.String("NONE"),
    72  //				},
    73  //				KafkaClusterEncryptionInTransit: &mskconnect.ConnectorKafkaClusterEncryptionInTransitArgs{
    74  //					EncryptionType: pulumi.String("TLS"),
    75  //				},
    76  //				Plugins: mskconnect.ConnectorPluginArray{
    77  //					&mskconnect.ConnectorPluginArgs{
    78  //						CustomPlugin: &mskconnect.ConnectorPluginCustomPluginArgs{
    79  //							Arn:      pulumi.Any(exampleAwsMskconnectCustomPlugin.Arn),
    80  //							Revision: pulumi.Any(exampleAwsMskconnectCustomPlugin.LatestRevision),
    81  //						},
    82  //					},
    83  //				},
    84  //				ServiceExecutionRoleArn: pulumi.Any(exampleAwsIamRole.Arn),
    85  //			})
    86  //			if err != nil {
    87  //				return err
    88  //			}
    89  //			return nil
    90  //		})
    91  //	}
    92  //
    93  // ```
    94  // <!--End PulumiCodeChooser -->
    95  //
    96  // ## Import
    97  //
    98  // Using `pulumi import`, import MSK Connect Connector using the connector's `arn`. For example:
    99  //
   100  // ```sh
   101  // $ pulumi import aws:mskconnect/connector:Connector example 'arn:aws:kafkaconnect:eu-central-1:123456789012:connector/example/264edee4-17a3-412e-bd76-6681cfc93805-3'
   102  // ```
   103  type Connector struct {
   104  	pulumi.CustomResourceState
   105  
   106  	// The Amazon Resource Name (ARN) of the custom plugin.
   107  	Arn pulumi.StringOutput `pulumi:"arn"`
   108  	// Information about the capacity allocated to the connector. See below.
   109  	Capacity ConnectorCapacityOutput `pulumi:"capacity"`
   110  	// A map of keys to values that represent the configuration for the connector.
   111  	ConnectorConfiguration pulumi.StringMapOutput `pulumi:"connectorConfiguration"`
   112  	// A summary description of the connector.
   113  	Description pulumi.StringPtrOutput `pulumi:"description"`
   114  	// Specifies which Apache Kafka cluster to connect to. See below.
   115  	KafkaCluster ConnectorKafkaClusterOutput `pulumi:"kafkaCluster"`
   116  	// Details of the client authentication used by the Apache Kafka cluster. See below.
   117  	KafkaClusterClientAuthentication ConnectorKafkaClusterClientAuthenticationOutput `pulumi:"kafkaClusterClientAuthentication"`
   118  	// Details of encryption in transit to the Apache Kafka cluster. See below.
   119  	KafkaClusterEncryptionInTransit ConnectorKafkaClusterEncryptionInTransitOutput `pulumi:"kafkaClusterEncryptionInTransit"`
   120  	// The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   121  	KafkaconnectVersion pulumi.StringOutput `pulumi:"kafkaconnectVersion"`
   122  	// Details about log delivery. See below.
   123  	LogDelivery ConnectorLogDeliveryPtrOutput `pulumi:"logDelivery"`
   124  	// The name of the connector.
   125  	Name pulumi.StringOutput `pulumi:"name"`
   126  	// Specifies which plugins to use for the connector. See below.
   127  	Plugins ConnectorPluginArrayOutput `pulumi:"plugins"`
   128  	// 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.
   129  	ServiceExecutionRoleArn pulumi.StringOutput `pulumi:"serviceExecutionRoleArn"`
   130  	// The current version of the connector.
   131  	Version pulumi.StringOutput `pulumi:"version"`
   132  	// Specifies which worker configuration to use with the connector. See below.
   133  	WorkerConfiguration ConnectorWorkerConfigurationPtrOutput `pulumi:"workerConfiguration"`
   134  }
   135  
   136  // NewConnector registers a new resource with the given unique name, arguments, and options.
   137  func NewConnector(ctx *pulumi.Context,
   138  	name string, args *ConnectorArgs, opts ...pulumi.ResourceOption) (*Connector, error) {
   139  	if args == nil {
   140  		return nil, errors.New("missing one or more required arguments")
   141  	}
   142  
   143  	if args.Capacity == nil {
   144  		return nil, errors.New("invalid value for required argument 'Capacity'")
   145  	}
   146  	if args.ConnectorConfiguration == nil {
   147  		return nil, errors.New("invalid value for required argument 'ConnectorConfiguration'")
   148  	}
   149  	if args.KafkaCluster == nil {
   150  		return nil, errors.New("invalid value for required argument 'KafkaCluster'")
   151  	}
   152  	if args.KafkaClusterClientAuthentication == nil {
   153  		return nil, errors.New("invalid value for required argument 'KafkaClusterClientAuthentication'")
   154  	}
   155  	if args.KafkaClusterEncryptionInTransit == nil {
   156  		return nil, errors.New("invalid value for required argument 'KafkaClusterEncryptionInTransit'")
   157  	}
   158  	if args.KafkaconnectVersion == nil {
   159  		return nil, errors.New("invalid value for required argument 'KafkaconnectVersion'")
   160  	}
   161  	if args.Plugins == nil {
   162  		return nil, errors.New("invalid value for required argument 'Plugins'")
   163  	}
   164  	if args.ServiceExecutionRoleArn == nil {
   165  		return nil, errors.New("invalid value for required argument 'ServiceExecutionRoleArn'")
   166  	}
   167  	opts = internal.PkgResourceDefaultOpts(opts)
   168  	var resource Connector
   169  	err := ctx.RegisterResource("aws:mskconnect/connector:Connector", name, args, &resource, opts...)
   170  	if err != nil {
   171  		return nil, err
   172  	}
   173  	return &resource, nil
   174  }
   175  
   176  // GetConnector gets an existing Connector resource's state with the given name, ID, and optional
   177  // state properties that are used to uniquely qualify the lookup (nil if not required).
   178  func GetConnector(ctx *pulumi.Context,
   179  	name string, id pulumi.IDInput, state *ConnectorState, opts ...pulumi.ResourceOption) (*Connector, error) {
   180  	var resource Connector
   181  	err := ctx.ReadResource("aws:mskconnect/connector:Connector", name, id, state, &resource, opts...)
   182  	if err != nil {
   183  		return nil, err
   184  	}
   185  	return &resource, nil
   186  }
   187  
   188  // Input properties used for looking up and filtering Connector resources.
   189  type connectorState struct {
   190  	// The Amazon Resource Name (ARN) of the custom plugin.
   191  	Arn *string `pulumi:"arn"`
   192  	// Information about the capacity allocated to the connector. See below.
   193  	Capacity *ConnectorCapacity `pulumi:"capacity"`
   194  	// A map of keys to values that represent the configuration for the connector.
   195  	ConnectorConfiguration map[string]string `pulumi:"connectorConfiguration"`
   196  	// A summary description of the connector.
   197  	Description *string `pulumi:"description"`
   198  	// Specifies which Apache Kafka cluster to connect to. See below.
   199  	KafkaCluster *ConnectorKafkaCluster `pulumi:"kafkaCluster"`
   200  	// Details of the client authentication used by the Apache Kafka cluster. See below.
   201  	KafkaClusterClientAuthentication *ConnectorKafkaClusterClientAuthentication `pulumi:"kafkaClusterClientAuthentication"`
   202  	// Details of encryption in transit to the Apache Kafka cluster. See below.
   203  	KafkaClusterEncryptionInTransit *ConnectorKafkaClusterEncryptionInTransit `pulumi:"kafkaClusterEncryptionInTransit"`
   204  	// The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   205  	KafkaconnectVersion *string `pulumi:"kafkaconnectVersion"`
   206  	// Details about log delivery. See below.
   207  	LogDelivery *ConnectorLogDelivery `pulumi:"logDelivery"`
   208  	// The name of the connector.
   209  	Name *string `pulumi:"name"`
   210  	// Specifies which plugins to use for the connector. See below.
   211  	Plugins []ConnectorPlugin `pulumi:"plugins"`
   212  	// 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.
   213  	ServiceExecutionRoleArn *string `pulumi:"serviceExecutionRoleArn"`
   214  	// The current version of the connector.
   215  	Version *string `pulumi:"version"`
   216  	// Specifies which worker configuration to use with the connector. See below.
   217  	WorkerConfiguration *ConnectorWorkerConfiguration `pulumi:"workerConfiguration"`
   218  }
   219  
   220  type ConnectorState struct {
   221  	// The Amazon Resource Name (ARN) of the custom plugin.
   222  	Arn pulumi.StringPtrInput
   223  	// Information about the capacity allocated to the connector. See below.
   224  	Capacity ConnectorCapacityPtrInput
   225  	// A map of keys to values that represent the configuration for the connector.
   226  	ConnectorConfiguration pulumi.StringMapInput
   227  	// A summary description of the connector.
   228  	Description pulumi.StringPtrInput
   229  	// Specifies which Apache Kafka cluster to connect to. See below.
   230  	KafkaCluster ConnectorKafkaClusterPtrInput
   231  	// Details of the client authentication used by the Apache Kafka cluster. See below.
   232  	KafkaClusterClientAuthentication ConnectorKafkaClusterClientAuthenticationPtrInput
   233  	// Details of encryption in transit to the Apache Kafka cluster. See below.
   234  	KafkaClusterEncryptionInTransit ConnectorKafkaClusterEncryptionInTransitPtrInput
   235  	// The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   236  	KafkaconnectVersion pulumi.StringPtrInput
   237  	// Details about log delivery. See below.
   238  	LogDelivery ConnectorLogDeliveryPtrInput
   239  	// The name of the connector.
   240  	Name pulumi.StringPtrInput
   241  	// Specifies which plugins to use for the connector. See below.
   242  	Plugins ConnectorPluginArrayInput
   243  	// 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.
   244  	ServiceExecutionRoleArn pulumi.StringPtrInput
   245  	// The current version of the connector.
   246  	Version pulumi.StringPtrInput
   247  	// Specifies which worker configuration to use with the connector. See below.
   248  	WorkerConfiguration ConnectorWorkerConfigurationPtrInput
   249  }
   250  
   251  func (ConnectorState) ElementType() reflect.Type {
   252  	return reflect.TypeOf((*connectorState)(nil)).Elem()
   253  }
   254  
   255  type connectorArgs struct {
   256  	// Information about the capacity allocated to the connector. See below.
   257  	Capacity ConnectorCapacity `pulumi:"capacity"`
   258  	// A map of keys to values that represent the configuration for the connector.
   259  	ConnectorConfiguration map[string]string `pulumi:"connectorConfiguration"`
   260  	// A summary description of the connector.
   261  	Description *string `pulumi:"description"`
   262  	// Specifies which Apache Kafka cluster to connect to. See below.
   263  	KafkaCluster ConnectorKafkaCluster `pulumi:"kafkaCluster"`
   264  	// Details of the client authentication used by the Apache Kafka cluster. See below.
   265  	KafkaClusterClientAuthentication ConnectorKafkaClusterClientAuthentication `pulumi:"kafkaClusterClientAuthentication"`
   266  	// Details of encryption in transit to the Apache Kafka cluster. See below.
   267  	KafkaClusterEncryptionInTransit ConnectorKafkaClusterEncryptionInTransit `pulumi:"kafkaClusterEncryptionInTransit"`
   268  	// The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   269  	KafkaconnectVersion string `pulumi:"kafkaconnectVersion"`
   270  	// Details about log delivery. See below.
   271  	LogDelivery *ConnectorLogDelivery `pulumi:"logDelivery"`
   272  	// The name of the connector.
   273  	Name *string `pulumi:"name"`
   274  	// Specifies which plugins to use for the connector. See below.
   275  	Plugins []ConnectorPlugin `pulumi:"plugins"`
   276  	// 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.
   277  	ServiceExecutionRoleArn string `pulumi:"serviceExecutionRoleArn"`
   278  	// Specifies which worker configuration to use with the connector. See below.
   279  	WorkerConfiguration *ConnectorWorkerConfiguration `pulumi:"workerConfiguration"`
   280  }
   281  
   282  // The set of arguments for constructing a Connector resource.
   283  type ConnectorArgs struct {
   284  	// Information about the capacity allocated to the connector. See below.
   285  	Capacity ConnectorCapacityInput
   286  	// A map of keys to values that represent the configuration for the connector.
   287  	ConnectorConfiguration pulumi.StringMapInput
   288  	// A summary description of the connector.
   289  	Description pulumi.StringPtrInput
   290  	// Specifies which Apache Kafka cluster to connect to. See below.
   291  	KafkaCluster ConnectorKafkaClusterInput
   292  	// Details of the client authentication used by the Apache Kafka cluster. See below.
   293  	KafkaClusterClientAuthentication ConnectorKafkaClusterClientAuthenticationInput
   294  	// Details of encryption in transit to the Apache Kafka cluster. See below.
   295  	KafkaClusterEncryptionInTransit ConnectorKafkaClusterEncryptionInTransitInput
   296  	// The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   297  	KafkaconnectVersion pulumi.StringInput
   298  	// Details about log delivery. See below.
   299  	LogDelivery ConnectorLogDeliveryPtrInput
   300  	// The name of the connector.
   301  	Name pulumi.StringPtrInput
   302  	// Specifies which plugins to use for the connector. See below.
   303  	Plugins ConnectorPluginArrayInput
   304  	// 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.
   305  	ServiceExecutionRoleArn pulumi.StringInput
   306  	// Specifies which worker configuration to use with the connector. See below.
   307  	WorkerConfiguration ConnectorWorkerConfigurationPtrInput
   308  }
   309  
   310  func (ConnectorArgs) ElementType() reflect.Type {
   311  	return reflect.TypeOf((*connectorArgs)(nil)).Elem()
   312  }
   313  
   314  type ConnectorInput interface {
   315  	pulumi.Input
   316  
   317  	ToConnectorOutput() ConnectorOutput
   318  	ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput
   319  }
   320  
   321  func (*Connector) ElementType() reflect.Type {
   322  	return reflect.TypeOf((**Connector)(nil)).Elem()
   323  }
   324  
   325  func (i *Connector) ToConnectorOutput() ConnectorOutput {
   326  	return i.ToConnectorOutputWithContext(context.Background())
   327  }
   328  
   329  func (i *Connector) ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput {
   330  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorOutput)
   331  }
   332  
   333  // ConnectorArrayInput is an input type that accepts ConnectorArray and ConnectorArrayOutput values.
   334  // You can construct a concrete instance of `ConnectorArrayInput` via:
   335  //
   336  //	ConnectorArray{ ConnectorArgs{...} }
   337  type ConnectorArrayInput interface {
   338  	pulumi.Input
   339  
   340  	ToConnectorArrayOutput() ConnectorArrayOutput
   341  	ToConnectorArrayOutputWithContext(context.Context) ConnectorArrayOutput
   342  }
   343  
   344  type ConnectorArray []ConnectorInput
   345  
   346  func (ConnectorArray) ElementType() reflect.Type {
   347  	return reflect.TypeOf((*[]*Connector)(nil)).Elem()
   348  }
   349  
   350  func (i ConnectorArray) ToConnectorArrayOutput() ConnectorArrayOutput {
   351  	return i.ToConnectorArrayOutputWithContext(context.Background())
   352  }
   353  
   354  func (i ConnectorArray) ToConnectorArrayOutputWithContext(ctx context.Context) ConnectorArrayOutput {
   355  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorArrayOutput)
   356  }
   357  
   358  // ConnectorMapInput is an input type that accepts ConnectorMap and ConnectorMapOutput values.
   359  // You can construct a concrete instance of `ConnectorMapInput` via:
   360  //
   361  //	ConnectorMap{ "key": ConnectorArgs{...} }
   362  type ConnectorMapInput interface {
   363  	pulumi.Input
   364  
   365  	ToConnectorMapOutput() ConnectorMapOutput
   366  	ToConnectorMapOutputWithContext(context.Context) ConnectorMapOutput
   367  }
   368  
   369  type ConnectorMap map[string]ConnectorInput
   370  
   371  func (ConnectorMap) ElementType() reflect.Type {
   372  	return reflect.TypeOf((*map[string]*Connector)(nil)).Elem()
   373  }
   374  
   375  func (i ConnectorMap) ToConnectorMapOutput() ConnectorMapOutput {
   376  	return i.ToConnectorMapOutputWithContext(context.Background())
   377  }
   378  
   379  func (i ConnectorMap) ToConnectorMapOutputWithContext(ctx context.Context) ConnectorMapOutput {
   380  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorMapOutput)
   381  }
   382  
   383  type ConnectorOutput struct{ *pulumi.OutputState }
   384  
   385  func (ConnectorOutput) ElementType() reflect.Type {
   386  	return reflect.TypeOf((**Connector)(nil)).Elem()
   387  }
   388  
   389  func (o ConnectorOutput) ToConnectorOutput() ConnectorOutput {
   390  	return o
   391  }
   392  
   393  func (o ConnectorOutput) ToConnectorOutputWithContext(ctx context.Context) ConnectorOutput {
   394  	return o
   395  }
   396  
   397  // The Amazon Resource Name (ARN) of the custom plugin.
   398  func (o ConnectorOutput) Arn() pulumi.StringOutput {
   399  	return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   400  }
   401  
   402  // Information about the capacity allocated to the connector. See below.
   403  func (o ConnectorOutput) Capacity() ConnectorCapacityOutput {
   404  	return o.ApplyT(func(v *Connector) ConnectorCapacityOutput { return v.Capacity }).(ConnectorCapacityOutput)
   405  }
   406  
   407  // A map of keys to values that represent the configuration for the connector.
   408  func (o ConnectorOutput) ConnectorConfiguration() pulumi.StringMapOutput {
   409  	return o.ApplyT(func(v *Connector) pulumi.StringMapOutput { return v.ConnectorConfiguration }).(pulumi.StringMapOutput)
   410  }
   411  
   412  // A summary description of the connector.
   413  func (o ConnectorOutput) Description() pulumi.StringPtrOutput {
   414  	return o.ApplyT(func(v *Connector) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   415  }
   416  
   417  // Specifies which Apache Kafka cluster to connect to. See below.
   418  func (o ConnectorOutput) KafkaCluster() ConnectorKafkaClusterOutput {
   419  	return o.ApplyT(func(v *Connector) ConnectorKafkaClusterOutput { return v.KafkaCluster }).(ConnectorKafkaClusterOutput)
   420  }
   421  
   422  // Details of the client authentication used by the Apache Kafka cluster. See below.
   423  func (o ConnectorOutput) KafkaClusterClientAuthentication() ConnectorKafkaClusterClientAuthenticationOutput {
   424  	return o.ApplyT(func(v *Connector) ConnectorKafkaClusterClientAuthenticationOutput {
   425  		return v.KafkaClusterClientAuthentication
   426  	}).(ConnectorKafkaClusterClientAuthenticationOutput)
   427  }
   428  
   429  // Details of encryption in transit to the Apache Kafka cluster. See below.
   430  func (o ConnectorOutput) KafkaClusterEncryptionInTransit() ConnectorKafkaClusterEncryptionInTransitOutput {
   431  	return o.ApplyT(func(v *Connector) ConnectorKafkaClusterEncryptionInTransitOutput {
   432  		return v.KafkaClusterEncryptionInTransit
   433  	}).(ConnectorKafkaClusterEncryptionInTransitOutput)
   434  }
   435  
   436  // The version of Kafka Connect. It has to be compatible with both the Apache Kafka cluster's version and the plugins.
   437  func (o ConnectorOutput) KafkaconnectVersion() pulumi.StringOutput {
   438  	return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.KafkaconnectVersion }).(pulumi.StringOutput)
   439  }
   440  
   441  // Details about log delivery. See below.
   442  func (o ConnectorOutput) LogDelivery() ConnectorLogDeliveryPtrOutput {
   443  	return o.ApplyT(func(v *Connector) ConnectorLogDeliveryPtrOutput { return v.LogDelivery }).(ConnectorLogDeliveryPtrOutput)
   444  }
   445  
   446  // The name of the connector.
   447  func (o ConnectorOutput) Name() pulumi.StringOutput {
   448  	return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   449  }
   450  
   451  // Specifies which plugins to use for the connector. See below.
   452  func (o ConnectorOutput) Plugins() ConnectorPluginArrayOutput {
   453  	return o.ApplyT(func(v *Connector) ConnectorPluginArrayOutput { return v.Plugins }).(ConnectorPluginArrayOutput)
   454  }
   455  
   456  // 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.
   457  func (o ConnectorOutput) ServiceExecutionRoleArn() pulumi.StringOutput {
   458  	return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.ServiceExecutionRoleArn }).(pulumi.StringOutput)
   459  }
   460  
   461  // The current version of the connector.
   462  func (o ConnectorOutput) Version() pulumi.StringOutput {
   463  	return o.ApplyT(func(v *Connector) pulumi.StringOutput { return v.Version }).(pulumi.StringOutput)
   464  }
   465  
   466  // Specifies which worker configuration to use with the connector. See below.
   467  func (o ConnectorOutput) WorkerConfiguration() ConnectorWorkerConfigurationPtrOutput {
   468  	return o.ApplyT(func(v *Connector) ConnectorWorkerConfigurationPtrOutput { return v.WorkerConfiguration }).(ConnectorWorkerConfigurationPtrOutput)
   469  }
   470  
   471  type ConnectorArrayOutput struct{ *pulumi.OutputState }
   472  
   473  func (ConnectorArrayOutput) ElementType() reflect.Type {
   474  	return reflect.TypeOf((*[]*Connector)(nil)).Elem()
   475  }
   476  
   477  func (o ConnectorArrayOutput) ToConnectorArrayOutput() ConnectorArrayOutput {
   478  	return o
   479  }
   480  
   481  func (o ConnectorArrayOutput) ToConnectorArrayOutputWithContext(ctx context.Context) ConnectorArrayOutput {
   482  	return o
   483  }
   484  
   485  func (o ConnectorArrayOutput) Index(i pulumi.IntInput) ConnectorOutput {
   486  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Connector {
   487  		return vs[0].([]*Connector)[vs[1].(int)]
   488  	}).(ConnectorOutput)
   489  }
   490  
   491  type ConnectorMapOutput struct{ *pulumi.OutputState }
   492  
   493  func (ConnectorMapOutput) ElementType() reflect.Type {
   494  	return reflect.TypeOf((*map[string]*Connector)(nil)).Elem()
   495  }
   496  
   497  func (o ConnectorMapOutput) ToConnectorMapOutput() ConnectorMapOutput {
   498  	return o
   499  }
   500  
   501  func (o ConnectorMapOutput) ToConnectorMapOutputWithContext(ctx context.Context) ConnectorMapOutput {
   502  	return o
   503  }
   504  
   505  func (o ConnectorMapOutput) MapIndex(k pulumi.StringInput) ConnectorOutput {
   506  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Connector {
   507  		return vs[0].(map[string]*Connector)[vs[1].(string)]
   508  	}).(ConnectorOutput)
   509  }
   510  
   511  func init() {
   512  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorInput)(nil)).Elem(), &Connector{})
   513  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorArrayInput)(nil)).Elem(), ConnectorArray{})
   514  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorMapInput)(nil)).Elem(), ConnectorMap{})
   515  	pulumi.RegisterOutputType(ConnectorOutput{})
   516  	pulumi.RegisterOutputType(ConnectorArrayOutput{})
   517  	pulumi.RegisterOutputType(ConnectorMapOutput{})
   518  }