github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/apps/v1beta1/controllerRevision.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  // ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.
    16  //
    17  // Deprecated: apps/v1beta1/ControllerRevision is deprecated by apps/v1/ControllerRevision and not supported by Kubernetes v1.16+ clusters.
    18  type ControllerRevision struct {
    19  	pulumi.CustomResourceState
    20  
    21  	// 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
    22  	ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
    23  	// Data is the serialized representation of the state.
    24  	Data pulumi.AnyOutput `pulumi:"data"`
    25  	// 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
    26  	Kind pulumi.StringPtrOutput `pulumi:"kind"`
    27  	// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    28  	Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"`
    29  	// Revision indicates the revision of the state represented by Data.
    30  	Revision pulumi.IntOutput `pulumi:"revision"`
    31  }
    32  
    33  // NewControllerRevision registers a new resource with the given unique name, arguments, and options.
    34  func NewControllerRevision(ctx *pulumi.Context,
    35  	name string, args *ControllerRevisionArgs, opts ...pulumi.ResourceOption) (*ControllerRevision, error) {
    36  	if args == nil {
    37  		return nil, errors.New("missing one or more required arguments")
    38  	}
    39  
    40  	if args.Revision == nil {
    41  		return nil, errors.New("invalid value for required argument 'Revision'")
    42  	}
    43  	args.ApiVersion = pulumi.StringPtr("apps/v1beta1")
    44  	args.Kind = pulumi.StringPtr("ControllerRevision")
    45  	aliases := pulumi.Aliases([]pulumi.Alias{
    46  		{
    47  			Type: pulumi.String("kubernetes:apps/v1:ControllerRevision"),
    48  		},
    49  		{
    50  			Type: pulumi.String("kubernetes:apps/v1beta2:ControllerRevision"),
    51  		},
    52  	})
    53  	opts = append(opts, aliases)
    54  	var resource ControllerRevision
    55  	err := ctx.RegisterResource("kubernetes:apps/v1beta1:ControllerRevision", name, args, &resource, opts...)
    56  	if err != nil {
    57  		return nil, err
    58  	}
    59  	return &resource, nil
    60  }
    61  
    62  // GetControllerRevision gets an existing ControllerRevision resource's state with the given name, ID, and optional
    63  // state properties that are used to uniquely qualify the lookup (nil if not required).
    64  func GetControllerRevision(ctx *pulumi.Context,
    65  	name string, id pulumi.IDInput, state *ControllerRevisionState, opts ...pulumi.ResourceOption) (*ControllerRevision, error) {
    66  	var resource ControllerRevision
    67  	err := ctx.ReadResource("kubernetes:apps/v1beta1:ControllerRevision", name, id, state, &resource, opts...)
    68  	if err != nil {
    69  		return nil, err
    70  	}
    71  	return &resource, nil
    72  }
    73  
    74  // Input properties used for looking up and filtering ControllerRevision resources.
    75  type controllerRevisionState struct {
    76  }
    77  
    78  type ControllerRevisionState struct {
    79  }
    80  
    81  func (ControllerRevisionState) ElementType() reflect.Type {
    82  	return reflect.TypeOf((*controllerRevisionState)(nil)).Elem()
    83  }
    84  
    85  type controllerRevisionArgs struct {
    86  	// 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
    87  	ApiVersion *string `pulumi:"apiVersion"`
    88  	// Data is the serialized representation of the state.
    89  	Data interface{} `pulumi:"data"`
    90  	// 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
    91  	Kind *string `pulumi:"kind"`
    92  	// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    93  	Metadata *metav1.ObjectMeta `pulumi:"metadata"`
    94  	// Revision indicates the revision of the state represented by Data.
    95  	Revision int `pulumi:"revision"`
    96  }
    97  
    98  // The set of arguments for constructing a ControllerRevision resource.
    99  type ControllerRevisionArgs struct {
   100  	// 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
   101  	ApiVersion pulumi.StringPtrInput
   102  	// Data is the serialized representation of the state.
   103  	Data pulumi.Input
   104  	// 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
   105  	Kind pulumi.StringPtrInput
   106  	// Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   107  	Metadata metav1.ObjectMetaPtrInput
   108  	// Revision indicates the revision of the state represented by Data.
   109  	Revision pulumi.IntInput
   110  }
   111  
   112  func (ControllerRevisionArgs) ElementType() reflect.Type {
   113  	return reflect.TypeOf((*controllerRevisionArgs)(nil)).Elem()
   114  }
   115  
   116  type ControllerRevisionInput interface {
   117  	pulumi.Input
   118  
   119  	ToControllerRevisionOutput() ControllerRevisionOutput
   120  	ToControllerRevisionOutputWithContext(ctx context.Context) ControllerRevisionOutput
   121  }
   122  
   123  func (*ControllerRevision) ElementType() reflect.Type {
   124  	return reflect.TypeOf((**ControllerRevision)(nil)).Elem()
   125  }
   126  
   127  func (i *ControllerRevision) ToControllerRevisionOutput() ControllerRevisionOutput {
   128  	return i.ToControllerRevisionOutputWithContext(context.Background())
   129  }
   130  
   131  func (i *ControllerRevision) ToControllerRevisionOutputWithContext(ctx context.Context) ControllerRevisionOutput {
   132  	return pulumi.ToOutputWithContext(ctx, i).(ControllerRevisionOutput)
   133  }
   134  
   135  // ControllerRevisionArrayInput is an input type that accepts ControllerRevisionArray and ControllerRevisionArrayOutput values.
   136  // You can construct a concrete instance of `ControllerRevisionArrayInput` via:
   137  //
   138  //	ControllerRevisionArray{ ControllerRevisionArgs{...} }
   139  type ControllerRevisionArrayInput interface {
   140  	pulumi.Input
   141  
   142  	ToControllerRevisionArrayOutput() ControllerRevisionArrayOutput
   143  	ToControllerRevisionArrayOutputWithContext(context.Context) ControllerRevisionArrayOutput
   144  }
   145  
   146  type ControllerRevisionArray []ControllerRevisionInput
   147  
   148  func (ControllerRevisionArray) ElementType() reflect.Type {
   149  	return reflect.TypeOf((*[]*ControllerRevision)(nil)).Elem()
   150  }
   151  
   152  func (i ControllerRevisionArray) ToControllerRevisionArrayOutput() ControllerRevisionArrayOutput {
   153  	return i.ToControllerRevisionArrayOutputWithContext(context.Background())
   154  }
   155  
   156  func (i ControllerRevisionArray) ToControllerRevisionArrayOutputWithContext(ctx context.Context) ControllerRevisionArrayOutput {
   157  	return pulumi.ToOutputWithContext(ctx, i).(ControllerRevisionArrayOutput)
   158  }
   159  
   160  // ControllerRevisionMapInput is an input type that accepts ControllerRevisionMap and ControllerRevisionMapOutput values.
   161  // You can construct a concrete instance of `ControllerRevisionMapInput` via:
   162  //
   163  //	ControllerRevisionMap{ "key": ControllerRevisionArgs{...} }
   164  type ControllerRevisionMapInput interface {
   165  	pulumi.Input
   166  
   167  	ToControllerRevisionMapOutput() ControllerRevisionMapOutput
   168  	ToControllerRevisionMapOutputWithContext(context.Context) ControllerRevisionMapOutput
   169  }
   170  
   171  type ControllerRevisionMap map[string]ControllerRevisionInput
   172  
   173  func (ControllerRevisionMap) ElementType() reflect.Type {
   174  	return reflect.TypeOf((*map[string]*ControllerRevision)(nil)).Elem()
   175  }
   176  
   177  func (i ControllerRevisionMap) ToControllerRevisionMapOutput() ControllerRevisionMapOutput {
   178  	return i.ToControllerRevisionMapOutputWithContext(context.Background())
   179  }
   180  
   181  func (i ControllerRevisionMap) ToControllerRevisionMapOutputWithContext(ctx context.Context) ControllerRevisionMapOutput {
   182  	return pulumi.ToOutputWithContext(ctx, i).(ControllerRevisionMapOutput)
   183  }
   184  
   185  type ControllerRevisionOutput struct{ *pulumi.OutputState }
   186  
   187  func (ControllerRevisionOutput) ElementType() reflect.Type {
   188  	return reflect.TypeOf((**ControllerRevision)(nil)).Elem()
   189  }
   190  
   191  func (o ControllerRevisionOutput) ToControllerRevisionOutput() ControllerRevisionOutput {
   192  	return o
   193  }
   194  
   195  func (o ControllerRevisionOutput) ToControllerRevisionOutputWithContext(ctx context.Context) ControllerRevisionOutput {
   196  	return o
   197  }
   198  
   199  // 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
   200  func (o ControllerRevisionOutput) ApiVersion() pulumi.StringPtrOutput {
   201  	return o.ApplyT(func(v *ControllerRevision) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   202  }
   203  
   204  // Data is the serialized representation of the state.
   205  func (o ControllerRevisionOutput) Data() pulumi.AnyOutput {
   206  	return o.ApplyT(func(v *ControllerRevision) pulumi.AnyOutput { return v.Data }).(pulumi.AnyOutput)
   207  }
   208  
   209  // 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
   210  func (o ControllerRevisionOutput) Kind() pulumi.StringPtrOutput {
   211  	return o.ApplyT(func(v *ControllerRevision) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   212  }
   213  
   214  // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   215  func (o ControllerRevisionOutput) Metadata() metav1.ObjectMetaPtrOutput {
   216  	return o.ApplyT(func(v *ControllerRevision) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput)
   217  }
   218  
   219  // Revision indicates the revision of the state represented by Data.
   220  func (o ControllerRevisionOutput) Revision() pulumi.IntOutput {
   221  	return o.ApplyT(func(v *ControllerRevision) pulumi.IntOutput { return v.Revision }).(pulumi.IntOutput)
   222  }
   223  
   224  type ControllerRevisionArrayOutput struct{ *pulumi.OutputState }
   225  
   226  func (ControllerRevisionArrayOutput) ElementType() reflect.Type {
   227  	return reflect.TypeOf((*[]*ControllerRevision)(nil)).Elem()
   228  }
   229  
   230  func (o ControllerRevisionArrayOutput) ToControllerRevisionArrayOutput() ControllerRevisionArrayOutput {
   231  	return o
   232  }
   233  
   234  func (o ControllerRevisionArrayOutput) ToControllerRevisionArrayOutputWithContext(ctx context.Context) ControllerRevisionArrayOutput {
   235  	return o
   236  }
   237  
   238  func (o ControllerRevisionArrayOutput) Index(i pulumi.IntInput) ControllerRevisionOutput {
   239  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ControllerRevision {
   240  		return vs[0].([]*ControllerRevision)[vs[1].(int)]
   241  	}).(ControllerRevisionOutput)
   242  }
   243  
   244  type ControllerRevisionMapOutput struct{ *pulumi.OutputState }
   245  
   246  func (ControllerRevisionMapOutput) ElementType() reflect.Type {
   247  	return reflect.TypeOf((*map[string]*ControllerRevision)(nil)).Elem()
   248  }
   249  
   250  func (o ControllerRevisionMapOutput) ToControllerRevisionMapOutput() ControllerRevisionMapOutput {
   251  	return o
   252  }
   253  
   254  func (o ControllerRevisionMapOutput) ToControllerRevisionMapOutputWithContext(ctx context.Context) ControllerRevisionMapOutput {
   255  	return o
   256  }
   257  
   258  func (o ControllerRevisionMapOutput) MapIndex(k pulumi.StringInput) ControllerRevisionOutput {
   259  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ControllerRevision {
   260  		return vs[0].(map[string]*ControllerRevision)[vs[1].(string)]
   261  	}).(ControllerRevisionOutput)
   262  }
   263  
   264  func init() {
   265  	pulumi.RegisterInputType(reflect.TypeOf((*ControllerRevisionInput)(nil)).Elem(), &ControllerRevision{})
   266  	pulumi.RegisterInputType(reflect.TypeOf((*ControllerRevisionArrayInput)(nil)).Elem(), ControllerRevisionArray{})
   267  	pulumi.RegisterInputType(reflect.TypeOf((*ControllerRevisionMapInput)(nil)).Elem(), ControllerRevisionMap{})
   268  	pulumi.RegisterOutputType(ControllerRevisionOutput{})
   269  	pulumi.RegisterOutputType(ControllerRevisionArrayOutput{})
   270  	pulumi.RegisterOutputType(ControllerRevisionMapOutput{})
   271  }