github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/storage/v1beta1/csistorageCapacityPatch.go (about)

     1  // Code generated by pulumigen DO NOT EDIT.
     2  // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
     3  
     4  package v1beta1
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/meta/v1"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Patch resources are used to modify existing Kubernetes resources by using
    15  // Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
    16  // one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
    17  // Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
    18  // [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
    19  // additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
    20  // CSIStorageCapacity stores the result of one CSI GetCapacity call. For a given StorageClass, this describes the available capacity in a particular topology segment.  This can be used when considering where to instantiate new PersistentVolumes.
    21  //
    22  // For example this can express things like: - StorageClass "standard" has "1234 GiB" available in "topology.kubernetes.io/zone=us-east1" - StorageClass "localssd" has "10 GiB" available in "kubernetes.io/hostname=knode-abc123"
    23  //
    24  // The following three cases all imply that no capacity is available for a certain combination: - no object exists with suitable topology and storage class name - such an object exists, but the capacity is unset - such an object exists, but the capacity is zero
    25  //
    26  // The producer of these objects can decide which approach is more suitable.
    27  //
    28  // They are consumed by the kube-scheduler when a CSI driver opts into capacity-aware scheduling with CSIDriverSpec.StorageCapacity. The scheduler compares the MaximumVolumeSize against the requested size of pending volumes to filter out unsuitable nodes. If MaximumVolumeSize is unset, it falls back to a comparison against the less precise Capacity. If that is also unset, the scheduler assumes that capacity is insufficient and tries some other node.
    29  type CSIStorageCapacityPatch struct {
    30  	pulumi.CustomResourceState
    31  
    32  	// APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    33  	ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
    34  	// Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
    35  	//
    36  	// The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable.
    37  	Capacity pulumi.StringPtrOutput `pulumi:"capacity"`
    38  	// Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    39  	Kind pulumi.StringPtrOutput `pulumi:"kind"`
    40  	// MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
    41  	//
    42  	// This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
    43  	MaximumVolumeSize pulumi.StringPtrOutput `pulumi:"maximumVolumeSize"`
    44  	// Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.
    45  	//
    46  	// Objects are namespaced.
    47  	//
    48  	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    49  	Metadata metav1.ObjectMetaPatchPtrOutput `pulumi:"metadata"`
    50  	// NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable.
    51  	NodeTopology metav1.LabelSelectorPatchPtrOutput `pulumi:"nodeTopology"`
    52  	// The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.
    53  	StorageClassName pulumi.StringPtrOutput `pulumi:"storageClassName"`
    54  }
    55  
    56  // NewCSIStorageCapacityPatch registers a new resource with the given unique name, arguments, and options.
    57  func NewCSIStorageCapacityPatch(ctx *pulumi.Context,
    58  	name string, args *CSIStorageCapacityPatchArgs, opts ...pulumi.ResourceOption) (*CSIStorageCapacityPatch, error) {
    59  	if args == nil {
    60  		args = &CSIStorageCapacityPatchArgs{}
    61  	}
    62  
    63  	args.ApiVersion = pulumi.StringPtr("storage.k8s.io/v1beta1")
    64  	args.Kind = pulumi.StringPtr("CSIStorageCapacity")
    65  	aliases := pulumi.Aliases([]pulumi.Alias{
    66  		{
    67  			Type: pulumi.String("kubernetes:storage.k8s.io/v1:CSIStorageCapacityPatch"),
    68  		},
    69  		{
    70  			Type: pulumi.String("kubernetes:storage.k8s.io/v1alpha1:CSIStorageCapacityPatch"),
    71  		},
    72  	})
    73  	opts = append(opts, aliases)
    74  	var resource CSIStorageCapacityPatch
    75  	err := ctx.RegisterResource("kubernetes:storage.k8s.io/v1beta1:CSIStorageCapacityPatch", name, args, &resource, opts...)
    76  	if err != nil {
    77  		return nil, err
    78  	}
    79  	return &resource, nil
    80  }
    81  
    82  // GetCSIStorageCapacityPatch gets an existing CSIStorageCapacityPatch resource's state with the given name, ID, and optional
    83  // state properties that are used to uniquely qualify the lookup (nil if not required).
    84  func GetCSIStorageCapacityPatch(ctx *pulumi.Context,
    85  	name string, id pulumi.IDInput, state *CSIStorageCapacityPatchState, opts ...pulumi.ResourceOption) (*CSIStorageCapacityPatch, error) {
    86  	var resource CSIStorageCapacityPatch
    87  	err := ctx.ReadResource("kubernetes:storage.k8s.io/v1beta1:CSIStorageCapacityPatch", name, id, state, &resource, opts...)
    88  	if err != nil {
    89  		return nil, err
    90  	}
    91  	return &resource, nil
    92  }
    93  
    94  // Input properties used for looking up and filtering CSIStorageCapacityPatch resources.
    95  type csistorageCapacityPatchState struct {
    96  }
    97  
    98  type CSIStorageCapacityPatchState struct {
    99  }
   100  
   101  func (CSIStorageCapacityPatchState) ElementType() reflect.Type {
   102  	return reflect.TypeOf((*csistorageCapacityPatchState)(nil)).Elem()
   103  }
   104  
   105  type csistorageCapacityPatchArgs struct {
   106  	// APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   107  	ApiVersion *string `pulumi:"apiVersion"`
   108  	// Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   109  	//
   110  	// The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable.
   111  	Capacity *string `pulumi:"capacity"`
   112  	// Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   113  	Kind *string `pulumi:"kind"`
   114  	// MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   115  	//
   116  	// This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
   117  	MaximumVolumeSize *string `pulumi:"maximumVolumeSize"`
   118  	// Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.
   119  	//
   120  	// Objects are namespaced.
   121  	//
   122  	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   123  	Metadata *metav1.ObjectMetaPatch `pulumi:"metadata"`
   124  	// NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable.
   125  	NodeTopology *metav1.LabelSelectorPatch `pulumi:"nodeTopology"`
   126  	// The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.
   127  	StorageClassName *string `pulumi:"storageClassName"`
   128  }
   129  
   130  // The set of arguments for constructing a CSIStorageCapacityPatch resource.
   131  type CSIStorageCapacityPatchArgs struct {
   132  	// APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   133  	ApiVersion pulumi.StringPtrInput
   134  	// Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   135  	//
   136  	// The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable.
   137  	Capacity pulumi.StringPtrInput
   138  	// Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   139  	Kind pulumi.StringPtrInput
   140  	// MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   141  	//
   142  	// This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
   143  	MaximumVolumeSize pulumi.StringPtrInput
   144  	// Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.
   145  	//
   146  	// Objects are namespaced.
   147  	//
   148  	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   149  	Metadata metav1.ObjectMetaPatchPtrInput
   150  	// NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable.
   151  	NodeTopology metav1.LabelSelectorPatchPtrInput
   152  	// The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.
   153  	StorageClassName pulumi.StringPtrInput
   154  }
   155  
   156  func (CSIStorageCapacityPatchArgs) ElementType() reflect.Type {
   157  	return reflect.TypeOf((*csistorageCapacityPatchArgs)(nil)).Elem()
   158  }
   159  
   160  type CSIStorageCapacityPatchInput interface {
   161  	pulumi.Input
   162  
   163  	ToCSIStorageCapacityPatchOutput() CSIStorageCapacityPatchOutput
   164  	ToCSIStorageCapacityPatchOutputWithContext(ctx context.Context) CSIStorageCapacityPatchOutput
   165  }
   166  
   167  func (*CSIStorageCapacityPatch) ElementType() reflect.Type {
   168  	return reflect.TypeOf((**CSIStorageCapacityPatch)(nil)).Elem()
   169  }
   170  
   171  func (i *CSIStorageCapacityPatch) ToCSIStorageCapacityPatchOutput() CSIStorageCapacityPatchOutput {
   172  	return i.ToCSIStorageCapacityPatchOutputWithContext(context.Background())
   173  }
   174  
   175  func (i *CSIStorageCapacityPatch) ToCSIStorageCapacityPatchOutputWithContext(ctx context.Context) CSIStorageCapacityPatchOutput {
   176  	return pulumi.ToOutputWithContext(ctx, i).(CSIStorageCapacityPatchOutput)
   177  }
   178  
   179  // CSIStorageCapacityPatchArrayInput is an input type that accepts CSIStorageCapacityPatchArray and CSIStorageCapacityPatchArrayOutput values.
   180  // You can construct a concrete instance of `CSIStorageCapacityPatchArrayInput` via:
   181  //
   182  //	CSIStorageCapacityPatchArray{ CSIStorageCapacityPatchArgs{...} }
   183  type CSIStorageCapacityPatchArrayInput interface {
   184  	pulumi.Input
   185  
   186  	ToCSIStorageCapacityPatchArrayOutput() CSIStorageCapacityPatchArrayOutput
   187  	ToCSIStorageCapacityPatchArrayOutputWithContext(context.Context) CSIStorageCapacityPatchArrayOutput
   188  }
   189  
   190  type CSIStorageCapacityPatchArray []CSIStorageCapacityPatchInput
   191  
   192  func (CSIStorageCapacityPatchArray) ElementType() reflect.Type {
   193  	return reflect.TypeOf((*[]*CSIStorageCapacityPatch)(nil)).Elem()
   194  }
   195  
   196  func (i CSIStorageCapacityPatchArray) ToCSIStorageCapacityPatchArrayOutput() CSIStorageCapacityPatchArrayOutput {
   197  	return i.ToCSIStorageCapacityPatchArrayOutputWithContext(context.Background())
   198  }
   199  
   200  func (i CSIStorageCapacityPatchArray) ToCSIStorageCapacityPatchArrayOutputWithContext(ctx context.Context) CSIStorageCapacityPatchArrayOutput {
   201  	return pulumi.ToOutputWithContext(ctx, i).(CSIStorageCapacityPatchArrayOutput)
   202  }
   203  
   204  // CSIStorageCapacityPatchMapInput is an input type that accepts CSIStorageCapacityPatchMap and CSIStorageCapacityPatchMapOutput values.
   205  // You can construct a concrete instance of `CSIStorageCapacityPatchMapInput` via:
   206  //
   207  //	CSIStorageCapacityPatchMap{ "key": CSIStorageCapacityPatchArgs{...} }
   208  type CSIStorageCapacityPatchMapInput interface {
   209  	pulumi.Input
   210  
   211  	ToCSIStorageCapacityPatchMapOutput() CSIStorageCapacityPatchMapOutput
   212  	ToCSIStorageCapacityPatchMapOutputWithContext(context.Context) CSIStorageCapacityPatchMapOutput
   213  }
   214  
   215  type CSIStorageCapacityPatchMap map[string]CSIStorageCapacityPatchInput
   216  
   217  func (CSIStorageCapacityPatchMap) ElementType() reflect.Type {
   218  	return reflect.TypeOf((*map[string]*CSIStorageCapacityPatch)(nil)).Elem()
   219  }
   220  
   221  func (i CSIStorageCapacityPatchMap) ToCSIStorageCapacityPatchMapOutput() CSIStorageCapacityPatchMapOutput {
   222  	return i.ToCSIStorageCapacityPatchMapOutputWithContext(context.Background())
   223  }
   224  
   225  func (i CSIStorageCapacityPatchMap) ToCSIStorageCapacityPatchMapOutputWithContext(ctx context.Context) CSIStorageCapacityPatchMapOutput {
   226  	return pulumi.ToOutputWithContext(ctx, i).(CSIStorageCapacityPatchMapOutput)
   227  }
   228  
   229  type CSIStorageCapacityPatchOutput struct{ *pulumi.OutputState }
   230  
   231  func (CSIStorageCapacityPatchOutput) ElementType() reflect.Type {
   232  	return reflect.TypeOf((**CSIStorageCapacityPatch)(nil)).Elem()
   233  }
   234  
   235  func (o CSIStorageCapacityPatchOutput) ToCSIStorageCapacityPatchOutput() CSIStorageCapacityPatchOutput {
   236  	return o
   237  }
   238  
   239  func (o CSIStorageCapacityPatchOutput) ToCSIStorageCapacityPatchOutputWithContext(ctx context.Context) CSIStorageCapacityPatchOutput {
   240  	return o
   241  }
   242  
   243  // APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   244  func (o CSIStorageCapacityPatchOutput) ApiVersion() pulumi.StringPtrOutput {
   245  	return o.ApplyT(func(v *CSIStorageCapacityPatch) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   246  }
   247  
   248  // Capacity is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   249  //
   250  // The semantic is currently (CSI spec 1.2) defined as: The available capacity, in bytes, of the storage that can be used to provision volumes. If not set, that information is currently unavailable.
   251  func (o CSIStorageCapacityPatchOutput) Capacity() pulumi.StringPtrOutput {
   252  	return o.ApplyT(func(v *CSIStorageCapacityPatch) pulumi.StringPtrOutput { return v.Capacity }).(pulumi.StringPtrOutput)
   253  }
   254  
   255  // Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   256  func (o CSIStorageCapacityPatchOutput) Kind() pulumi.StringPtrOutput {
   257  	return o.ApplyT(func(v *CSIStorageCapacityPatch) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   258  }
   259  
   260  // MaximumVolumeSize is the value reported by the CSI driver in its GetCapacityResponse for a GetCapacityRequest with topology and parameters that match the previous fields.
   261  //
   262  // This is defined since CSI spec 1.4.0 as the largest size that may be used in a CreateVolumeRequest.capacity_range.required_bytes field to create a volume with the same parameters as those in GetCapacityRequest. The corresponding value in the Kubernetes API is ResourceRequirements.Requests in a volume claim.
   263  func (o CSIStorageCapacityPatchOutput) MaximumVolumeSize() pulumi.StringPtrOutput {
   264  	return o.ApplyT(func(v *CSIStorageCapacityPatch) pulumi.StringPtrOutput { return v.MaximumVolumeSize }).(pulumi.StringPtrOutput)
   265  }
   266  
   267  // Standard object's metadata. The name has no particular meaning. It must be be a DNS subdomain (dots allowed, 253 characters). To ensure that there are no conflicts with other CSI drivers on the cluster, the recommendation is to use csisc-<uuid>, a generated name, or a reverse-domain name which ends with the unique CSI driver name.
   268  //
   269  // Objects are namespaced.
   270  //
   271  // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   272  func (o CSIStorageCapacityPatchOutput) Metadata() metav1.ObjectMetaPatchPtrOutput {
   273  	return o.ApplyT(func(v *CSIStorageCapacityPatch) metav1.ObjectMetaPatchPtrOutput { return v.Metadata }).(metav1.ObjectMetaPatchPtrOutput)
   274  }
   275  
   276  // NodeTopology defines which nodes have access to the storage for which capacity was reported. If not set, the storage is not accessible from any node in the cluster. If empty, the storage is accessible from all nodes. This field is immutable.
   277  func (o CSIStorageCapacityPatchOutput) NodeTopology() metav1.LabelSelectorPatchPtrOutput {
   278  	return o.ApplyT(func(v *CSIStorageCapacityPatch) metav1.LabelSelectorPatchPtrOutput { return v.NodeTopology }).(metav1.LabelSelectorPatchPtrOutput)
   279  }
   280  
   281  // The name of the StorageClass that the reported capacity applies to. It must meet the same requirements as the name of a StorageClass object (non-empty, DNS subdomain). If that object no longer exists, the CSIStorageCapacity object is obsolete and should be removed by its creator. This field is immutable.
   282  func (o CSIStorageCapacityPatchOutput) StorageClassName() pulumi.StringPtrOutput {
   283  	return o.ApplyT(func(v *CSIStorageCapacityPatch) pulumi.StringPtrOutput { return v.StorageClassName }).(pulumi.StringPtrOutput)
   284  }
   285  
   286  type CSIStorageCapacityPatchArrayOutput struct{ *pulumi.OutputState }
   287  
   288  func (CSIStorageCapacityPatchArrayOutput) ElementType() reflect.Type {
   289  	return reflect.TypeOf((*[]*CSIStorageCapacityPatch)(nil)).Elem()
   290  }
   291  
   292  func (o CSIStorageCapacityPatchArrayOutput) ToCSIStorageCapacityPatchArrayOutput() CSIStorageCapacityPatchArrayOutput {
   293  	return o
   294  }
   295  
   296  func (o CSIStorageCapacityPatchArrayOutput) ToCSIStorageCapacityPatchArrayOutputWithContext(ctx context.Context) CSIStorageCapacityPatchArrayOutput {
   297  	return o
   298  }
   299  
   300  func (o CSIStorageCapacityPatchArrayOutput) Index(i pulumi.IntInput) CSIStorageCapacityPatchOutput {
   301  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CSIStorageCapacityPatch {
   302  		return vs[0].([]*CSIStorageCapacityPatch)[vs[1].(int)]
   303  	}).(CSIStorageCapacityPatchOutput)
   304  }
   305  
   306  type CSIStorageCapacityPatchMapOutput struct{ *pulumi.OutputState }
   307  
   308  func (CSIStorageCapacityPatchMapOutput) ElementType() reflect.Type {
   309  	return reflect.TypeOf((*map[string]*CSIStorageCapacityPatch)(nil)).Elem()
   310  }
   311  
   312  func (o CSIStorageCapacityPatchMapOutput) ToCSIStorageCapacityPatchMapOutput() CSIStorageCapacityPatchMapOutput {
   313  	return o
   314  }
   315  
   316  func (o CSIStorageCapacityPatchMapOutput) ToCSIStorageCapacityPatchMapOutputWithContext(ctx context.Context) CSIStorageCapacityPatchMapOutput {
   317  	return o
   318  }
   319  
   320  func (o CSIStorageCapacityPatchMapOutput) MapIndex(k pulumi.StringInput) CSIStorageCapacityPatchOutput {
   321  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CSIStorageCapacityPatch {
   322  		return vs[0].(map[string]*CSIStorageCapacityPatch)[vs[1].(string)]
   323  	}).(CSIStorageCapacityPatchOutput)
   324  }
   325  
   326  func init() {
   327  	pulumi.RegisterInputType(reflect.TypeOf((*CSIStorageCapacityPatchInput)(nil)).Elem(), &CSIStorageCapacityPatch{})
   328  	pulumi.RegisterInputType(reflect.TypeOf((*CSIStorageCapacityPatchArrayInput)(nil)).Elem(), CSIStorageCapacityPatchArray{})
   329  	pulumi.RegisterInputType(reflect.TypeOf((*CSIStorageCapacityPatchMapInput)(nil)).Elem(), CSIStorageCapacityPatchMap{})
   330  	pulumi.RegisterOutputType(CSIStorageCapacityPatchOutput{})
   331  	pulumi.RegisterOutputType(CSIStorageCapacityPatchArrayOutput{})
   332  	pulumi.RegisterOutputType(CSIStorageCapacityPatchMapOutput{})
   333  }