github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/autoscaling/v2beta2/horizontalPodAutoscaler.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 v2beta2
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/meta/v1"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.
    15  type HorizontalPodAutoscaler struct {
    16  	pulumi.CustomResourceState
    17  
    18  	// 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
    19  	ApiVersion pulumi.StringPtrOutput `pulumi:"apiVersion"`
    20  	// 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
    21  	Kind pulumi.StringPtrOutput `pulumi:"kind"`
    22  	// metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    23  	Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"`
    24  	// spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
    25  	Spec HorizontalPodAutoscalerSpecPtrOutput `pulumi:"spec"`
    26  	// status is the current information about the autoscaler.
    27  	Status HorizontalPodAutoscalerStatusPtrOutput `pulumi:"status"`
    28  }
    29  
    30  // NewHorizontalPodAutoscaler registers a new resource with the given unique name, arguments, and options.
    31  func NewHorizontalPodAutoscaler(ctx *pulumi.Context,
    32  	name string, args *HorizontalPodAutoscalerArgs, opts ...pulumi.ResourceOption) (*HorizontalPodAutoscaler, error) {
    33  	if args == nil {
    34  		args = &HorizontalPodAutoscalerArgs{}
    35  	}
    36  
    37  	args.ApiVersion = pulumi.StringPtr("autoscaling/v2beta2")
    38  	args.Kind = pulumi.StringPtr("HorizontalPodAutoscaler")
    39  	aliases := pulumi.Aliases([]pulumi.Alias{
    40  		{
    41  			Type: pulumi.String("kubernetes:autoscaling/v1:HorizontalPodAutoscaler"),
    42  		},
    43  		{
    44  			Type: pulumi.String("kubernetes:autoscaling/v2:HorizontalPodAutoscaler"),
    45  		},
    46  		{
    47  			Type: pulumi.String("kubernetes:autoscaling/v2beta1:HorizontalPodAutoscaler"),
    48  		},
    49  	})
    50  	opts = append(opts, aliases)
    51  	var resource HorizontalPodAutoscaler
    52  	err := ctx.RegisterResource("kubernetes:autoscaling/v2beta2:HorizontalPodAutoscaler", name, args, &resource, opts...)
    53  	if err != nil {
    54  		return nil, err
    55  	}
    56  	return &resource, nil
    57  }
    58  
    59  // GetHorizontalPodAutoscaler gets an existing HorizontalPodAutoscaler resource's state with the given name, ID, and optional
    60  // state properties that are used to uniquely qualify the lookup (nil if not required).
    61  func GetHorizontalPodAutoscaler(ctx *pulumi.Context,
    62  	name string, id pulumi.IDInput, state *HorizontalPodAutoscalerState, opts ...pulumi.ResourceOption) (*HorizontalPodAutoscaler, error) {
    63  	var resource HorizontalPodAutoscaler
    64  	err := ctx.ReadResource("kubernetes:autoscaling/v2beta2:HorizontalPodAutoscaler", name, id, state, &resource, opts...)
    65  	if err != nil {
    66  		return nil, err
    67  	}
    68  	return &resource, nil
    69  }
    70  
    71  // Input properties used for looking up and filtering HorizontalPodAutoscaler resources.
    72  type horizontalPodAutoscalerState struct {
    73  }
    74  
    75  type HorizontalPodAutoscalerState struct {
    76  }
    77  
    78  func (HorizontalPodAutoscalerState) ElementType() reflect.Type {
    79  	return reflect.TypeOf((*horizontalPodAutoscalerState)(nil)).Elem()
    80  }
    81  
    82  type horizontalPodAutoscalerArgs struct {
    83  	// 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
    84  	ApiVersion *string `pulumi:"apiVersion"`
    85  	// 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
    86  	Kind *string `pulumi:"kind"`
    87  	// metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
    88  	Metadata *metav1.ObjectMeta `pulumi:"metadata"`
    89  	// spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
    90  	Spec *HorizontalPodAutoscalerSpec `pulumi:"spec"`
    91  }
    92  
    93  // The set of arguments for constructing a HorizontalPodAutoscaler resource.
    94  type HorizontalPodAutoscalerArgs struct {
    95  	// 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
    96  	ApiVersion pulumi.StringPtrInput
    97  	// 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
    98  	Kind pulumi.StringPtrInput
    99  	// metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   100  	Metadata metav1.ObjectMetaPtrInput
   101  	// spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
   102  	Spec HorizontalPodAutoscalerSpecPtrInput
   103  }
   104  
   105  func (HorizontalPodAutoscalerArgs) ElementType() reflect.Type {
   106  	return reflect.TypeOf((*horizontalPodAutoscalerArgs)(nil)).Elem()
   107  }
   108  
   109  type HorizontalPodAutoscalerInput interface {
   110  	pulumi.Input
   111  
   112  	ToHorizontalPodAutoscalerOutput() HorizontalPodAutoscalerOutput
   113  	ToHorizontalPodAutoscalerOutputWithContext(ctx context.Context) HorizontalPodAutoscalerOutput
   114  }
   115  
   116  func (*HorizontalPodAutoscaler) ElementType() reflect.Type {
   117  	return reflect.TypeOf((**HorizontalPodAutoscaler)(nil)).Elem()
   118  }
   119  
   120  func (i *HorizontalPodAutoscaler) ToHorizontalPodAutoscalerOutput() HorizontalPodAutoscalerOutput {
   121  	return i.ToHorizontalPodAutoscalerOutputWithContext(context.Background())
   122  }
   123  
   124  func (i *HorizontalPodAutoscaler) ToHorizontalPodAutoscalerOutputWithContext(ctx context.Context) HorizontalPodAutoscalerOutput {
   125  	return pulumi.ToOutputWithContext(ctx, i).(HorizontalPodAutoscalerOutput)
   126  }
   127  
   128  // HorizontalPodAutoscalerArrayInput is an input type that accepts HorizontalPodAutoscalerArray and HorizontalPodAutoscalerArrayOutput values.
   129  // You can construct a concrete instance of `HorizontalPodAutoscalerArrayInput` via:
   130  //
   131  //	HorizontalPodAutoscalerArray{ HorizontalPodAutoscalerArgs{...} }
   132  type HorizontalPodAutoscalerArrayInput interface {
   133  	pulumi.Input
   134  
   135  	ToHorizontalPodAutoscalerArrayOutput() HorizontalPodAutoscalerArrayOutput
   136  	ToHorizontalPodAutoscalerArrayOutputWithContext(context.Context) HorizontalPodAutoscalerArrayOutput
   137  }
   138  
   139  type HorizontalPodAutoscalerArray []HorizontalPodAutoscalerInput
   140  
   141  func (HorizontalPodAutoscalerArray) ElementType() reflect.Type {
   142  	return reflect.TypeOf((*[]*HorizontalPodAutoscaler)(nil)).Elem()
   143  }
   144  
   145  func (i HorizontalPodAutoscalerArray) ToHorizontalPodAutoscalerArrayOutput() HorizontalPodAutoscalerArrayOutput {
   146  	return i.ToHorizontalPodAutoscalerArrayOutputWithContext(context.Background())
   147  }
   148  
   149  func (i HorizontalPodAutoscalerArray) ToHorizontalPodAutoscalerArrayOutputWithContext(ctx context.Context) HorizontalPodAutoscalerArrayOutput {
   150  	return pulumi.ToOutputWithContext(ctx, i).(HorizontalPodAutoscalerArrayOutput)
   151  }
   152  
   153  // HorizontalPodAutoscalerMapInput is an input type that accepts HorizontalPodAutoscalerMap and HorizontalPodAutoscalerMapOutput values.
   154  // You can construct a concrete instance of `HorizontalPodAutoscalerMapInput` via:
   155  //
   156  //	HorizontalPodAutoscalerMap{ "key": HorizontalPodAutoscalerArgs{...} }
   157  type HorizontalPodAutoscalerMapInput interface {
   158  	pulumi.Input
   159  
   160  	ToHorizontalPodAutoscalerMapOutput() HorizontalPodAutoscalerMapOutput
   161  	ToHorizontalPodAutoscalerMapOutputWithContext(context.Context) HorizontalPodAutoscalerMapOutput
   162  }
   163  
   164  type HorizontalPodAutoscalerMap map[string]HorizontalPodAutoscalerInput
   165  
   166  func (HorizontalPodAutoscalerMap) ElementType() reflect.Type {
   167  	return reflect.TypeOf((*map[string]*HorizontalPodAutoscaler)(nil)).Elem()
   168  }
   169  
   170  func (i HorizontalPodAutoscalerMap) ToHorizontalPodAutoscalerMapOutput() HorizontalPodAutoscalerMapOutput {
   171  	return i.ToHorizontalPodAutoscalerMapOutputWithContext(context.Background())
   172  }
   173  
   174  func (i HorizontalPodAutoscalerMap) ToHorizontalPodAutoscalerMapOutputWithContext(ctx context.Context) HorizontalPodAutoscalerMapOutput {
   175  	return pulumi.ToOutputWithContext(ctx, i).(HorizontalPodAutoscalerMapOutput)
   176  }
   177  
   178  type HorizontalPodAutoscalerOutput struct{ *pulumi.OutputState }
   179  
   180  func (HorizontalPodAutoscalerOutput) ElementType() reflect.Type {
   181  	return reflect.TypeOf((**HorizontalPodAutoscaler)(nil)).Elem()
   182  }
   183  
   184  func (o HorizontalPodAutoscalerOutput) ToHorizontalPodAutoscalerOutput() HorizontalPodAutoscalerOutput {
   185  	return o
   186  }
   187  
   188  func (o HorizontalPodAutoscalerOutput) ToHorizontalPodAutoscalerOutputWithContext(ctx context.Context) HorizontalPodAutoscalerOutput {
   189  	return o
   190  }
   191  
   192  // 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
   193  func (o HorizontalPodAutoscalerOutput) ApiVersion() pulumi.StringPtrOutput {
   194  	return o.ApplyT(func(v *HorizontalPodAutoscaler) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput)
   195  }
   196  
   197  // 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
   198  func (o HorizontalPodAutoscalerOutput) Kind() pulumi.StringPtrOutput {
   199  	return o.ApplyT(func(v *HorizontalPodAutoscaler) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput)
   200  }
   201  
   202  // metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
   203  func (o HorizontalPodAutoscalerOutput) Metadata() metav1.ObjectMetaPtrOutput {
   204  	return o.ApplyT(func(v *HorizontalPodAutoscaler) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput)
   205  }
   206  
   207  // spec is the specification for the behaviour of the autoscaler. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
   208  func (o HorizontalPodAutoscalerOutput) Spec() HorizontalPodAutoscalerSpecPtrOutput {
   209  	return o.ApplyT(func(v *HorizontalPodAutoscaler) HorizontalPodAutoscalerSpecPtrOutput { return v.Spec }).(HorizontalPodAutoscalerSpecPtrOutput)
   210  }
   211  
   212  // status is the current information about the autoscaler.
   213  func (o HorizontalPodAutoscalerOutput) Status() HorizontalPodAutoscalerStatusPtrOutput {
   214  	return o.ApplyT(func(v *HorizontalPodAutoscaler) HorizontalPodAutoscalerStatusPtrOutput { return v.Status }).(HorizontalPodAutoscalerStatusPtrOutput)
   215  }
   216  
   217  type HorizontalPodAutoscalerArrayOutput struct{ *pulumi.OutputState }
   218  
   219  func (HorizontalPodAutoscalerArrayOutput) ElementType() reflect.Type {
   220  	return reflect.TypeOf((*[]*HorizontalPodAutoscaler)(nil)).Elem()
   221  }
   222  
   223  func (o HorizontalPodAutoscalerArrayOutput) ToHorizontalPodAutoscalerArrayOutput() HorizontalPodAutoscalerArrayOutput {
   224  	return o
   225  }
   226  
   227  func (o HorizontalPodAutoscalerArrayOutput) ToHorizontalPodAutoscalerArrayOutputWithContext(ctx context.Context) HorizontalPodAutoscalerArrayOutput {
   228  	return o
   229  }
   230  
   231  func (o HorizontalPodAutoscalerArrayOutput) Index(i pulumi.IntInput) HorizontalPodAutoscalerOutput {
   232  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *HorizontalPodAutoscaler {
   233  		return vs[0].([]*HorizontalPodAutoscaler)[vs[1].(int)]
   234  	}).(HorizontalPodAutoscalerOutput)
   235  }
   236  
   237  type HorizontalPodAutoscalerMapOutput struct{ *pulumi.OutputState }
   238  
   239  func (HorizontalPodAutoscalerMapOutput) ElementType() reflect.Type {
   240  	return reflect.TypeOf((*map[string]*HorizontalPodAutoscaler)(nil)).Elem()
   241  }
   242  
   243  func (o HorizontalPodAutoscalerMapOutput) ToHorizontalPodAutoscalerMapOutput() HorizontalPodAutoscalerMapOutput {
   244  	return o
   245  }
   246  
   247  func (o HorizontalPodAutoscalerMapOutput) ToHorizontalPodAutoscalerMapOutputWithContext(ctx context.Context) HorizontalPodAutoscalerMapOutput {
   248  	return o
   249  }
   250  
   251  func (o HorizontalPodAutoscalerMapOutput) MapIndex(k pulumi.StringInput) HorizontalPodAutoscalerOutput {
   252  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *HorizontalPodAutoscaler {
   253  		return vs[0].(map[string]*HorizontalPodAutoscaler)[vs[1].(string)]
   254  	}).(HorizontalPodAutoscalerOutput)
   255  }
   256  
   257  func init() {
   258  	pulumi.RegisterInputType(reflect.TypeOf((*HorizontalPodAutoscalerInput)(nil)).Elem(), &HorizontalPodAutoscaler{})
   259  	pulumi.RegisterInputType(reflect.TypeOf((*HorizontalPodAutoscalerArrayInput)(nil)).Elem(), HorizontalPodAutoscalerArray{})
   260  	pulumi.RegisterInputType(reflect.TypeOf((*HorizontalPodAutoscalerMapInput)(nil)).Elem(), HorizontalPodAutoscalerMap{})
   261  	pulumi.RegisterOutputType(HorizontalPodAutoscalerOutput{})
   262  	pulumi.RegisterOutputType(HorizontalPodAutoscalerArrayOutput{})
   263  	pulumi.RegisterOutputType(HorizontalPodAutoscalerMapOutput{})
   264  }