github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/apiextensions/v1/customResourceDefinition.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  // CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format <.spec.name>.<.spec.group>.
    16  type CustomResourceDefinition 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  	// 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
    22  	Kind pulumi.StringPtrOutput `pulumi:"kind"`
    23  	// Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    24  	Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"`
    25  	// spec describes how the user wants the resources to appear
    26  	Spec CustomResourceDefinitionSpecOutput `pulumi:"spec"`
    27  	// status indicates the actual state of the CustomResourceDefinition
    28  	Status CustomResourceDefinitionStatusPtrOutput `pulumi:"status"`
    29  }
    30  
    31  // NewCustomResourceDefinition registers a new resource with the given unique name, arguments, and options.
    32  func NewCustomResourceDefinition(ctx *pulumi.Context,
    33  	name string, args *CustomResourceDefinitionArgs, opts ...pulumi.ResourceOption) (*CustomResourceDefinition, error) {
    34  	if args == nil {
    35  		return nil, errors.New("missing one or more required arguments")
    36  	}
    37  
    38  	if args.Spec == nil {
    39  		return nil, errors.New("invalid value for required argument 'Spec'")
    40  	}
    41  	args.ApiVersion = pulumi.StringPtr("apiextensions.k8s.io/v1")
    42  	args.Kind = pulumi.StringPtr("CustomResourceDefinition")
    43  	aliases := pulumi.Aliases([]pulumi.Alias{
    44  		{
    45  			Type: pulumi.String("kubernetes:apiextensions.k8s.io/v1beta1:CustomResourceDefinition"),
    46  		},
    47  	})
    48  	opts = append(opts, aliases)
    49  	var resource CustomResourceDefinition
    50  	err := ctx.RegisterResource("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, args, &resource, opts...)
    51  	if err != nil {
    52  		return nil, err
    53  	}
    54  	return &resource, nil
    55  }
    56  
    57  // GetCustomResourceDefinition gets an existing CustomResourceDefinition resource's state with the given name, ID, and optional
    58  // state properties that are used to uniquely qualify the lookup (nil if not required).
    59  func GetCustomResourceDefinition(ctx *pulumi.Context,
    60  	name string, id pulumi.IDInput, state *CustomResourceDefinitionState, opts ...pulumi.ResourceOption) (*CustomResourceDefinition, error) {
    61  	var resource CustomResourceDefinition
    62  	err := ctx.ReadResource("kubernetes:apiextensions.k8s.io/v1:CustomResourceDefinition", name, id, state, &resource, opts...)
    63  	if err != nil {
    64  		return nil, err
    65  	}
    66  	return &resource, nil
    67  }
    68  
    69  // Input properties used for looking up and filtering CustomResourceDefinition resources.
    70  type customResourceDefinitionState struct {
    71  }
    72  
    73  type CustomResourceDefinitionState struct {
    74  }
    75  
    76  func (CustomResourceDefinitionState) ElementType() reflect.Type {
    77  	return reflect.TypeOf((*customResourceDefinitionState)(nil)).Elem()
    78  }
    79  
    80  type customResourceDefinitionArgs struct {
    81  	// 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
    82  	ApiVersion *string `pulumi:"apiVersion"`
    83  	// 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
    84  	Kind *string `pulumi:"kind"`
    85  	// Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    86  	Metadata *metav1.ObjectMeta `pulumi:"metadata"`
    87  	// spec describes how the user wants the resources to appear
    88  	Spec CustomResourceDefinitionSpec `pulumi:"spec"`
    89  }
    90  
    91  // The set of arguments for constructing a CustomResourceDefinition resource.
    92  type CustomResourceDefinitionArgs struct {
    93  	// 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
    94  	ApiVersion pulumi.StringPtrInput
    95  	// 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
    96  	Kind pulumi.StringPtrInput
    97  	// Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    98  	Metadata metav1.ObjectMetaPtrInput
    99  	// spec describes how the user wants the resources to appear
   100  	Spec CustomResourceDefinitionSpecInput
   101  }
   102  
   103  func (CustomResourceDefinitionArgs) ElementType() reflect.Type {
   104  	return reflect.TypeOf((*customResourceDefinitionArgs)(nil)).Elem()
   105  }
   106  
   107  type CustomResourceDefinitionInput interface {
   108  	pulumi.Input
   109  
   110  	ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput
   111  	ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput
   112  }
   113  
   114  func (*CustomResourceDefinition) ElementType() reflect.Type {
   115  	return reflect.TypeOf((**CustomResourceDefinition)(nil)).Elem()
   116  }
   117  
   118  func (i *CustomResourceDefinition) ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput {
   119  	return i.ToCustomResourceDefinitionOutputWithContext(context.Background())
   120  }
   121  
   122  func (i *CustomResourceDefinition) ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput {
   123  	return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionOutput)
   124  }
   125  
   126  // CustomResourceDefinitionArrayInput is an input type that accepts CustomResourceDefinitionArray and CustomResourceDefinitionArrayOutput values.
   127  // You can construct a concrete instance of `CustomResourceDefinitionArrayInput` via:
   128  //
   129  //	CustomResourceDefinitionArray{ CustomResourceDefinitionArgs{...} }
   130  type CustomResourceDefinitionArrayInput interface {
   131  	pulumi.Input
   132  
   133  	ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput
   134  	ToCustomResourceDefinitionArrayOutputWithContext(context.Context) CustomResourceDefinitionArrayOutput
   135  }
   136  
   137  type CustomResourceDefinitionArray []CustomResourceDefinitionInput
   138  
   139  func (CustomResourceDefinitionArray) ElementType() reflect.Type {
   140  	return reflect.TypeOf((*[]*CustomResourceDefinition)(nil)).Elem()
   141  }
   142  
   143  func (i CustomResourceDefinitionArray) ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput {
   144  	return i.ToCustomResourceDefinitionArrayOutputWithContext(context.Background())
   145  }
   146  
   147  func (i CustomResourceDefinitionArray) ToCustomResourceDefinitionArrayOutputWithContext(ctx context.Context) CustomResourceDefinitionArrayOutput {
   148  	return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionArrayOutput)
   149  }
   150  
   151  // CustomResourceDefinitionMapInput is an input type that accepts CustomResourceDefinitionMap and CustomResourceDefinitionMapOutput values.
   152  // You can construct a concrete instance of `CustomResourceDefinitionMapInput` via:
   153  //
   154  //	CustomResourceDefinitionMap{ "key": CustomResourceDefinitionArgs{...} }
   155  type CustomResourceDefinitionMapInput interface {
   156  	pulumi.Input
   157  
   158  	ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput
   159  	ToCustomResourceDefinitionMapOutputWithContext(context.Context) CustomResourceDefinitionMapOutput
   160  }
   161  
   162  type CustomResourceDefinitionMap map[string]CustomResourceDefinitionInput
   163  
   164  func (CustomResourceDefinitionMap) ElementType() reflect.Type {
   165  	return reflect.TypeOf((*map[string]*CustomResourceDefinition)(nil)).Elem()
   166  }
   167  
   168  func (i CustomResourceDefinitionMap) ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput {
   169  	return i.ToCustomResourceDefinitionMapOutputWithContext(context.Background())
   170  }
   171  
   172  func (i CustomResourceDefinitionMap) ToCustomResourceDefinitionMapOutputWithContext(ctx context.Context) CustomResourceDefinitionMapOutput {
   173  	return pulumi.ToOutputWithContext(ctx, i).(CustomResourceDefinitionMapOutput)
   174  }
   175  
   176  type CustomResourceDefinitionOutput struct{ *pulumi.OutputState }
   177  
   178  func (CustomResourceDefinitionOutput) ElementType() reflect.Type {
   179  	return reflect.TypeOf((**CustomResourceDefinition)(nil)).Elem()
   180  }
   181  
   182  func (o CustomResourceDefinitionOutput) ToCustomResourceDefinitionOutput() CustomResourceDefinitionOutput {
   183  	return o
   184  }
   185  
   186  func (o CustomResourceDefinitionOutput) ToCustomResourceDefinitionOutputWithContext(ctx context.Context) CustomResourceDefinitionOutput {
   187  	return o
   188  }
   189  
   190  // 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
   191  func (o CustomResourceDefinitionOutput) ApiVersion() pulumi.StringPtrOutput {
   192  	return o.ApplyT(func(v *CustomResourceDefinition) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   193  }
   194  
   195  // 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
   196  func (o CustomResourceDefinitionOutput) Kind() pulumi.StringPtrOutput {
   197  	return o.ApplyT(func(v *CustomResourceDefinition) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   198  }
   199  
   200  // Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   201  func (o CustomResourceDefinitionOutput) Metadata() metav1.ObjectMetaPtrOutput {
   202  	return o.ApplyT(func(v *CustomResourceDefinition) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput)
   203  }
   204  
   205  // spec describes how the user wants the resources to appear
   206  func (o CustomResourceDefinitionOutput) Spec() CustomResourceDefinitionSpecOutput {
   207  	return o.ApplyT(func(v *CustomResourceDefinition) CustomResourceDefinitionSpecOutput { return v.Spec }).(CustomResourceDefinitionSpecOutput)
   208  }
   209  
   210  // status indicates the actual state of the CustomResourceDefinition
   211  func (o CustomResourceDefinitionOutput) Status() CustomResourceDefinitionStatusPtrOutput {
   212  	return o.ApplyT(func(v *CustomResourceDefinition) CustomResourceDefinitionStatusPtrOutput { return v.Status }).(CustomResourceDefinitionStatusPtrOutput)
   213  }
   214  
   215  type CustomResourceDefinitionArrayOutput struct{ *pulumi.OutputState }
   216  
   217  func (CustomResourceDefinitionArrayOutput) ElementType() reflect.Type {
   218  	return reflect.TypeOf((*[]*CustomResourceDefinition)(nil)).Elem()
   219  }
   220  
   221  func (o CustomResourceDefinitionArrayOutput) ToCustomResourceDefinitionArrayOutput() CustomResourceDefinitionArrayOutput {
   222  	return o
   223  }
   224  
   225  func (o CustomResourceDefinitionArrayOutput) ToCustomResourceDefinitionArrayOutputWithContext(ctx context.Context) CustomResourceDefinitionArrayOutput {
   226  	return o
   227  }
   228  
   229  func (o CustomResourceDefinitionArrayOutput) Index(i pulumi.IntInput) CustomResourceDefinitionOutput {
   230  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CustomResourceDefinition {
   231  		return vs[0].([]*CustomResourceDefinition)[vs[1].(int)]
   232  	}).(CustomResourceDefinitionOutput)
   233  }
   234  
   235  type CustomResourceDefinitionMapOutput struct{ *pulumi.OutputState }
   236  
   237  func (CustomResourceDefinitionMapOutput) ElementType() reflect.Type {
   238  	return reflect.TypeOf((*map[string]*CustomResourceDefinition)(nil)).Elem()
   239  }
   240  
   241  func (o CustomResourceDefinitionMapOutput) ToCustomResourceDefinitionMapOutput() CustomResourceDefinitionMapOutput {
   242  	return o
   243  }
   244  
   245  func (o CustomResourceDefinitionMapOutput) ToCustomResourceDefinitionMapOutputWithContext(ctx context.Context) CustomResourceDefinitionMapOutput {
   246  	return o
   247  }
   248  
   249  func (o CustomResourceDefinitionMapOutput) MapIndex(k pulumi.StringInput) CustomResourceDefinitionOutput {
   250  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CustomResourceDefinition {
   251  		return vs[0].(map[string]*CustomResourceDefinition)[vs[1].(string)]
   252  	}).(CustomResourceDefinitionOutput)
   253  }
   254  
   255  func init() {
   256  	pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionInput)(nil)).Elem(), &CustomResourceDefinition{})
   257  	pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionArrayInput)(nil)).Elem(), CustomResourceDefinitionArray{})
   258  	pulumi.RegisterInputType(reflect.TypeOf((*CustomResourceDefinitionMapInput)(nil)).Elem(), CustomResourceDefinitionMap{})
   259  	pulumi.RegisterOutputType(CustomResourceDefinitionOutput{})
   260  	pulumi.RegisterOutputType(CustomResourceDefinitionArrayOutput{})
   261  	pulumi.RegisterOutputType(CustomResourceDefinitionMapOutput{})
   262  }