github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/networking/v1/ingressClassList.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 v1
     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  // IngressClassList is a collection of IngressClasses.
    16  type IngressClassList 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 IngressClasses.
    22  	Items IngressClassTypeArrayOutput `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.
    26  	Metadata metav1.ListMetaPtrOutput `pulumi:"metadata"`
    27  }
    28  
    29  // NewIngressClassList registers a new resource with the given unique name, arguments, and options.
    30  func NewIngressClassList(ctx *pulumi.Context,
    31  	name string, args *IngressClassListArgs, opts ...pulumi.ResourceOption) (*IngressClassList, 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("networking.k8s.io/v1")
    40  	args.Kind = pulumi.StringPtr("IngressClassList")
    41  	var resource IngressClassList
    42  	err := ctx.RegisterResource("kubernetes:networking.k8s.io/v1:IngressClassList", name, args, &resource, opts...)
    43  	if err != nil {
    44  		return nil, err
    45  	}
    46  	return &resource, nil
    47  }
    48  
    49  // GetIngressClassList gets an existing IngressClassList 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 GetIngressClassList(ctx *pulumi.Context,
    52  	name string, id pulumi.IDInput, state *IngressClassListState, opts ...pulumi.ResourceOption) (*IngressClassList, error) {
    53  	var resource IngressClassList
    54  	err := ctx.ReadResource("kubernetes:networking.k8s.io/v1:IngressClassList", 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 IngressClassList resources.
    62  type ingressClassListState struct {
    63  }
    64  
    65  type IngressClassListState struct {
    66  }
    67  
    68  func (IngressClassListState) ElementType() reflect.Type {
    69  	return reflect.TypeOf((*ingressClassListState)(nil)).Elem()
    70  }
    71  
    72  type ingressClassListArgs 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 IngressClasses.
    76  	Items []IngressClassType `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.
    80  	Metadata *metav1.ListMeta `pulumi:"metadata"`
    81  }
    82  
    83  // The set of arguments for constructing a IngressClassList resource.
    84  type IngressClassListArgs 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 IngressClasses.
    88  	Items IngressClassTypeArrayInput
    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.
    92  	Metadata metav1.ListMetaPtrInput
    93  }
    94  
    95  func (IngressClassListArgs) ElementType() reflect.Type {
    96  	return reflect.TypeOf((*ingressClassListArgs)(nil)).Elem()
    97  }
    98  
    99  type IngressClassListInput interface {
   100  	pulumi.Input
   101  
   102  	ToIngressClassListOutput() IngressClassListOutput
   103  	ToIngressClassListOutputWithContext(ctx context.Context) IngressClassListOutput
   104  }
   105  
   106  func (*IngressClassList) ElementType() reflect.Type {
   107  	return reflect.TypeOf((**IngressClassList)(nil)).Elem()
   108  }
   109  
   110  func (i *IngressClassList) ToIngressClassListOutput() IngressClassListOutput {
   111  	return i.ToIngressClassListOutputWithContext(context.Background())
   112  }
   113  
   114  func (i *IngressClassList) ToIngressClassListOutputWithContext(ctx context.Context) IngressClassListOutput {
   115  	return pulumi.ToOutputWithContext(ctx, i).(IngressClassListOutput)
   116  }
   117  
   118  // IngressClassListArrayInput is an input type that accepts IngressClassListArray and IngressClassListArrayOutput values.
   119  // You can construct a concrete instance of `IngressClassListArrayInput` via:
   120  //
   121  //	IngressClassListArray{ IngressClassListArgs{...} }
   122  type IngressClassListArrayInput interface {
   123  	pulumi.Input
   124  
   125  	ToIngressClassListArrayOutput() IngressClassListArrayOutput
   126  	ToIngressClassListArrayOutputWithContext(context.Context) IngressClassListArrayOutput
   127  }
   128  
   129  type IngressClassListArray []IngressClassListInput
   130  
   131  func (IngressClassListArray) ElementType() reflect.Type {
   132  	return reflect.TypeOf((*[]*IngressClassList)(nil)).Elem()
   133  }
   134  
   135  func (i IngressClassListArray) ToIngressClassListArrayOutput() IngressClassListArrayOutput {
   136  	return i.ToIngressClassListArrayOutputWithContext(context.Background())
   137  }
   138  
   139  func (i IngressClassListArray) ToIngressClassListArrayOutputWithContext(ctx context.Context) IngressClassListArrayOutput {
   140  	return pulumi.ToOutputWithContext(ctx, i).(IngressClassListArrayOutput)
   141  }
   142  
   143  // IngressClassListMapInput is an input type that accepts IngressClassListMap and IngressClassListMapOutput values.
   144  // You can construct a concrete instance of `IngressClassListMapInput` via:
   145  //
   146  //	IngressClassListMap{ "key": IngressClassListArgs{...} }
   147  type IngressClassListMapInput interface {
   148  	pulumi.Input
   149  
   150  	ToIngressClassListMapOutput() IngressClassListMapOutput
   151  	ToIngressClassListMapOutputWithContext(context.Context) IngressClassListMapOutput
   152  }
   153  
   154  type IngressClassListMap map[string]IngressClassListInput
   155  
   156  func (IngressClassListMap) ElementType() reflect.Type {
   157  	return reflect.TypeOf((*map[string]*IngressClassList)(nil)).Elem()
   158  }
   159  
   160  func (i IngressClassListMap) ToIngressClassListMapOutput() IngressClassListMapOutput {
   161  	return i.ToIngressClassListMapOutputWithContext(context.Background())
   162  }
   163  
   164  func (i IngressClassListMap) ToIngressClassListMapOutputWithContext(ctx context.Context) IngressClassListMapOutput {
   165  	return pulumi.ToOutputWithContext(ctx, i).(IngressClassListMapOutput)
   166  }
   167  
   168  type IngressClassListOutput struct{ *pulumi.OutputState }
   169  
   170  func (IngressClassListOutput) ElementType() reflect.Type {
   171  	return reflect.TypeOf((**IngressClassList)(nil)).Elem()
   172  }
   173  
   174  func (o IngressClassListOutput) ToIngressClassListOutput() IngressClassListOutput {
   175  	return o
   176  }
   177  
   178  func (o IngressClassListOutput) ToIngressClassListOutputWithContext(ctx context.Context) IngressClassListOutput {
   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 IngressClassListOutput) ApiVersion() pulumi.StringPtrOutput {
   184  	return o.ApplyT(func(v *IngressClassList) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   185  }
   186  
   187  // items is the list of IngressClasses.
   188  func (o IngressClassListOutput) Items() IngressClassTypeArrayOutput {
   189  	return o.ApplyT(func(v *IngressClassList) IngressClassTypeArrayOutput { return v.Items }).(IngressClassTypeArrayOutput)
   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 IngressClassListOutput) Kind() pulumi.StringPtrOutput {
   194  	return o.ApplyT(func(v *IngressClassList) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   195  }
   196  
   197  // Standard list metadata.
   198  func (o IngressClassListOutput) Metadata() metav1.ListMetaPtrOutput {
   199  	return o.ApplyT(func(v *IngressClassList) metav1.ListMetaPtrOutput { return v.Metadata }).(metav1.ListMetaPtrOutput)
   200  }
   201  
   202  type IngressClassListArrayOutput struct{ *pulumi.OutputState }
   203  
   204  func (IngressClassListArrayOutput) ElementType() reflect.Type {
   205  	return reflect.TypeOf((*[]*IngressClassList)(nil)).Elem()
   206  }
   207  
   208  func (o IngressClassListArrayOutput) ToIngressClassListArrayOutput() IngressClassListArrayOutput {
   209  	return o
   210  }
   211  
   212  func (o IngressClassListArrayOutput) ToIngressClassListArrayOutputWithContext(ctx context.Context) IngressClassListArrayOutput {
   213  	return o
   214  }
   215  
   216  func (o IngressClassListArrayOutput) Index(i pulumi.IntInput) IngressClassListOutput {
   217  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *IngressClassList {
   218  		return vs[0].([]*IngressClassList)[vs[1].(int)]
   219  	}).(IngressClassListOutput)
   220  }
   221  
   222  type IngressClassListMapOutput struct{ *pulumi.OutputState }
   223  
   224  func (IngressClassListMapOutput) ElementType() reflect.Type {
   225  	return reflect.TypeOf((*map[string]*IngressClassList)(nil)).Elem()
   226  }
   227  
   228  func (o IngressClassListMapOutput) ToIngressClassListMapOutput() IngressClassListMapOutput {
   229  	return o
   230  }
   231  
   232  func (o IngressClassListMapOutput) ToIngressClassListMapOutputWithContext(ctx context.Context) IngressClassListMapOutput {
   233  	return o
   234  }
   235  
   236  func (o IngressClassListMapOutput) MapIndex(k pulumi.StringInput) IngressClassListOutput {
   237  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *IngressClassList {
   238  		return vs[0].(map[string]*IngressClassList)[vs[1].(string)]
   239  	}).(IngressClassListOutput)
   240  }
   241  
   242  func init() {
   243  	pulumi.RegisterInputType(reflect.TypeOf((*IngressClassListInput)(nil)).Elem(), &IngressClassList{})
   244  	pulumi.RegisterInputType(reflect.TypeOf((*IngressClassListArrayInput)(nil)).Elem(), IngressClassListArray{})
   245  	pulumi.RegisterInputType(reflect.TypeOf((*IngressClassListMapInput)(nil)).Elem(), IngressClassListMap{})
   246  	pulumi.RegisterOutputType(IngressClassListOutput{})
   247  	pulumi.RegisterOutputType(IngressClassListArrayOutput{})
   248  	pulumi.RegisterOutputType(IngressClassListMapOutput{})
   249  }