github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/finspace/kxVolume.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 finspace
     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  // Resource for managing an AWS FinSpace Kx Volume.
    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/finspace"
    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 := finspace.NewKxVolume(ctx, "example", &finspace.KxVolumeArgs{
    35  //				Name:              pulumi.String("my-tf-kx-volume"),
    36  //				EnvironmentId:     pulumi.Any(exampleAwsFinspaceKxEnvironment.Id),
    37  //				AvailabilityZones: pulumi.StringArray("use1-az2"),
    38  //				AzMode:            pulumi.String("SINGLE"),
    39  //				Type:              pulumi.String("NAS_1"),
    40  //				Nas1Configurations: finspace.KxVolumeNas1ConfigurationArray{
    41  //					&finspace.KxVolumeNas1ConfigurationArgs{
    42  //						Size: pulumi.Int(1200),
    43  //						Type: pulumi.String("SSD_250"),
    44  //					},
    45  //				},
    46  //			})
    47  //			if err != nil {
    48  //				return err
    49  //			}
    50  //			return nil
    51  //		})
    52  //	}
    53  //
    54  // ```
    55  // <!--End PulumiCodeChooser -->
    56  //
    57  // ## Import
    58  //
    59  // Using `pulumi import`, import an AWS FinSpace Kx Volume using the `id` (environment ID and volume name, comma-delimited). For example:
    60  //
    61  // ```sh
    62  // $ pulumi import aws:finspace/kxVolume:KxVolume example n3ceo7wqxoxcti5tujqwzs,my-tf-kx-volume
    63  // ```
    64  type KxVolume struct {
    65  	pulumi.CustomResourceState
    66  
    67  	// Amazon Resource Name (ARN) identifier of the KX volume.
    68  	Arn              pulumi.StringOutput                `pulumi:"arn"`
    69  	AttachedClusters KxVolumeAttachedClusterArrayOutput `pulumi:"attachedClusters"`
    70  	// The identifier of the AWS Availability Zone IDs.
    71  	//
    72  	// The following arguments are optional:
    73  	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
    74  	// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
    75  	AzMode pulumi.StringOutput `pulumi:"azMode"`
    76  	// The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
    77  	CreatedTimestamp pulumi.StringOutput `pulumi:"createdTimestamp"`
    78  	// Description of the volume.
    79  	Description pulumi.StringPtrOutput `pulumi:"description"`
    80  	// A unique identifier for the kdb environment, whose clusters can attach to the volume.
    81  	EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
    82  	// Last timestamp at which the volume was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
    83  	LastModifiedTimestamp pulumi.StringOutput `pulumi:"lastModifiedTimestamp"`
    84  	// Unique name for the volumr that you want to create.
    85  	Name pulumi.StringOutput `pulumi:"name"`
    86  	// Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
    87  	Nas1Configurations KxVolumeNas1ConfigurationArrayOutput `pulumi:"nas1Configurations"`
    88  	// The status of volume creation.
    89  	Status pulumi.StringOutput `pulumi:"status"`
    90  	// The error message when a failed state occurs.
    91  	StatusReason pulumi.StringOutput `pulumi:"statusReason"`
    92  	// A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
    93  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    94  	// Deprecated: Please use `tags` instead.
    95  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    96  	// The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
    97  	Type pulumi.StringOutput `pulumi:"type"`
    98  }
    99  
   100  // NewKxVolume registers a new resource with the given unique name, arguments, and options.
   101  func NewKxVolume(ctx *pulumi.Context,
   102  	name string, args *KxVolumeArgs, opts ...pulumi.ResourceOption) (*KxVolume, error) {
   103  	if args == nil {
   104  		return nil, errors.New("missing one or more required arguments")
   105  	}
   106  
   107  	if args.AvailabilityZones == nil {
   108  		return nil, errors.New("invalid value for required argument 'AvailabilityZones'")
   109  	}
   110  	if args.AzMode == nil {
   111  		return nil, errors.New("invalid value for required argument 'AzMode'")
   112  	}
   113  	if args.EnvironmentId == nil {
   114  		return nil, errors.New("invalid value for required argument 'EnvironmentId'")
   115  	}
   116  	if args.Type == nil {
   117  		return nil, errors.New("invalid value for required argument 'Type'")
   118  	}
   119  	opts = internal.PkgResourceDefaultOpts(opts)
   120  	var resource KxVolume
   121  	err := ctx.RegisterResource("aws:finspace/kxVolume:KxVolume", name, args, &resource, opts...)
   122  	if err != nil {
   123  		return nil, err
   124  	}
   125  	return &resource, nil
   126  }
   127  
   128  // GetKxVolume gets an existing KxVolume resource's state with the given name, ID, and optional
   129  // state properties that are used to uniquely qualify the lookup (nil if not required).
   130  func GetKxVolume(ctx *pulumi.Context,
   131  	name string, id pulumi.IDInput, state *KxVolumeState, opts ...pulumi.ResourceOption) (*KxVolume, error) {
   132  	var resource KxVolume
   133  	err := ctx.ReadResource("aws:finspace/kxVolume:KxVolume", name, id, state, &resource, opts...)
   134  	if err != nil {
   135  		return nil, err
   136  	}
   137  	return &resource, nil
   138  }
   139  
   140  // Input properties used for looking up and filtering KxVolume resources.
   141  type kxVolumeState struct {
   142  	// Amazon Resource Name (ARN) identifier of the KX volume.
   143  	Arn              *string                   `pulumi:"arn"`
   144  	AttachedClusters []KxVolumeAttachedCluster `pulumi:"attachedClusters"`
   145  	// The identifier of the AWS Availability Zone IDs.
   146  	//
   147  	// The following arguments are optional:
   148  	AvailabilityZones []string `pulumi:"availabilityZones"`
   149  	// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
   150  	AzMode *string `pulumi:"azMode"`
   151  	// The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   152  	CreatedTimestamp *string `pulumi:"createdTimestamp"`
   153  	// Description of the volume.
   154  	Description *string `pulumi:"description"`
   155  	// A unique identifier for the kdb environment, whose clusters can attach to the volume.
   156  	EnvironmentId *string `pulumi:"environmentId"`
   157  	// Last timestamp at which the volume was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   158  	LastModifiedTimestamp *string `pulumi:"lastModifiedTimestamp"`
   159  	// Unique name for the volumr that you want to create.
   160  	Name *string `pulumi:"name"`
   161  	// Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
   162  	Nas1Configurations []KxVolumeNas1Configuration `pulumi:"nas1Configurations"`
   163  	// The status of volume creation.
   164  	Status *string `pulumi:"status"`
   165  	// The error message when a failed state occurs.
   166  	StatusReason *string `pulumi:"statusReason"`
   167  	// A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
   168  	Tags map[string]string `pulumi:"tags"`
   169  	// Deprecated: Please use `tags` instead.
   170  	TagsAll map[string]string `pulumi:"tagsAll"`
   171  	// The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
   172  	Type *string `pulumi:"type"`
   173  }
   174  
   175  type KxVolumeState struct {
   176  	// Amazon Resource Name (ARN) identifier of the KX volume.
   177  	Arn              pulumi.StringPtrInput
   178  	AttachedClusters KxVolumeAttachedClusterArrayInput
   179  	// The identifier of the AWS Availability Zone IDs.
   180  	//
   181  	// The following arguments are optional:
   182  	AvailabilityZones pulumi.StringArrayInput
   183  	// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
   184  	AzMode pulumi.StringPtrInput
   185  	// The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   186  	CreatedTimestamp pulumi.StringPtrInput
   187  	// Description of the volume.
   188  	Description pulumi.StringPtrInput
   189  	// A unique identifier for the kdb environment, whose clusters can attach to the volume.
   190  	EnvironmentId pulumi.StringPtrInput
   191  	// Last timestamp at which the volume was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   192  	LastModifiedTimestamp pulumi.StringPtrInput
   193  	// Unique name for the volumr that you want to create.
   194  	Name pulumi.StringPtrInput
   195  	// Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
   196  	Nas1Configurations KxVolumeNas1ConfigurationArrayInput
   197  	// The status of volume creation.
   198  	Status pulumi.StringPtrInput
   199  	// The error message when a failed state occurs.
   200  	StatusReason pulumi.StringPtrInput
   201  	// A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
   202  	Tags pulumi.StringMapInput
   203  	// Deprecated: Please use `tags` instead.
   204  	TagsAll pulumi.StringMapInput
   205  	// The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
   206  	Type pulumi.StringPtrInput
   207  }
   208  
   209  func (KxVolumeState) ElementType() reflect.Type {
   210  	return reflect.TypeOf((*kxVolumeState)(nil)).Elem()
   211  }
   212  
   213  type kxVolumeArgs struct {
   214  	// The identifier of the AWS Availability Zone IDs.
   215  	//
   216  	// The following arguments are optional:
   217  	AvailabilityZones []string `pulumi:"availabilityZones"`
   218  	// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
   219  	AzMode string `pulumi:"azMode"`
   220  	// Description of the volume.
   221  	Description *string `pulumi:"description"`
   222  	// A unique identifier for the kdb environment, whose clusters can attach to the volume.
   223  	EnvironmentId string `pulumi:"environmentId"`
   224  	// Unique name for the volumr that you want to create.
   225  	Name *string `pulumi:"name"`
   226  	// Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
   227  	Nas1Configurations []KxVolumeNas1Configuration `pulumi:"nas1Configurations"`
   228  	// A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
   229  	Tags map[string]string `pulumi:"tags"`
   230  	// The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
   231  	Type string `pulumi:"type"`
   232  }
   233  
   234  // The set of arguments for constructing a KxVolume resource.
   235  type KxVolumeArgs struct {
   236  	// The identifier of the AWS Availability Zone IDs.
   237  	//
   238  	// The following arguments are optional:
   239  	AvailabilityZones pulumi.StringArrayInput
   240  	// The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
   241  	AzMode pulumi.StringInput
   242  	// Description of the volume.
   243  	Description pulumi.StringPtrInput
   244  	// A unique identifier for the kdb environment, whose clusters can attach to the volume.
   245  	EnvironmentId pulumi.StringInput
   246  	// Unique name for the volumr that you want to create.
   247  	Name pulumi.StringPtrInput
   248  	// Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
   249  	Nas1Configurations KxVolumeNas1ConfigurationArrayInput
   250  	// A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
   251  	Tags pulumi.StringMapInput
   252  	// The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
   253  	Type pulumi.StringInput
   254  }
   255  
   256  func (KxVolumeArgs) ElementType() reflect.Type {
   257  	return reflect.TypeOf((*kxVolumeArgs)(nil)).Elem()
   258  }
   259  
   260  type KxVolumeInput interface {
   261  	pulumi.Input
   262  
   263  	ToKxVolumeOutput() KxVolumeOutput
   264  	ToKxVolumeOutputWithContext(ctx context.Context) KxVolumeOutput
   265  }
   266  
   267  func (*KxVolume) ElementType() reflect.Type {
   268  	return reflect.TypeOf((**KxVolume)(nil)).Elem()
   269  }
   270  
   271  func (i *KxVolume) ToKxVolumeOutput() KxVolumeOutput {
   272  	return i.ToKxVolumeOutputWithContext(context.Background())
   273  }
   274  
   275  func (i *KxVolume) ToKxVolumeOutputWithContext(ctx context.Context) KxVolumeOutput {
   276  	return pulumi.ToOutputWithContext(ctx, i).(KxVolumeOutput)
   277  }
   278  
   279  // KxVolumeArrayInput is an input type that accepts KxVolumeArray and KxVolumeArrayOutput values.
   280  // You can construct a concrete instance of `KxVolumeArrayInput` via:
   281  //
   282  //	KxVolumeArray{ KxVolumeArgs{...} }
   283  type KxVolumeArrayInput interface {
   284  	pulumi.Input
   285  
   286  	ToKxVolumeArrayOutput() KxVolumeArrayOutput
   287  	ToKxVolumeArrayOutputWithContext(context.Context) KxVolumeArrayOutput
   288  }
   289  
   290  type KxVolumeArray []KxVolumeInput
   291  
   292  func (KxVolumeArray) ElementType() reflect.Type {
   293  	return reflect.TypeOf((*[]*KxVolume)(nil)).Elem()
   294  }
   295  
   296  func (i KxVolumeArray) ToKxVolumeArrayOutput() KxVolumeArrayOutput {
   297  	return i.ToKxVolumeArrayOutputWithContext(context.Background())
   298  }
   299  
   300  func (i KxVolumeArray) ToKxVolumeArrayOutputWithContext(ctx context.Context) KxVolumeArrayOutput {
   301  	return pulumi.ToOutputWithContext(ctx, i).(KxVolumeArrayOutput)
   302  }
   303  
   304  // KxVolumeMapInput is an input type that accepts KxVolumeMap and KxVolumeMapOutput values.
   305  // You can construct a concrete instance of `KxVolumeMapInput` via:
   306  //
   307  //	KxVolumeMap{ "key": KxVolumeArgs{...} }
   308  type KxVolumeMapInput interface {
   309  	pulumi.Input
   310  
   311  	ToKxVolumeMapOutput() KxVolumeMapOutput
   312  	ToKxVolumeMapOutputWithContext(context.Context) KxVolumeMapOutput
   313  }
   314  
   315  type KxVolumeMap map[string]KxVolumeInput
   316  
   317  func (KxVolumeMap) ElementType() reflect.Type {
   318  	return reflect.TypeOf((*map[string]*KxVolume)(nil)).Elem()
   319  }
   320  
   321  func (i KxVolumeMap) ToKxVolumeMapOutput() KxVolumeMapOutput {
   322  	return i.ToKxVolumeMapOutputWithContext(context.Background())
   323  }
   324  
   325  func (i KxVolumeMap) ToKxVolumeMapOutputWithContext(ctx context.Context) KxVolumeMapOutput {
   326  	return pulumi.ToOutputWithContext(ctx, i).(KxVolumeMapOutput)
   327  }
   328  
   329  type KxVolumeOutput struct{ *pulumi.OutputState }
   330  
   331  func (KxVolumeOutput) ElementType() reflect.Type {
   332  	return reflect.TypeOf((**KxVolume)(nil)).Elem()
   333  }
   334  
   335  func (o KxVolumeOutput) ToKxVolumeOutput() KxVolumeOutput {
   336  	return o
   337  }
   338  
   339  func (o KxVolumeOutput) ToKxVolumeOutputWithContext(ctx context.Context) KxVolumeOutput {
   340  	return o
   341  }
   342  
   343  // Amazon Resource Name (ARN) identifier of the KX volume.
   344  func (o KxVolumeOutput) Arn() pulumi.StringOutput {
   345  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   346  }
   347  
   348  func (o KxVolumeOutput) AttachedClusters() KxVolumeAttachedClusterArrayOutput {
   349  	return o.ApplyT(func(v *KxVolume) KxVolumeAttachedClusterArrayOutput { return v.AttachedClusters }).(KxVolumeAttachedClusterArrayOutput)
   350  }
   351  
   352  // The identifier of the AWS Availability Zone IDs.
   353  //
   354  // The following arguments are optional:
   355  func (o KxVolumeOutput) AvailabilityZones() pulumi.StringArrayOutput {
   356  	return o.ApplyT(func(v *KxVolume) pulumi.StringArrayOutput { return v.AvailabilityZones }).(pulumi.StringArrayOutput)
   357  }
   358  
   359  // The number of availability zones you want to assign per volume. Currently, Finspace only support SINGLE for volumes.
   360  func (o KxVolumeOutput) AzMode() pulumi.StringOutput {
   361  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.AzMode }).(pulumi.StringOutput)
   362  }
   363  
   364  // The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.
   365  func (o KxVolumeOutput) CreatedTimestamp() pulumi.StringOutput {
   366  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.CreatedTimestamp }).(pulumi.StringOutput)
   367  }
   368  
   369  // Description of the volume.
   370  func (o KxVolumeOutput) Description() pulumi.StringPtrOutput {
   371  	return o.ApplyT(func(v *KxVolume) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   372  }
   373  
   374  // A unique identifier for the kdb environment, whose clusters can attach to the volume.
   375  func (o KxVolumeOutput) EnvironmentId() pulumi.StringOutput {
   376  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
   377  }
   378  
   379  // Last timestamp at which the volume was updated in FinSpace. Value determined as epoch time in seconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000.
   380  func (o KxVolumeOutput) LastModifiedTimestamp() pulumi.StringOutput {
   381  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.LastModifiedTimestamp }).(pulumi.StringOutput)
   382  }
   383  
   384  // Unique name for the volumr that you want to create.
   385  func (o KxVolumeOutput) Name() pulumi.StringOutput {
   386  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   387  }
   388  
   389  // Specifies the configuration for the Network attached storage (`NAS_1`) file system volume. This parameter is required when `volumeType` is `NAS_1`. See `nas1Configuration` Argument Reference below.
   390  func (o KxVolumeOutput) Nas1Configurations() KxVolumeNas1ConfigurationArrayOutput {
   391  	return o.ApplyT(func(v *KxVolume) KxVolumeNas1ConfigurationArrayOutput { return v.Nas1Configurations }).(KxVolumeNas1ConfigurationArrayOutput)
   392  }
   393  
   394  // The status of volume creation.
   395  func (o KxVolumeOutput) Status() pulumi.StringOutput {
   396  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput)
   397  }
   398  
   399  // The error message when a failed state occurs.
   400  func (o KxVolumeOutput) StatusReason() pulumi.StringOutput {
   401  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.StatusReason }).(pulumi.StringOutput)
   402  }
   403  
   404  // A list of key-value pairs to label the volume. You can add up to 50 tags to a volume
   405  func (o KxVolumeOutput) Tags() pulumi.StringMapOutput {
   406  	return o.ApplyT(func(v *KxVolume) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   407  }
   408  
   409  // Deprecated: Please use `tags` instead.
   410  func (o KxVolumeOutput) TagsAll() pulumi.StringMapOutput {
   411  	return o.ApplyT(func(v *KxVolume) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   412  }
   413  
   414  // The type of file system volume. Currently, FinSpace only supports the `NAS_1` volume type. When you select the `NAS_1` volume type, you must also provide `nas1Configuration`.
   415  func (o KxVolumeOutput) Type() pulumi.StringOutput {
   416  	return o.ApplyT(func(v *KxVolume) pulumi.StringOutput { return v.Type }).(pulumi.StringOutput)
   417  }
   418  
   419  type KxVolumeArrayOutput struct{ *pulumi.OutputState }
   420  
   421  func (KxVolumeArrayOutput) ElementType() reflect.Type {
   422  	return reflect.TypeOf((*[]*KxVolume)(nil)).Elem()
   423  }
   424  
   425  func (o KxVolumeArrayOutput) ToKxVolumeArrayOutput() KxVolumeArrayOutput {
   426  	return o
   427  }
   428  
   429  func (o KxVolumeArrayOutput) ToKxVolumeArrayOutputWithContext(ctx context.Context) KxVolumeArrayOutput {
   430  	return o
   431  }
   432  
   433  func (o KxVolumeArrayOutput) Index(i pulumi.IntInput) KxVolumeOutput {
   434  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *KxVolume {
   435  		return vs[0].([]*KxVolume)[vs[1].(int)]
   436  	}).(KxVolumeOutput)
   437  }
   438  
   439  type KxVolumeMapOutput struct{ *pulumi.OutputState }
   440  
   441  func (KxVolumeMapOutput) ElementType() reflect.Type {
   442  	return reflect.TypeOf((*map[string]*KxVolume)(nil)).Elem()
   443  }
   444  
   445  func (o KxVolumeMapOutput) ToKxVolumeMapOutput() KxVolumeMapOutput {
   446  	return o
   447  }
   448  
   449  func (o KxVolumeMapOutput) ToKxVolumeMapOutputWithContext(ctx context.Context) KxVolumeMapOutput {
   450  	return o
   451  }
   452  
   453  func (o KxVolumeMapOutput) MapIndex(k pulumi.StringInput) KxVolumeOutput {
   454  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *KxVolume {
   455  		return vs[0].(map[string]*KxVolume)[vs[1].(string)]
   456  	}).(KxVolumeOutput)
   457  }
   458  
   459  func init() {
   460  	pulumi.RegisterInputType(reflect.TypeOf((*KxVolumeInput)(nil)).Elem(), &KxVolume{})
   461  	pulumi.RegisterInputType(reflect.TypeOf((*KxVolumeArrayInput)(nil)).Elem(), KxVolumeArray{})
   462  	pulumi.RegisterInputType(reflect.TypeOf((*KxVolumeMapInput)(nil)).Elem(), KxVolumeMap{})
   463  	pulumi.RegisterOutputType(KxVolumeOutput{})
   464  	pulumi.RegisterOutputType(KxVolumeArrayOutput{})
   465  	pulumi.RegisterOutputType(KxVolumeMapOutput{})
   466  }