github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/sagemaker/endpointConfiguration.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 sagemaker
     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 a SageMaker endpoint configuration resource.
    16  //
    17  // ## Example Usage
    18  //
    19  // Basic usage:
    20  //
    21  // <!--Start PulumiCodeChooser -->
    22  // ```go
    23  // package main
    24  //
    25  // import (
    26  //
    27  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker"
    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 := sagemaker.NewEndpointConfiguration(ctx, "ec", &sagemaker.EndpointConfigurationArgs{
    35  //				Name: pulumi.String("my-endpoint-config"),
    36  //				ProductionVariants: sagemaker.EndpointConfigurationProductionVariantArray{
    37  //					&sagemaker.EndpointConfigurationProductionVariantArgs{
    38  //						VariantName:          pulumi.String("variant-1"),
    39  //						ModelName:            pulumi.Any(m.Name),
    40  //						InitialInstanceCount: pulumi.Int(1),
    41  //						InstanceType:         pulumi.String("ml.t2.medium"),
    42  //					},
    43  //				},
    44  //				Tags: pulumi.StringMap{
    45  //					"Name": pulumi.String("foo"),
    46  //				},
    47  //			})
    48  //			if err != nil {
    49  //				return err
    50  //			}
    51  //			return nil
    52  //		})
    53  //	}
    54  //
    55  // ```
    56  // <!--End PulumiCodeChooser -->
    57  //
    58  // ## Import
    59  //
    60  // Using `pulumi import`, import endpoint configurations using the `name`. For example:
    61  //
    62  // ```sh
    63  // $ pulumi import aws:sagemaker/endpointConfiguration:EndpointConfiguration test_endpoint_config endpoint-config-foo
    64  // ```
    65  type EndpointConfiguration struct {
    66  	pulumi.CustomResourceState
    67  
    68  	// The Amazon Resource Name (ARN) assigned by AWS to this endpoint configuration.
    69  	Arn pulumi.StringOutput `pulumi:"arn"`
    70  	// Specifies configuration for how an endpoint performs asynchronous inference.
    71  	AsyncInferenceConfig EndpointConfigurationAsyncInferenceConfigPtrOutput `pulumi:"asyncInferenceConfig"`
    72  	// Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
    73  	DataCaptureConfig EndpointConfigurationDataCaptureConfigPtrOutput `pulumi:"dataCaptureConfig"`
    74  	// Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
    75  	KmsKeyArn pulumi.StringPtrOutput `pulumi:"kmsKeyArn"`
    76  	// The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
    77  	Name pulumi.StringOutput `pulumi:"name"`
    78  	// Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
    79  	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
    80  	// An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
    81  	ProductionVariants EndpointConfigurationProductionVariantArrayOutput `pulumi:"productionVariants"`
    82  	// Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
    83  	ShadowProductionVariants EndpointConfigurationShadowProductionVariantArrayOutput `pulumi:"shadowProductionVariants"`
    84  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    85  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    86  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    87  	//
    88  	// Deprecated: Please use `tags` instead.
    89  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    90  }
    91  
    92  // NewEndpointConfiguration registers a new resource with the given unique name, arguments, and options.
    93  func NewEndpointConfiguration(ctx *pulumi.Context,
    94  	name string, args *EndpointConfigurationArgs, opts ...pulumi.ResourceOption) (*EndpointConfiguration, error) {
    95  	if args == nil {
    96  		return nil, errors.New("missing one or more required arguments")
    97  	}
    98  
    99  	if args.ProductionVariants == nil {
   100  		return nil, errors.New("invalid value for required argument 'ProductionVariants'")
   101  	}
   102  	opts = internal.PkgResourceDefaultOpts(opts)
   103  	var resource EndpointConfiguration
   104  	err := ctx.RegisterResource("aws:sagemaker/endpointConfiguration:EndpointConfiguration", name, args, &resource, opts...)
   105  	if err != nil {
   106  		return nil, err
   107  	}
   108  	return &resource, nil
   109  }
   110  
   111  // GetEndpointConfiguration gets an existing EndpointConfiguration resource's state with the given name, ID, and optional
   112  // state properties that are used to uniquely qualify the lookup (nil if not required).
   113  func GetEndpointConfiguration(ctx *pulumi.Context,
   114  	name string, id pulumi.IDInput, state *EndpointConfigurationState, opts ...pulumi.ResourceOption) (*EndpointConfiguration, error) {
   115  	var resource EndpointConfiguration
   116  	err := ctx.ReadResource("aws:sagemaker/endpointConfiguration:EndpointConfiguration", name, id, state, &resource, opts...)
   117  	if err != nil {
   118  		return nil, err
   119  	}
   120  	return &resource, nil
   121  }
   122  
   123  // Input properties used for looking up and filtering EndpointConfiguration resources.
   124  type endpointConfigurationState struct {
   125  	// The Amazon Resource Name (ARN) assigned by AWS to this endpoint configuration.
   126  	Arn *string `pulumi:"arn"`
   127  	// Specifies configuration for how an endpoint performs asynchronous inference.
   128  	AsyncInferenceConfig *EndpointConfigurationAsyncInferenceConfig `pulumi:"asyncInferenceConfig"`
   129  	// Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
   130  	DataCaptureConfig *EndpointConfigurationDataCaptureConfig `pulumi:"dataCaptureConfig"`
   131  	// Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
   132  	KmsKeyArn *string `pulumi:"kmsKeyArn"`
   133  	// The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
   134  	Name *string `pulumi:"name"`
   135  	// Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
   136  	NamePrefix *string `pulumi:"namePrefix"`
   137  	// An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
   138  	ProductionVariants []EndpointConfigurationProductionVariant `pulumi:"productionVariants"`
   139  	// Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
   140  	ShadowProductionVariants []EndpointConfigurationShadowProductionVariant `pulumi:"shadowProductionVariants"`
   141  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   142  	Tags map[string]string `pulumi:"tags"`
   143  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   144  	//
   145  	// Deprecated: Please use `tags` instead.
   146  	TagsAll map[string]string `pulumi:"tagsAll"`
   147  }
   148  
   149  type EndpointConfigurationState struct {
   150  	// The Amazon Resource Name (ARN) assigned by AWS to this endpoint configuration.
   151  	Arn pulumi.StringPtrInput
   152  	// Specifies configuration for how an endpoint performs asynchronous inference.
   153  	AsyncInferenceConfig EndpointConfigurationAsyncInferenceConfigPtrInput
   154  	// Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
   155  	DataCaptureConfig EndpointConfigurationDataCaptureConfigPtrInput
   156  	// Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
   157  	KmsKeyArn pulumi.StringPtrInput
   158  	// The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
   159  	Name pulumi.StringPtrInput
   160  	// Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
   161  	NamePrefix pulumi.StringPtrInput
   162  	// An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
   163  	ProductionVariants EndpointConfigurationProductionVariantArrayInput
   164  	// Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
   165  	ShadowProductionVariants EndpointConfigurationShadowProductionVariantArrayInput
   166  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   167  	Tags pulumi.StringMapInput
   168  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   169  	//
   170  	// Deprecated: Please use `tags` instead.
   171  	TagsAll pulumi.StringMapInput
   172  }
   173  
   174  func (EndpointConfigurationState) ElementType() reflect.Type {
   175  	return reflect.TypeOf((*endpointConfigurationState)(nil)).Elem()
   176  }
   177  
   178  type endpointConfigurationArgs struct {
   179  	// Specifies configuration for how an endpoint performs asynchronous inference.
   180  	AsyncInferenceConfig *EndpointConfigurationAsyncInferenceConfig `pulumi:"asyncInferenceConfig"`
   181  	// Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
   182  	DataCaptureConfig *EndpointConfigurationDataCaptureConfig `pulumi:"dataCaptureConfig"`
   183  	// Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
   184  	KmsKeyArn *string `pulumi:"kmsKeyArn"`
   185  	// The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
   186  	Name *string `pulumi:"name"`
   187  	// Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
   188  	NamePrefix *string `pulumi:"namePrefix"`
   189  	// An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
   190  	ProductionVariants []EndpointConfigurationProductionVariant `pulumi:"productionVariants"`
   191  	// Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
   192  	ShadowProductionVariants []EndpointConfigurationShadowProductionVariant `pulumi:"shadowProductionVariants"`
   193  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   194  	Tags map[string]string `pulumi:"tags"`
   195  }
   196  
   197  // The set of arguments for constructing a EndpointConfiguration resource.
   198  type EndpointConfigurationArgs struct {
   199  	// Specifies configuration for how an endpoint performs asynchronous inference.
   200  	AsyncInferenceConfig EndpointConfigurationAsyncInferenceConfigPtrInput
   201  	// Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
   202  	DataCaptureConfig EndpointConfigurationDataCaptureConfigPtrInput
   203  	// Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
   204  	KmsKeyArn pulumi.StringPtrInput
   205  	// The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
   206  	Name pulumi.StringPtrInput
   207  	// Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
   208  	NamePrefix pulumi.StringPtrInput
   209  	// An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
   210  	ProductionVariants EndpointConfigurationProductionVariantArrayInput
   211  	// Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
   212  	ShadowProductionVariants EndpointConfigurationShadowProductionVariantArrayInput
   213  	// A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   214  	Tags pulumi.StringMapInput
   215  }
   216  
   217  func (EndpointConfigurationArgs) ElementType() reflect.Type {
   218  	return reflect.TypeOf((*endpointConfigurationArgs)(nil)).Elem()
   219  }
   220  
   221  type EndpointConfigurationInput interface {
   222  	pulumi.Input
   223  
   224  	ToEndpointConfigurationOutput() EndpointConfigurationOutput
   225  	ToEndpointConfigurationOutputWithContext(ctx context.Context) EndpointConfigurationOutput
   226  }
   227  
   228  func (*EndpointConfiguration) ElementType() reflect.Type {
   229  	return reflect.TypeOf((**EndpointConfiguration)(nil)).Elem()
   230  }
   231  
   232  func (i *EndpointConfiguration) ToEndpointConfigurationOutput() EndpointConfigurationOutput {
   233  	return i.ToEndpointConfigurationOutputWithContext(context.Background())
   234  }
   235  
   236  func (i *EndpointConfiguration) ToEndpointConfigurationOutputWithContext(ctx context.Context) EndpointConfigurationOutput {
   237  	return pulumi.ToOutputWithContext(ctx, i).(EndpointConfigurationOutput)
   238  }
   239  
   240  // EndpointConfigurationArrayInput is an input type that accepts EndpointConfigurationArray and EndpointConfigurationArrayOutput values.
   241  // You can construct a concrete instance of `EndpointConfigurationArrayInput` via:
   242  //
   243  //	EndpointConfigurationArray{ EndpointConfigurationArgs{...} }
   244  type EndpointConfigurationArrayInput interface {
   245  	pulumi.Input
   246  
   247  	ToEndpointConfigurationArrayOutput() EndpointConfigurationArrayOutput
   248  	ToEndpointConfigurationArrayOutputWithContext(context.Context) EndpointConfigurationArrayOutput
   249  }
   250  
   251  type EndpointConfigurationArray []EndpointConfigurationInput
   252  
   253  func (EndpointConfigurationArray) ElementType() reflect.Type {
   254  	return reflect.TypeOf((*[]*EndpointConfiguration)(nil)).Elem()
   255  }
   256  
   257  func (i EndpointConfigurationArray) ToEndpointConfigurationArrayOutput() EndpointConfigurationArrayOutput {
   258  	return i.ToEndpointConfigurationArrayOutputWithContext(context.Background())
   259  }
   260  
   261  func (i EndpointConfigurationArray) ToEndpointConfigurationArrayOutputWithContext(ctx context.Context) EndpointConfigurationArrayOutput {
   262  	return pulumi.ToOutputWithContext(ctx, i).(EndpointConfigurationArrayOutput)
   263  }
   264  
   265  // EndpointConfigurationMapInput is an input type that accepts EndpointConfigurationMap and EndpointConfigurationMapOutput values.
   266  // You can construct a concrete instance of `EndpointConfigurationMapInput` via:
   267  //
   268  //	EndpointConfigurationMap{ "key": EndpointConfigurationArgs{...} }
   269  type EndpointConfigurationMapInput interface {
   270  	pulumi.Input
   271  
   272  	ToEndpointConfigurationMapOutput() EndpointConfigurationMapOutput
   273  	ToEndpointConfigurationMapOutputWithContext(context.Context) EndpointConfigurationMapOutput
   274  }
   275  
   276  type EndpointConfigurationMap map[string]EndpointConfigurationInput
   277  
   278  func (EndpointConfigurationMap) ElementType() reflect.Type {
   279  	return reflect.TypeOf((*map[string]*EndpointConfiguration)(nil)).Elem()
   280  }
   281  
   282  func (i EndpointConfigurationMap) ToEndpointConfigurationMapOutput() EndpointConfigurationMapOutput {
   283  	return i.ToEndpointConfigurationMapOutputWithContext(context.Background())
   284  }
   285  
   286  func (i EndpointConfigurationMap) ToEndpointConfigurationMapOutputWithContext(ctx context.Context) EndpointConfigurationMapOutput {
   287  	return pulumi.ToOutputWithContext(ctx, i).(EndpointConfigurationMapOutput)
   288  }
   289  
   290  type EndpointConfigurationOutput struct{ *pulumi.OutputState }
   291  
   292  func (EndpointConfigurationOutput) ElementType() reflect.Type {
   293  	return reflect.TypeOf((**EndpointConfiguration)(nil)).Elem()
   294  }
   295  
   296  func (o EndpointConfigurationOutput) ToEndpointConfigurationOutput() EndpointConfigurationOutput {
   297  	return o
   298  }
   299  
   300  func (o EndpointConfigurationOutput) ToEndpointConfigurationOutputWithContext(ctx context.Context) EndpointConfigurationOutput {
   301  	return o
   302  }
   303  
   304  // The Amazon Resource Name (ARN) assigned by AWS to this endpoint configuration.
   305  func (o EndpointConfigurationOutput) Arn() pulumi.StringOutput {
   306  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   307  }
   308  
   309  // Specifies configuration for how an endpoint performs asynchronous inference.
   310  func (o EndpointConfigurationOutput) AsyncInferenceConfig() EndpointConfigurationAsyncInferenceConfigPtrOutput {
   311  	return o.ApplyT(func(v *EndpointConfiguration) EndpointConfigurationAsyncInferenceConfigPtrOutput {
   312  		return v.AsyncInferenceConfig
   313  	}).(EndpointConfigurationAsyncInferenceConfigPtrOutput)
   314  }
   315  
   316  // Specifies the parameters to capture input/output of SageMaker models endpoints. Fields are documented below.
   317  func (o EndpointConfigurationOutput) DataCaptureConfig() EndpointConfigurationDataCaptureConfigPtrOutput {
   318  	return o.ApplyT(func(v *EndpointConfiguration) EndpointConfigurationDataCaptureConfigPtrOutput {
   319  		return v.DataCaptureConfig
   320  	}).(EndpointConfigurationDataCaptureConfigPtrOutput)
   321  }
   322  
   323  // Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
   324  func (o EndpointConfigurationOutput) KmsKeyArn() pulumi.StringPtrOutput {
   325  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringPtrOutput { return v.KmsKeyArn }).(pulumi.StringPtrOutput)
   326  }
   327  
   328  // The name of the endpoint configuration. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`.
   329  func (o EndpointConfigurationOutput) Name() pulumi.StringOutput {
   330  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   331  }
   332  
   333  // Creates a unique endpoint configuration name beginning with the specified prefix. Conflicts with `name`.
   334  func (o EndpointConfigurationOutput) NamePrefix() pulumi.StringOutput {
   335  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput)
   336  }
   337  
   338  // An list of ProductionVariant objects, one for each model that you want to host at this endpoint. Fields are documented below.
   339  func (o EndpointConfigurationOutput) ProductionVariants() EndpointConfigurationProductionVariantArrayOutput {
   340  	return o.ApplyT(func(v *EndpointConfiguration) EndpointConfigurationProductionVariantArrayOutput {
   341  		return v.ProductionVariants
   342  	}).(EndpointConfigurationProductionVariantArrayOutput)
   343  }
   344  
   345  // Array of ProductionVariant objects. There is one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants. If you use this field, you can only specify one variant for ProductionVariants and one variant for ShadowProductionVariants. Fields are documented below.
   346  func (o EndpointConfigurationOutput) ShadowProductionVariants() EndpointConfigurationShadowProductionVariantArrayOutput {
   347  	return o.ApplyT(func(v *EndpointConfiguration) EndpointConfigurationShadowProductionVariantArrayOutput {
   348  		return v.ShadowProductionVariants
   349  	}).(EndpointConfigurationShadowProductionVariantArrayOutput)
   350  }
   351  
   352  // A mapping of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   353  func (o EndpointConfigurationOutput) Tags() pulumi.StringMapOutput {
   354  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   355  }
   356  
   357  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   358  //
   359  // Deprecated: Please use `tags` instead.
   360  func (o EndpointConfigurationOutput) TagsAll() pulumi.StringMapOutput {
   361  	return o.ApplyT(func(v *EndpointConfiguration) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   362  }
   363  
   364  type EndpointConfigurationArrayOutput struct{ *pulumi.OutputState }
   365  
   366  func (EndpointConfigurationArrayOutput) ElementType() reflect.Type {
   367  	return reflect.TypeOf((*[]*EndpointConfiguration)(nil)).Elem()
   368  }
   369  
   370  func (o EndpointConfigurationArrayOutput) ToEndpointConfigurationArrayOutput() EndpointConfigurationArrayOutput {
   371  	return o
   372  }
   373  
   374  func (o EndpointConfigurationArrayOutput) ToEndpointConfigurationArrayOutputWithContext(ctx context.Context) EndpointConfigurationArrayOutput {
   375  	return o
   376  }
   377  
   378  func (o EndpointConfigurationArrayOutput) Index(i pulumi.IntInput) EndpointConfigurationOutput {
   379  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EndpointConfiguration {
   380  		return vs[0].([]*EndpointConfiguration)[vs[1].(int)]
   381  	}).(EndpointConfigurationOutput)
   382  }
   383  
   384  type EndpointConfigurationMapOutput struct{ *pulumi.OutputState }
   385  
   386  func (EndpointConfigurationMapOutput) ElementType() reflect.Type {
   387  	return reflect.TypeOf((*map[string]*EndpointConfiguration)(nil)).Elem()
   388  }
   389  
   390  func (o EndpointConfigurationMapOutput) ToEndpointConfigurationMapOutput() EndpointConfigurationMapOutput {
   391  	return o
   392  }
   393  
   394  func (o EndpointConfigurationMapOutput) ToEndpointConfigurationMapOutputWithContext(ctx context.Context) EndpointConfigurationMapOutput {
   395  	return o
   396  }
   397  
   398  func (o EndpointConfigurationMapOutput) MapIndex(k pulumi.StringInput) EndpointConfigurationOutput {
   399  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EndpointConfiguration {
   400  		return vs[0].(map[string]*EndpointConfiguration)[vs[1].(string)]
   401  	}).(EndpointConfigurationOutput)
   402  }
   403  
   404  func init() {
   405  	pulumi.RegisterInputType(reflect.TypeOf((*EndpointConfigurationInput)(nil)).Elem(), &EndpointConfiguration{})
   406  	pulumi.RegisterInputType(reflect.TypeOf((*EndpointConfigurationArrayInput)(nil)).Elem(), EndpointConfigurationArray{})
   407  	pulumi.RegisterInputType(reflect.TypeOf((*EndpointConfigurationMapInput)(nil)).Elem(), EndpointConfigurationMap{})
   408  	pulumi.RegisterOutputType(EndpointConfigurationOutput{})
   409  	pulumi.RegisterOutputType(EndpointConfigurationArrayOutput{})
   410  	pulumi.RegisterOutputType(EndpointConfigurationMapOutput{})
   411  }