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