github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/storage/v1beta1/storageClassList.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  	"errors"
    11  	metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/meta/v1"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // StorageClassList is a collection of storage classes.
    16  type StorageClassList struct {
    17  	pulumi.CustomResourceState
    18  
    19  	// 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
    20  	ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
    21  	// Items is the list of StorageClasses
    22  	Items StorageClassTypeArrayOutput `pulumi:"items"`
    23  	// 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
    24  	Kind pulumi.StringPtrOutput `pulumi:"kind"`
    25  	// Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    26  	Metadata metav1.ListMetaPtrOutput `pulumi:"metadata"`
    27  }
    28  
    29  // NewStorageClassList registers a new resource with the given unique name, arguments, and options.
    30  func NewStorageClassList(ctx *pulumi.Context,
    31  	name string, args *StorageClassListArgs, opts ...pulumi.ResourceOption) (*StorageClassList, error) {
    32  	if args == nil {
    33  		return nil, errors.New("missing one or more required arguments")
    34  	}
    35  
    36  	if args.Items == nil {
    37  		return nil, errors.New("invalid value for required argument 'Items'")
    38  	}
    39  	args.ApiVersion = pulumi.StringPtr("storage.k8s.io/v1beta1")
    40  	args.Kind = pulumi.StringPtr("StorageClassList")
    41  	var resource StorageClassList
    42  	err := ctx.RegisterResource("kubernetes:storage.k8s.io/v1beta1:StorageClassList", name, args, &resource, opts...)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  	return &resource, nil
    47  }
    48  
    49  // GetStorageClassList gets an existing StorageClassList resource's state with the given name, ID, and optional
    50  // state properties that are used to uniquely qualify the lookup (nil if not required).
    51  func GetStorageClassList(ctx *pulumi.Context,
    52  	name string, id pulumi.IDInput, state *StorageClassListState, opts ...pulumi.ResourceOption) (*StorageClassList, error) {
    53  	var resource StorageClassList
    54  	err := ctx.ReadResource("kubernetes:storage.k8s.io/v1beta1:StorageClassList", name, id, state, &resource, opts...)
    55  	if err != nil {
    56  		return nil, err
    57  	}
    58  	return &resource, nil
    59  }
    60  
    61  // Input properties used for looking up and filtering StorageClassList resources.
    62  type storageClassListState struct {
    63  }
    64  
    65  type StorageClassListState struct {
    66  }
    67  
    68  func (StorageClassListState) ElementType() reflect.Type {
    69  	return reflect.TypeOf((*storageClassListState)(nil)).Elem()
    70  }
    71  
    72  type storageClassListArgs struct {
    73  	// 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
    74  	ApiVersion *string `pulumi:"apiVersion"`
    75  	// Items is the list of StorageClasses
    76  	Items []StorageClassType `pulumi:"items"`
    77  	// 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
    78  	Kind *string `pulumi:"kind"`
    79  	// Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    80  	Metadata *metav1.ListMeta `pulumi:"metadata"`
    81  }
    82  
    83  // The set of arguments for constructing a StorageClassList resource.
    84  type StorageClassListArgs struct {
    85  	// 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
    86  	ApiVersion pulumi.StringPtrInput
    87  	// Items is the list of StorageClasses
    88  	Items StorageClassTypeArrayInput
    89  	// 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
    90  	Kind pulumi.StringPtrInput
    91  	// Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    92  	Metadata metav1.ListMetaPtrInput
    93  }
    94  
    95  func (StorageClassListArgs) ElementType() reflect.Type {
    96  	return reflect.TypeOf((*storageClassListArgs)(nil)).Elem()
    97  }
    98  
    99  type StorageClassListInput interface {
   100  	pulumi.Input
   101  
   102  	ToStorageClassListOutput() StorageClassListOutput
   103  	ToStorageClassListOutputWithContext(ctx context.Context) StorageClassListOutput
   104  }
   105  
   106  func (*StorageClassList) ElementType() reflect.Type {
   107  	return reflect.TypeOf((**StorageClassList)(nil)).Elem()
   108  }
   109  
   110  func (i *StorageClassList) ToStorageClassListOutput() StorageClassListOutput {
   111  	return i.ToStorageClassListOutputWithContext(context.Background())
   112  }
   113  
   114  func (i *StorageClassList) ToStorageClassListOutputWithContext(ctx context.Context) StorageClassListOutput {
   115  	return pulumi.ToOutputWithContext(ctx, i).(StorageClassListOutput)
   116  }
   117  
   118  // StorageClassListArrayInput is an input type that accepts StorageClassListArray and StorageClassListArrayOutput values.
   119  // You can construct a concrete instance of `StorageClassListArrayInput` via:
   120  //
   121  //	StorageClassListArray{ StorageClassListArgs{...} }
   122  type StorageClassListArrayInput interface {
   123  	pulumi.Input
   124  
   125  	ToStorageClassListArrayOutput() StorageClassListArrayOutput
   126  	ToStorageClassListArrayOutputWithContext(context.Context) StorageClassListArrayOutput
   127  }
   128  
   129  type StorageClassListArray []StorageClassListInput
   130  
   131  func (StorageClassListArray) ElementType() reflect.Type {
   132  	return reflect.TypeOf((*[]*StorageClassList)(nil)).Elem()
   133  }
   134  
   135  func (i StorageClassListArray) ToStorageClassListArrayOutput() StorageClassListArrayOutput {
   136  	return i.ToStorageClassListArrayOutputWithContext(context.Background())
   137  }
   138  
   139  func (i StorageClassListArray) ToStorageClassListArrayOutputWithContext(ctx context.Context) StorageClassListArrayOutput {
   140  	return pulumi.ToOutputWithContext(ctx, i).(StorageClassListArrayOutput)
   141  }
   142  
   143  // StorageClassListMapInput is an input type that accepts StorageClassListMap and StorageClassListMapOutput values.
   144  // You can construct a concrete instance of `StorageClassListMapInput` via:
   145  //
   146  //	StorageClassListMap{ "key": StorageClassListArgs{...} }
   147  type StorageClassListMapInput interface {
   148  	pulumi.Input
   149  
   150  	ToStorageClassListMapOutput() StorageClassListMapOutput
   151  	ToStorageClassListMapOutputWithContext(context.Context) StorageClassListMapOutput
   152  }
   153  
   154  type StorageClassListMap map[string]StorageClassListInput
   155  
   156  func (StorageClassListMap) ElementType() reflect.Type {
   157  	return reflect.TypeOf((*map[string]*StorageClassList)(nil)).Elem()
   158  }
   159  
   160  func (i StorageClassListMap) ToStorageClassListMapOutput() StorageClassListMapOutput {
   161  	return i.ToStorageClassListMapOutputWithContext(context.Background())
   162  }
   163  
   164  func (i StorageClassListMap) ToStorageClassListMapOutputWithContext(ctx context.Context) StorageClassListMapOutput {
   165  	return pulumi.ToOutputWithContext(ctx, i).(StorageClassListMapOutput)
   166  }
   167  
   168  type StorageClassListOutput struct{ *pulumi.OutputState }
   169  
   170  func (StorageClassListOutput) ElementType() reflect.Type {
   171  	return reflect.TypeOf((**StorageClassList)(nil)).Elem()
   172  }
   173  
   174  func (o StorageClassListOutput) ToStorageClassListOutput() StorageClassListOutput {
   175  	return o
   176  }
   177  
   178  func (o StorageClassListOutput) ToStorageClassListOutputWithContext(ctx context.Context) StorageClassListOutput {
   179  	return o
   180  }
   181  
   182  // 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
   183  func (o StorageClassListOutput) ApiVersion() pulumi.StringPtrOutput {
   184  	return o.ApplyT(func(v *StorageClassList) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   185  }
   186  
   187  // Items is the list of StorageClasses
   188  func (o StorageClassListOutput) Items() StorageClassTypeArrayOutput {
   189  	return o.ApplyT(func(v *StorageClassList) StorageClassTypeArrayOutput { return v.Items }).(StorageClassTypeArrayOutput)
   190  }
   191  
   192  // 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
   193  func (o StorageClassListOutput) Kind() pulumi.StringPtrOutput {
   194  	return o.ApplyT(func(v *StorageClassList) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   195  }
   196  
   197  // Standard list metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   198  func (o StorageClassListOutput) Metadata() metav1.ListMetaPtrOutput {
   199  	return o.ApplyT(func(v *StorageClassList) metav1.ListMetaPtrOutput { return v.Metadata }).(metav1.ListMetaPtrOutput)
   200  }
   201  
   202  type StorageClassListArrayOutput struct{ *pulumi.OutputState }
   203  
   204  func (StorageClassListArrayOutput) ElementType() reflect.Type {
   205  	return reflect.TypeOf((*[]*StorageClassList)(nil)).Elem()
   206  }
   207  
   208  func (o StorageClassListArrayOutput) ToStorageClassListArrayOutput() StorageClassListArrayOutput {
   209  	return o
   210  }
   211  
   212  func (o StorageClassListArrayOutput) ToStorageClassListArrayOutputWithContext(ctx context.Context) StorageClassListArrayOutput {
   213  	return o
   214  }
   215  
   216  func (o StorageClassListArrayOutput) Index(i pulumi.IntInput) StorageClassListOutput {
   217  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *StorageClassList {
   218  		return vs[0].([]*StorageClassList)[vs[1].(int)]
   219  	}).(StorageClassListOutput)
   220  }
   221  
   222  type StorageClassListMapOutput struct{ *pulumi.OutputState }
   223  
   224  func (StorageClassListMapOutput) ElementType() reflect.Type {
   225  	return reflect.TypeOf((*map[string]*StorageClassList)(nil)).Elem()
   226  }
   227  
   228  func (o StorageClassListMapOutput) ToStorageClassListMapOutput() StorageClassListMapOutput {
   229  	return o
   230  }
   231  
   232  func (o StorageClassListMapOutput) ToStorageClassListMapOutputWithContext(ctx context.Context) StorageClassListMapOutput {
   233  	return o
   234  }
   235  
   236  func (o StorageClassListMapOutput) MapIndex(k pulumi.StringInput) StorageClassListOutput {
   237  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *StorageClassList {
   238  		return vs[0].(map[string]*StorageClassList)[vs[1].(string)]
   239  	}).(StorageClassListOutput)
   240  }
   241  
   242  func init() {
   243  	pulumi.RegisterInputType(reflect.TypeOf((*StorageClassListInput)(nil)).Elem(), &StorageClassList{})
   244  	pulumi.RegisterInputType(reflect.TypeOf((*StorageClassListArrayInput)(nil)).Elem(), StorageClassListArray{})
   245  	pulumi.RegisterInputType(reflect.TypeOf((*StorageClassListMapInput)(nil)).Elem(), StorageClassListMap{})
   246  	pulumi.RegisterOutputType(StorageClassListOutput{})
   247  	pulumi.RegisterOutputType(StorageClassListArrayOutput{})
   248  	pulumi.RegisterOutputType(StorageClassListMapOutput{})
   249  }