github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appflow/connectorProfile.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 appflow
     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 AppFlow connector profile resource.
    16  //
    17  // For information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html).
    18  // For specific information about creating an AppFlow connector profile, see the
    19  // [CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference.
    20  //
    21  // ## Example Usage
    22  //
    23  // <!--Start PulumiCodeChooser -->
    24  // ```go
    25  // package main
    26  //
    27  // import (
    28  //
    29  //	"encoding/json"
    30  //	"fmt"
    31  //
    32  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appflow"
    33  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
    34  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift"
    35  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3"
    36  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    37  //
    38  // )
    39  //
    40  //	func main() {
    41  //		pulumi.Run(func(ctx *pulumi.Context) error {
    42  //			_, err := iam.LookupPolicy(ctx, &iam.LookupPolicyArgs{
    43  //				Name: pulumi.StringRef("AmazonRedshiftAllCommandsFullAccess"),
    44  //			}, nil)
    45  //			if err != nil {
    46  //				return err
    47  //			}
    48  //			tmpJSON0, err := json.Marshal(map[string]interface{}{
    49  //				"Version": "2012-10-17",
    50  //				"Statement": []map[string]interface{}{
    51  //					map[string]interface{}{
    52  //						"Action": "sts:AssumeRole",
    53  //						"Effect": "Allow",
    54  //						"Sid":    "",
    55  //						"Principal": map[string]interface{}{
    56  //							"Service": "ec2.amazonaws.com",
    57  //						},
    58  //					},
    59  //				},
    60  //			})
    61  //			if err != nil {
    62  //				return err
    63  //			}
    64  //			json0 := string(tmpJSON0)
    65  //			exampleRole, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
    66  //				Name: pulumi.String("example_role"),
    67  //				ManagedPolicyArns: pulumi.StringArray{
    68  //					test.Arn,
    69  //				},
    70  //				AssumeRolePolicy: pulumi.String(json0),
    71  //			})
    72  //			if err != nil {
    73  //				return err
    74  //			}
    75  //			exampleBucketV2, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{
    76  //				Bucket: pulumi.String("example_bucket"),
    77  //			})
    78  //			if err != nil {
    79  //				return err
    80  //			}
    81  //			exampleCluster, err := redshift.NewCluster(ctx, "example", &redshift.ClusterArgs{
    82  //				ClusterIdentifier: pulumi.String("example_cluster"),
    83  //				DatabaseName:      pulumi.String("example_db"),
    84  //				MasterUsername:    pulumi.String("exampleuser"),
    85  //				MasterPassword:    pulumi.String("examplePassword123!"),
    86  //				NodeType:          pulumi.String("dc1.large"),
    87  //				ClusterType:       pulumi.String("single-node"),
    88  //			})
    89  //			if err != nil {
    90  //				return err
    91  //			}
    92  //			_, err = appflow.NewConnectorProfile(ctx, "example", &appflow.ConnectorProfileArgs{
    93  //				Name:           pulumi.String("example_profile"),
    94  //				ConnectorType:  pulumi.String("Redshift"),
    95  //				ConnectionMode: pulumi.String("Public"),
    96  //				ConnectorProfileConfig: &appflow.ConnectorProfileConnectorProfileConfigArgs{
    97  //					ConnectorProfileCredentials: &appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsArgs{
    98  //						Redshift: &appflow.ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsRedshiftArgs{
    99  //							Password: exampleCluster.MasterPassword,
   100  //							Username: exampleCluster.MasterUsername,
   101  //						},
   102  //					},
   103  //					ConnectorProfileProperties: &appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesArgs{
   104  //						Redshift: &appflow.ConnectorProfileConnectorProfileConfigConnectorProfilePropertiesRedshiftArgs{
   105  //							BucketName: exampleBucketV2.Name,
   106  //							DatabaseUrl: pulumi.All(exampleCluster.Endpoint, exampleCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {
   107  //								endpoint := _args[0].(string)
   108  //								databaseName := _args[1].(string)
   109  //								return fmt.Sprintf("jdbc:redshift://%v/%v", endpoint, databaseName), nil
   110  //							}).(pulumi.StringOutput),
   111  //							RoleArn: exampleRole.Arn,
   112  //						},
   113  //					},
   114  //				},
   115  //			})
   116  //			if err != nil {
   117  //				return err
   118  //			}
   119  //			return nil
   120  //		})
   121  //	}
   122  //
   123  // ```
   124  // <!--End PulumiCodeChooser -->
   125  //
   126  // ## Import
   127  //
   128  // Using `pulumi import`, import AppFlow Connector Profile using the connector profile `arn`. For example:
   129  //
   130  // ```sh
   131  // $ pulumi import aws:appflow/connectorProfile:ConnectorProfile profile arn:aws:appflow:us-west-2:123456789012:connectorprofile/example-profile
   132  // ```
   133  type ConnectorProfile struct {
   134  	pulumi.CustomResourceState
   135  
   136  	// ARN of the connector profile.
   137  	Arn pulumi.StringOutput `pulumi:"arn"`
   138  	// Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   139  	ConnectionMode pulumi.StringOutput `pulumi:"connectionMode"`
   140  	// The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   141  	ConnectorLabel pulumi.StringPtrOutput `pulumi:"connectorLabel"`
   142  	// Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   143  	ConnectorProfileConfig ConnectorProfileConnectorProfileConfigOutput `pulumi:"connectorProfileConfig"`
   144  	// The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   145  	ConnectorType pulumi.StringOutput `pulumi:"connectorType"`
   146  	// ARN of the connector profile credentials.
   147  	CredentialsArn pulumi.StringOutput `pulumi:"credentialsArn"`
   148  	// ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   149  	KmsArn pulumi.StringOutput `pulumi:"kmsArn"`
   150  	Name   pulumi.StringOutput `pulumi:"name"`
   151  }
   152  
   153  // NewConnectorProfile registers a new resource with the given unique name, arguments, and options.
   154  func NewConnectorProfile(ctx *pulumi.Context,
   155  	name string, args *ConnectorProfileArgs, opts ...pulumi.ResourceOption) (*ConnectorProfile, error) {
   156  	if args == nil {
   157  		return nil, errors.New("missing one or more required arguments")
   158  	}
   159  
   160  	if args.ConnectionMode == nil {
   161  		return nil, errors.New("invalid value for required argument 'ConnectionMode'")
   162  	}
   163  	if args.ConnectorProfileConfig == nil {
   164  		return nil, errors.New("invalid value for required argument 'ConnectorProfileConfig'")
   165  	}
   166  	if args.ConnectorType == nil {
   167  		return nil, errors.New("invalid value for required argument 'ConnectorType'")
   168  	}
   169  	opts = internal.PkgResourceDefaultOpts(opts)
   170  	var resource ConnectorProfile
   171  	err := ctx.RegisterResource("aws:appflow/connectorProfile:ConnectorProfile", name, args, &resource, opts...)
   172  	if err != nil {
   173  		return nil, err
   174  	}
   175  	return &resource, nil
   176  }
   177  
   178  // GetConnectorProfile gets an existing ConnectorProfile resource's state with the given name, ID, and optional
   179  // state properties that are used to uniquely qualify the lookup (nil if not required).
   180  func GetConnectorProfile(ctx *pulumi.Context,
   181  	name string, id pulumi.IDInput, state *ConnectorProfileState, opts ...pulumi.ResourceOption) (*ConnectorProfile, error) {
   182  	var resource ConnectorProfile
   183  	err := ctx.ReadResource("aws:appflow/connectorProfile:ConnectorProfile", name, id, state, &resource, opts...)
   184  	if err != nil {
   185  		return nil, err
   186  	}
   187  	return &resource, nil
   188  }
   189  
   190  // Input properties used for looking up and filtering ConnectorProfile resources.
   191  type connectorProfileState struct {
   192  	// ARN of the connector profile.
   193  	Arn *string `pulumi:"arn"`
   194  	// Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   195  	ConnectionMode *string `pulumi:"connectionMode"`
   196  	// The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   197  	ConnectorLabel *string `pulumi:"connectorLabel"`
   198  	// Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   199  	ConnectorProfileConfig *ConnectorProfileConnectorProfileConfig `pulumi:"connectorProfileConfig"`
   200  	// The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   201  	ConnectorType *string `pulumi:"connectorType"`
   202  	// ARN of the connector profile credentials.
   203  	CredentialsArn *string `pulumi:"credentialsArn"`
   204  	// ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   205  	KmsArn *string `pulumi:"kmsArn"`
   206  	Name   *string `pulumi:"name"`
   207  }
   208  
   209  type ConnectorProfileState struct {
   210  	// ARN of the connector profile.
   211  	Arn pulumi.StringPtrInput
   212  	// Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   213  	ConnectionMode pulumi.StringPtrInput
   214  	// The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   215  	ConnectorLabel pulumi.StringPtrInput
   216  	// Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   217  	ConnectorProfileConfig ConnectorProfileConnectorProfileConfigPtrInput
   218  	// The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   219  	ConnectorType pulumi.StringPtrInput
   220  	// ARN of the connector profile credentials.
   221  	CredentialsArn pulumi.StringPtrInput
   222  	// ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   223  	KmsArn pulumi.StringPtrInput
   224  	Name   pulumi.StringPtrInput
   225  }
   226  
   227  func (ConnectorProfileState) ElementType() reflect.Type {
   228  	return reflect.TypeOf((*connectorProfileState)(nil)).Elem()
   229  }
   230  
   231  type connectorProfileArgs struct {
   232  	// Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   233  	ConnectionMode string `pulumi:"connectionMode"`
   234  	// The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   235  	ConnectorLabel *string `pulumi:"connectorLabel"`
   236  	// Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   237  	ConnectorProfileConfig ConnectorProfileConnectorProfileConfig `pulumi:"connectorProfileConfig"`
   238  	// The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   239  	ConnectorType string `pulumi:"connectorType"`
   240  	// ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   241  	KmsArn *string `pulumi:"kmsArn"`
   242  	Name   *string `pulumi:"name"`
   243  }
   244  
   245  // The set of arguments for constructing a ConnectorProfile resource.
   246  type ConnectorProfileArgs struct {
   247  	// Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   248  	ConnectionMode pulumi.StringInput
   249  	// The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   250  	ConnectorLabel pulumi.StringPtrInput
   251  	// Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   252  	ConnectorProfileConfig ConnectorProfileConnectorProfileConfigInput
   253  	// The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   254  	ConnectorType pulumi.StringInput
   255  	// ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   256  	KmsArn pulumi.StringPtrInput
   257  	Name   pulumi.StringPtrInput
   258  }
   259  
   260  func (ConnectorProfileArgs) ElementType() reflect.Type {
   261  	return reflect.TypeOf((*connectorProfileArgs)(nil)).Elem()
   262  }
   263  
   264  type ConnectorProfileInput interface {
   265  	pulumi.Input
   266  
   267  	ToConnectorProfileOutput() ConnectorProfileOutput
   268  	ToConnectorProfileOutputWithContext(ctx context.Context) ConnectorProfileOutput
   269  }
   270  
   271  func (*ConnectorProfile) ElementType() reflect.Type {
   272  	return reflect.TypeOf((**ConnectorProfile)(nil)).Elem()
   273  }
   274  
   275  func (i *ConnectorProfile) ToConnectorProfileOutput() ConnectorProfileOutput {
   276  	return i.ToConnectorProfileOutputWithContext(context.Background())
   277  }
   278  
   279  func (i *ConnectorProfile) ToConnectorProfileOutputWithContext(ctx context.Context) ConnectorProfileOutput {
   280  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorProfileOutput)
   281  }
   282  
   283  // ConnectorProfileArrayInput is an input type that accepts ConnectorProfileArray and ConnectorProfileArrayOutput values.
   284  // You can construct a concrete instance of `ConnectorProfileArrayInput` via:
   285  //
   286  //	ConnectorProfileArray{ ConnectorProfileArgs{...} }
   287  type ConnectorProfileArrayInput interface {
   288  	pulumi.Input
   289  
   290  	ToConnectorProfileArrayOutput() ConnectorProfileArrayOutput
   291  	ToConnectorProfileArrayOutputWithContext(context.Context) ConnectorProfileArrayOutput
   292  }
   293  
   294  type ConnectorProfileArray []ConnectorProfileInput
   295  
   296  func (ConnectorProfileArray) ElementType() reflect.Type {
   297  	return reflect.TypeOf((*[]*ConnectorProfile)(nil)).Elem()
   298  }
   299  
   300  func (i ConnectorProfileArray) ToConnectorProfileArrayOutput() ConnectorProfileArrayOutput {
   301  	return i.ToConnectorProfileArrayOutputWithContext(context.Background())
   302  }
   303  
   304  func (i ConnectorProfileArray) ToConnectorProfileArrayOutputWithContext(ctx context.Context) ConnectorProfileArrayOutput {
   305  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorProfileArrayOutput)
   306  }
   307  
   308  // ConnectorProfileMapInput is an input type that accepts ConnectorProfileMap and ConnectorProfileMapOutput values.
   309  // You can construct a concrete instance of `ConnectorProfileMapInput` via:
   310  //
   311  //	ConnectorProfileMap{ "key": ConnectorProfileArgs{...} }
   312  type ConnectorProfileMapInput interface {
   313  	pulumi.Input
   314  
   315  	ToConnectorProfileMapOutput() ConnectorProfileMapOutput
   316  	ToConnectorProfileMapOutputWithContext(context.Context) ConnectorProfileMapOutput
   317  }
   318  
   319  type ConnectorProfileMap map[string]ConnectorProfileInput
   320  
   321  func (ConnectorProfileMap) ElementType() reflect.Type {
   322  	return reflect.TypeOf((*map[string]*ConnectorProfile)(nil)).Elem()
   323  }
   324  
   325  func (i ConnectorProfileMap) ToConnectorProfileMapOutput() ConnectorProfileMapOutput {
   326  	return i.ToConnectorProfileMapOutputWithContext(context.Background())
   327  }
   328  
   329  func (i ConnectorProfileMap) ToConnectorProfileMapOutputWithContext(ctx context.Context) ConnectorProfileMapOutput {
   330  	return pulumi.ToOutputWithContext(ctx, i).(ConnectorProfileMapOutput)
   331  }
   332  
   333  type ConnectorProfileOutput struct{ *pulumi.OutputState }
   334  
   335  func (ConnectorProfileOutput) ElementType() reflect.Type {
   336  	return reflect.TypeOf((**ConnectorProfile)(nil)).Elem()
   337  }
   338  
   339  func (o ConnectorProfileOutput) ToConnectorProfileOutput() ConnectorProfileOutput {
   340  	return o
   341  }
   342  
   343  func (o ConnectorProfileOutput) ToConnectorProfileOutputWithContext(ctx context.Context) ConnectorProfileOutput {
   344  	return o
   345  }
   346  
   347  // ARN of the connector profile.
   348  func (o ConnectorProfileOutput) Arn() pulumi.StringOutput {
   349  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   350  }
   351  
   352  // Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`.
   353  func (o ConnectorProfileOutput) ConnectionMode() pulumi.StringOutput {
   354  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.ConnectionMode }).(pulumi.StringOutput)
   355  }
   356  
   357  // The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for `CustomConnector` connector type.
   358  func (o ConnectorProfileOutput) ConnectorLabel() pulumi.StringPtrOutput {
   359  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringPtrOutput { return v.ConnectorLabel }).(pulumi.StringPtrOutput)
   360  }
   361  
   362  // Defines the connector-specific configuration and credentials. See Connector Profile Config for more details.
   363  func (o ConnectorProfileOutput) ConnectorProfileConfig() ConnectorProfileConnectorProfileConfigOutput {
   364  	return o.ApplyT(func(v *ConnectorProfile) ConnectorProfileConnectorProfileConfigOutput {
   365  		return v.ConnectorProfileConfig
   366  	}).(ConnectorProfileConnectorProfileConfigOutput)
   367  }
   368  
   369  // The type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`.
   370  func (o ConnectorProfileOutput) ConnectorType() pulumi.StringOutput {
   371  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.ConnectorType }).(pulumi.StringOutput)
   372  }
   373  
   374  // ARN of the connector profile credentials.
   375  func (o ConnectorProfileOutput) CredentialsArn() pulumi.StringOutput {
   376  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.CredentialsArn }).(pulumi.StringOutput)
   377  }
   378  
   379  // ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.
   380  func (o ConnectorProfileOutput) KmsArn() pulumi.StringOutput {
   381  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.KmsArn }).(pulumi.StringOutput)
   382  }
   383  
   384  func (o ConnectorProfileOutput) Name() pulumi.StringOutput {
   385  	return o.ApplyT(func(v *ConnectorProfile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   386  }
   387  
   388  type ConnectorProfileArrayOutput struct{ *pulumi.OutputState }
   389  
   390  func (ConnectorProfileArrayOutput) ElementType() reflect.Type {
   391  	return reflect.TypeOf((*[]*ConnectorProfile)(nil)).Elem()
   392  }
   393  
   394  func (o ConnectorProfileArrayOutput) ToConnectorProfileArrayOutput() ConnectorProfileArrayOutput {
   395  	return o
   396  }
   397  
   398  func (o ConnectorProfileArrayOutput) ToConnectorProfileArrayOutputWithContext(ctx context.Context) ConnectorProfileArrayOutput {
   399  	return o
   400  }
   401  
   402  func (o ConnectorProfileArrayOutput) Index(i pulumi.IntInput) ConnectorProfileOutput {
   403  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConnectorProfile {
   404  		return vs[0].([]*ConnectorProfile)[vs[1].(int)]
   405  	}).(ConnectorProfileOutput)
   406  }
   407  
   408  type ConnectorProfileMapOutput struct{ *pulumi.OutputState }
   409  
   410  func (ConnectorProfileMapOutput) ElementType() reflect.Type {
   411  	return reflect.TypeOf((*map[string]*ConnectorProfile)(nil)).Elem()
   412  }
   413  
   414  func (o ConnectorProfileMapOutput) ToConnectorProfileMapOutput() ConnectorProfileMapOutput {
   415  	return o
   416  }
   417  
   418  func (o ConnectorProfileMapOutput) ToConnectorProfileMapOutputWithContext(ctx context.Context) ConnectorProfileMapOutput {
   419  	return o
   420  }
   421  
   422  func (o ConnectorProfileMapOutput) MapIndex(k pulumi.StringInput) ConnectorProfileOutput {
   423  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConnectorProfile {
   424  		return vs[0].(map[string]*ConnectorProfile)[vs[1].(string)]
   425  	}).(ConnectorProfileOutput)
   426  }
   427  
   428  func init() {
   429  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorProfileInput)(nil)).Elem(), &ConnectorProfile{})
   430  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorProfileArrayInput)(nil)).Elem(), ConnectorProfileArray{})
   431  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectorProfileMapInput)(nil)).Elem(), ConnectorProfileMap{})
   432  	pulumi.RegisterOutputType(ConnectorProfileOutput{})
   433  	pulumi.RegisterOutputType(ConnectorProfileArrayOutput{})
   434  	pulumi.RegisterOutputType(ConnectorProfileMapOutput{})
   435  }