github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/autoscaling/v2/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 v2 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/v2") 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/v2beta1:HorizontalPodAutoscaler"), 45 }, 46 { 47 Type: pulumi.String("kubernetes:autoscaling/v2beta2:HorizontalPodAutoscaler"), 48 }, 49 }) 50 opts = append(opts, aliases) 51 var resource HorizontalPodAutoscaler 52 err := ctx.RegisterResource("kubernetes:autoscaling/v2: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/v2: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 }