github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/connect/instanceStorageConfig.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 connect
     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 Connect Instance Storage Config resource. For more information see
    16  // [Amazon Connect: Getting Started](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-get-started.html)
    17  //
    18  // ## Example Usage
    19  //
    20  // ### Storage Config Kinesis Firehose Config
    21  //
    22  // <!--Start PulumiCodeChooser -->
    23  // ```go
    24  // package main
    25  //
    26  // import (
    27  //
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			_, err := connect.NewInstanceStorageConfig(ctx, "example", &connect.InstanceStorageConfigArgs{
    36  //				InstanceId:   pulumi.Any(exampleAwsConnectInstance.Id),
    37  //				ResourceType: pulumi.String("CONTACT_TRACE_RECORDS"),
    38  //				StorageConfig: &connect.InstanceStorageConfigStorageConfigArgs{
    39  //					KinesisFirehoseConfig: &connect.InstanceStorageConfigStorageConfigKinesisFirehoseConfigArgs{
    40  //						FirehoseArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),
    41  //					},
    42  //					StorageType: pulumi.String("KINESIS_FIREHOSE"),
    43  //				},
    44  //			})
    45  //			if err != nil {
    46  //				return err
    47  //			}
    48  //			return nil
    49  //		})
    50  //	}
    51  //
    52  // ```
    53  // <!--End PulumiCodeChooser -->
    54  //
    55  // ### Storage Config Kinesis Stream Config
    56  //
    57  // <!--Start PulumiCodeChooser -->
    58  // ```go
    59  // package main
    60  //
    61  // import (
    62  //
    63  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect"
    64  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    65  //
    66  // )
    67  //
    68  //	func main() {
    69  //		pulumi.Run(func(ctx *pulumi.Context) error {
    70  //			_, err := connect.NewInstanceStorageConfig(ctx, "example", &connect.InstanceStorageConfigArgs{
    71  //				InstanceId:   pulumi.Any(exampleAwsConnectInstance.Id),
    72  //				ResourceType: pulumi.String("CONTACT_TRACE_RECORDS"),
    73  //				StorageConfig: &connect.InstanceStorageConfigStorageConfigArgs{
    74  //					KinesisStreamConfig: &connect.InstanceStorageConfigStorageConfigKinesisStreamConfigArgs{
    75  //						StreamArn: pulumi.Any(exampleAwsKinesisStream.Arn),
    76  //					},
    77  //					StorageType: pulumi.String("KINESIS_STREAM"),
    78  //				},
    79  //			})
    80  //			if err != nil {
    81  //				return err
    82  //			}
    83  //			return nil
    84  //		})
    85  //	}
    86  //
    87  // ```
    88  // <!--End PulumiCodeChooser -->
    89  //
    90  // ### Storage Config Kinesis Video Stream Config
    91  //
    92  // <!--Start PulumiCodeChooser -->
    93  // ```go
    94  // package main
    95  //
    96  // import (
    97  //
    98  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect"
    99  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   100  //
   101  // )
   102  //
   103  //	func main() {
   104  //		pulumi.Run(func(ctx *pulumi.Context) error {
   105  //			_, err := connect.NewInstanceStorageConfig(ctx, "example", &connect.InstanceStorageConfigArgs{
   106  //				InstanceId:   pulumi.Any(exampleAwsConnectInstance.Id),
   107  //				ResourceType: pulumi.String("MEDIA_STREAMS"),
   108  //				StorageConfig: &connect.InstanceStorageConfigStorageConfigArgs{
   109  //					KinesisVideoStreamConfig: &connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigArgs{
   110  //						Prefix:               pulumi.String("example"),
   111  //						RetentionPeriodHours: pulumi.Int(3),
   112  //						EncryptionConfig: &connect.InstanceStorageConfigStorageConfigKinesisVideoStreamConfigEncryptionConfigArgs{
   113  //							EncryptionType: pulumi.String("KMS"),
   114  //							KeyId:          pulumi.Any(exampleAwsKmsKey.Arn),
   115  //						},
   116  //					},
   117  //					StorageType: pulumi.String("KINESIS_VIDEO_STREAM"),
   118  //				},
   119  //			})
   120  //			if err != nil {
   121  //				return err
   122  //			}
   123  //			return nil
   124  //		})
   125  //	}
   126  //
   127  // ```
   128  // <!--End PulumiCodeChooser -->
   129  //
   130  // ### Storage Config S3 Config
   131  //
   132  // <!--Start PulumiCodeChooser -->
   133  // ```go
   134  // package main
   135  //
   136  // import (
   137  //
   138  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect"
   139  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   140  //
   141  // )
   142  //
   143  //	func main() {
   144  //		pulumi.Run(func(ctx *pulumi.Context) error {
   145  //			_, err := connect.NewInstanceStorageConfig(ctx, "example", &connect.InstanceStorageConfigArgs{
   146  //				InstanceId:   pulumi.Any(exampleAwsConnectInstance.Id),
   147  //				ResourceType: pulumi.String("CHAT_TRANSCRIPTS"),
   148  //				StorageConfig: &connect.InstanceStorageConfigStorageConfigArgs{
   149  //					S3Config: &connect.InstanceStorageConfigStorageConfigS3ConfigArgs{
   150  //						BucketName:   pulumi.Any(exampleAwsS3Bucket.Id),
   151  //						BucketPrefix: pulumi.String("example"),
   152  //					},
   153  //					StorageType: pulumi.String("S3"),
   154  //				},
   155  //			})
   156  //			if err != nil {
   157  //				return err
   158  //			}
   159  //			return nil
   160  //		})
   161  //	}
   162  //
   163  // ```
   164  // <!--End PulumiCodeChooser -->
   165  //
   166  // ### Storage Config S3 Config with Encryption Config
   167  //
   168  // <!--Start PulumiCodeChooser -->
   169  // ```go
   170  // package main
   171  //
   172  // import (
   173  //
   174  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/connect"
   175  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
   176  //
   177  // )
   178  //
   179  //	func main() {
   180  //		pulumi.Run(func(ctx *pulumi.Context) error {
   181  //			_, err := connect.NewInstanceStorageConfig(ctx, "example", &connect.InstanceStorageConfigArgs{
   182  //				InstanceId:   pulumi.Any(exampleAwsConnectInstance.Id),
   183  //				ResourceType: pulumi.String("CHAT_TRANSCRIPTS"),
   184  //				StorageConfig: &connect.InstanceStorageConfigStorageConfigArgs{
   185  //					S3Config: &connect.InstanceStorageConfigStorageConfigS3ConfigArgs{
   186  //						BucketName:   pulumi.Any(exampleAwsS3Bucket.Id),
   187  //						BucketPrefix: pulumi.String("example"),
   188  //						EncryptionConfig: &connect.InstanceStorageConfigStorageConfigS3ConfigEncryptionConfigArgs{
   189  //							EncryptionType: pulumi.String("KMS"),
   190  //							KeyId:          pulumi.Any(exampleAwsKmsKey.Arn),
   191  //						},
   192  //					},
   193  //					StorageType: pulumi.String("S3"),
   194  //				},
   195  //			})
   196  //			if err != nil {
   197  //				return err
   198  //			}
   199  //			return nil
   200  //		})
   201  //	}
   202  //
   203  // ```
   204  // <!--End PulumiCodeChooser -->
   205  //
   206  // ## Import
   207  //
   208  // Using `pulumi import`, import Amazon Connect Instance Storage Configs using the `instance_id`, `association_id`, and `resource_type` separated by a colon (`:`). For example:
   209  //
   210  // ```sh
   211  // $ pulumi import aws:connect/instanceStorageConfig:InstanceStorageConfig example f1288a1f-6193-445a-b47e-af739b2:c1d4e5f6-1b3c-1b3c-1b3c-c1d4e5f6c1d4e5:CHAT_TRANSCRIPTS
   212  // ```
   213  type InstanceStorageConfig struct {
   214  	pulumi.CustomResourceState
   215  
   216  	// The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.
   217  	AssociationId pulumi.StringOutput `pulumi:"associationId"`
   218  	// Specifies the identifier of the hosting Amazon Connect Instance.
   219  	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
   220  	// A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   221  	ResourceType pulumi.StringOutput `pulumi:"resourceType"`
   222  	// Specifies the storage configuration options for the Connect Instance. Documented below.
   223  	StorageConfig InstanceStorageConfigStorageConfigOutput `pulumi:"storageConfig"`
   224  }
   225  
   226  // NewInstanceStorageConfig registers a new resource with the given unique name, arguments, and options.
   227  func NewInstanceStorageConfig(ctx *pulumi.Context,
   228  	name string, args *InstanceStorageConfigArgs, opts ...pulumi.ResourceOption) (*InstanceStorageConfig, error) {
   229  	if args == nil {
   230  		return nil, errors.New("missing one or more required arguments")
   231  	}
   232  
   233  	if args.InstanceId == nil {
   234  		return nil, errors.New("invalid value for required argument 'InstanceId'")
   235  	}
   236  	if args.ResourceType == nil {
   237  		return nil, errors.New("invalid value for required argument 'ResourceType'")
   238  	}
   239  	if args.StorageConfig == nil {
   240  		return nil, errors.New("invalid value for required argument 'StorageConfig'")
   241  	}
   242  	opts = internal.PkgResourceDefaultOpts(opts)
   243  	var resource InstanceStorageConfig
   244  	err := ctx.RegisterResource("aws:connect/instanceStorageConfig:InstanceStorageConfig", name, args, &resource, opts...)
   245  	if err != nil {
   246  		return nil, err
   247  	}
   248  	return &resource, nil
   249  }
   250  
   251  // GetInstanceStorageConfig gets an existing InstanceStorageConfig resource's state with the given name, ID, and optional
   252  // state properties that are used to uniquely qualify the lookup (nil if not required).
   253  func GetInstanceStorageConfig(ctx *pulumi.Context,
   254  	name string, id pulumi.IDInput, state *InstanceStorageConfigState, opts ...pulumi.ResourceOption) (*InstanceStorageConfig, error) {
   255  	var resource InstanceStorageConfig
   256  	err := ctx.ReadResource("aws:connect/instanceStorageConfig:InstanceStorageConfig", name, id, state, &resource, opts...)
   257  	if err != nil {
   258  		return nil, err
   259  	}
   260  	return &resource, nil
   261  }
   262  
   263  // Input properties used for looking up and filtering InstanceStorageConfig resources.
   264  type instanceStorageConfigState struct {
   265  	// The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.
   266  	AssociationId *string `pulumi:"associationId"`
   267  	// Specifies the identifier of the hosting Amazon Connect Instance.
   268  	InstanceId *string `pulumi:"instanceId"`
   269  	// A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   270  	ResourceType *string `pulumi:"resourceType"`
   271  	// Specifies the storage configuration options for the Connect Instance. Documented below.
   272  	StorageConfig *InstanceStorageConfigStorageConfig `pulumi:"storageConfig"`
   273  }
   274  
   275  type InstanceStorageConfigState struct {
   276  	// The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.
   277  	AssociationId pulumi.StringPtrInput
   278  	// Specifies the identifier of the hosting Amazon Connect Instance.
   279  	InstanceId pulumi.StringPtrInput
   280  	// A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   281  	ResourceType pulumi.StringPtrInput
   282  	// Specifies the storage configuration options for the Connect Instance. Documented below.
   283  	StorageConfig InstanceStorageConfigStorageConfigPtrInput
   284  }
   285  
   286  func (InstanceStorageConfigState) ElementType() reflect.Type {
   287  	return reflect.TypeOf((*instanceStorageConfigState)(nil)).Elem()
   288  }
   289  
   290  type instanceStorageConfigArgs struct {
   291  	// Specifies the identifier of the hosting Amazon Connect Instance.
   292  	InstanceId string `pulumi:"instanceId"`
   293  	// A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   294  	ResourceType string `pulumi:"resourceType"`
   295  	// Specifies the storage configuration options for the Connect Instance. Documented below.
   296  	StorageConfig InstanceStorageConfigStorageConfig `pulumi:"storageConfig"`
   297  }
   298  
   299  // The set of arguments for constructing a InstanceStorageConfig resource.
   300  type InstanceStorageConfigArgs struct {
   301  	// Specifies the identifier of the hosting Amazon Connect Instance.
   302  	InstanceId pulumi.StringInput
   303  	// A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   304  	ResourceType pulumi.StringInput
   305  	// Specifies the storage configuration options for the Connect Instance. Documented below.
   306  	StorageConfig InstanceStorageConfigStorageConfigInput
   307  }
   308  
   309  func (InstanceStorageConfigArgs) ElementType() reflect.Type {
   310  	return reflect.TypeOf((*instanceStorageConfigArgs)(nil)).Elem()
   311  }
   312  
   313  type InstanceStorageConfigInput interface {
   314  	pulumi.Input
   315  
   316  	ToInstanceStorageConfigOutput() InstanceStorageConfigOutput
   317  	ToInstanceStorageConfigOutputWithContext(ctx context.Context) InstanceStorageConfigOutput
   318  }
   319  
   320  func (*InstanceStorageConfig) ElementType() reflect.Type {
   321  	return reflect.TypeOf((**InstanceStorageConfig)(nil)).Elem()
   322  }
   323  
   324  func (i *InstanceStorageConfig) ToInstanceStorageConfigOutput() InstanceStorageConfigOutput {
   325  	return i.ToInstanceStorageConfigOutputWithContext(context.Background())
   326  }
   327  
   328  func (i *InstanceStorageConfig) ToInstanceStorageConfigOutputWithContext(ctx context.Context) InstanceStorageConfigOutput {
   329  	return pulumi.ToOutputWithContext(ctx, i).(InstanceStorageConfigOutput)
   330  }
   331  
   332  // InstanceStorageConfigArrayInput is an input type that accepts InstanceStorageConfigArray and InstanceStorageConfigArrayOutput values.
   333  // You can construct a concrete instance of `InstanceStorageConfigArrayInput` via:
   334  //
   335  //	InstanceStorageConfigArray{ InstanceStorageConfigArgs{...} }
   336  type InstanceStorageConfigArrayInput interface {
   337  	pulumi.Input
   338  
   339  	ToInstanceStorageConfigArrayOutput() InstanceStorageConfigArrayOutput
   340  	ToInstanceStorageConfigArrayOutputWithContext(context.Context) InstanceStorageConfigArrayOutput
   341  }
   342  
   343  type InstanceStorageConfigArray []InstanceStorageConfigInput
   344  
   345  func (InstanceStorageConfigArray) ElementType() reflect.Type {
   346  	return reflect.TypeOf((*[]*InstanceStorageConfig)(nil)).Elem()
   347  }
   348  
   349  func (i InstanceStorageConfigArray) ToInstanceStorageConfigArrayOutput() InstanceStorageConfigArrayOutput {
   350  	return i.ToInstanceStorageConfigArrayOutputWithContext(context.Background())
   351  }
   352  
   353  func (i InstanceStorageConfigArray) ToInstanceStorageConfigArrayOutputWithContext(ctx context.Context) InstanceStorageConfigArrayOutput {
   354  	return pulumi.ToOutputWithContext(ctx, i).(InstanceStorageConfigArrayOutput)
   355  }
   356  
   357  // InstanceStorageConfigMapInput is an input type that accepts InstanceStorageConfigMap and InstanceStorageConfigMapOutput values.
   358  // You can construct a concrete instance of `InstanceStorageConfigMapInput` via:
   359  //
   360  //	InstanceStorageConfigMap{ "key": InstanceStorageConfigArgs{...} }
   361  type InstanceStorageConfigMapInput interface {
   362  	pulumi.Input
   363  
   364  	ToInstanceStorageConfigMapOutput() InstanceStorageConfigMapOutput
   365  	ToInstanceStorageConfigMapOutputWithContext(context.Context) InstanceStorageConfigMapOutput
   366  }
   367  
   368  type InstanceStorageConfigMap map[string]InstanceStorageConfigInput
   369  
   370  func (InstanceStorageConfigMap) ElementType() reflect.Type {
   371  	return reflect.TypeOf((*map[string]*InstanceStorageConfig)(nil)).Elem()
   372  }
   373  
   374  func (i InstanceStorageConfigMap) ToInstanceStorageConfigMapOutput() InstanceStorageConfigMapOutput {
   375  	return i.ToInstanceStorageConfigMapOutputWithContext(context.Background())
   376  }
   377  
   378  func (i InstanceStorageConfigMap) ToInstanceStorageConfigMapOutputWithContext(ctx context.Context) InstanceStorageConfigMapOutput {
   379  	return pulumi.ToOutputWithContext(ctx, i).(InstanceStorageConfigMapOutput)
   380  }
   381  
   382  type InstanceStorageConfigOutput struct{ *pulumi.OutputState }
   383  
   384  func (InstanceStorageConfigOutput) ElementType() reflect.Type {
   385  	return reflect.TypeOf((**InstanceStorageConfig)(nil)).Elem()
   386  }
   387  
   388  func (o InstanceStorageConfigOutput) ToInstanceStorageConfigOutput() InstanceStorageConfigOutput {
   389  	return o
   390  }
   391  
   392  func (o InstanceStorageConfigOutput) ToInstanceStorageConfigOutputWithContext(ctx context.Context) InstanceStorageConfigOutput {
   393  	return o
   394  }
   395  
   396  // The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.
   397  func (o InstanceStorageConfigOutput) AssociationId() pulumi.StringOutput {
   398  	return o.ApplyT(func(v *InstanceStorageConfig) pulumi.StringOutput { return v.AssociationId }).(pulumi.StringOutput)
   399  }
   400  
   401  // Specifies the identifier of the hosting Amazon Connect Instance.
   402  func (o InstanceStorageConfigOutput) InstanceId() pulumi.StringOutput {
   403  	return o.ApplyT(func(v *InstanceStorageConfig) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput)
   404  }
   405  
   406  // A valid resource type. Valid Values: `AGENT_EVENTS` | `ATTACHMENTS` | `CALL_RECORDINGS` | `CHAT_TRANSCRIPTS` | `CONTACT_EVALUATIONS` | `CONTACT_TRACE_RECORDS` | `MEDIA_STREAMS` | `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` | `SCHEDULED_REPORTS` | `SCREEN_RECORDINGS`.
   407  func (o InstanceStorageConfigOutput) ResourceType() pulumi.StringOutput {
   408  	return o.ApplyT(func(v *InstanceStorageConfig) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput)
   409  }
   410  
   411  // Specifies the storage configuration options for the Connect Instance. Documented below.
   412  func (o InstanceStorageConfigOutput) StorageConfig() InstanceStorageConfigStorageConfigOutput {
   413  	return o.ApplyT(func(v *InstanceStorageConfig) InstanceStorageConfigStorageConfigOutput { return v.StorageConfig }).(InstanceStorageConfigStorageConfigOutput)
   414  }
   415  
   416  type InstanceStorageConfigArrayOutput struct{ *pulumi.OutputState }
   417  
   418  func (InstanceStorageConfigArrayOutput) ElementType() reflect.Type {
   419  	return reflect.TypeOf((*[]*InstanceStorageConfig)(nil)).Elem()
   420  }
   421  
   422  func (o InstanceStorageConfigArrayOutput) ToInstanceStorageConfigArrayOutput() InstanceStorageConfigArrayOutput {
   423  	return o
   424  }
   425  
   426  func (o InstanceStorageConfigArrayOutput) ToInstanceStorageConfigArrayOutputWithContext(ctx context.Context) InstanceStorageConfigArrayOutput {
   427  	return o
   428  }
   429  
   430  func (o InstanceStorageConfigArrayOutput) Index(i pulumi.IntInput) InstanceStorageConfigOutput {
   431  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceStorageConfig {
   432  		return vs[0].([]*InstanceStorageConfig)[vs[1].(int)]
   433  	}).(InstanceStorageConfigOutput)
   434  }
   435  
   436  type InstanceStorageConfigMapOutput struct{ *pulumi.OutputState }
   437  
   438  func (InstanceStorageConfigMapOutput) ElementType() reflect.Type {
   439  	return reflect.TypeOf((*map[string]*InstanceStorageConfig)(nil)).Elem()
   440  }
   441  
   442  func (o InstanceStorageConfigMapOutput) ToInstanceStorageConfigMapOutput() InstanceStorageConfigMapOutput {
   443  	return o
   444  }
   445  
   446  func (o InstanceStorageConfigMapOutput) ToInstanceStorageConfigMapOutputWithContext(ctx context.Context) InstanceStorageConfigMapOutput {
   447  	return o
   448  }
   449  
   450  func (o InstanceStorageConfigMapOutput) MapIndex(k pulumi.StringInput) InstanceStorageConfigOutput {
   451  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceStorageConfig {
   452  		return vs[0].(map[string]*InstanceStorageConfig)[vs[1].(string)]
   453  	}).(InstanceStorageConfigOutput)
   454  }
   455  
   456  func init() {
   457  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigInput)(nil)).Elem(), &InstanceStorageConfig{})
   458  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigArrayInput)(nil)).Elem(), InstanceStorageConfigArray{})
   459  	pulumi.RegisterInputType(reflect.TypeOf((*InstanceStorageConfigMapInput)(nil)).Elem(), InstanceStorageConfigMap{})
   460  	pulumi.RegisterOutputType(InstanceStorageConfigOutput{})
   461  	pulumi.RegisterOutputType(InstanceStorageConfigArrayOutput{})
   462  	pulumi.RegisterOutputType(InstanceStorageConfigMapOutput{})
   463  }