github.com/pulumi/pulumi-kubernetes/sdk/v3@v3.30.2/go/kubernetes/policy/v1/podDisruptionBudget.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 metav1 "github.com/pulumi/pulumi-kubernetes/sdk/v3/go/kubernetes/meta/v1" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods 15 type PodDisruptionBudget 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 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 23 Metadata metav1.ObjectMetaPtrOutput `pulumi:"metadata"` 24 // Specification of the desired behavior of the PodDisruptionBudget. 25 Spec PodDisruptionBudgetSpecPtrOutput `pulumi:"spec"` 26 // Most recently observed status of the PodDisruptionBudget. 27 Status PodDisruptionBudgetStatusPtrOutput `pulumi:"status"` 28 } 29 30 // NewPodDisruptionBudget registers a new resource with the given unique name, arguments, and options. 31 func NewPodDisruptionBudget(ctx *pulumi.Context, 32 name string, args *PodDisruptionBudgetArgs, opts ...pulumi.ResourceOption) (*PodDisruptionBudget, error) { 33 if args == nil { 34 args = &PodDisruptionBudgetArgs{} 35 } 36 37 args.ApiVersion = pulumi.StringPtr("policy/v1") 38 args.Kind = pulumi.StringPtr("PodDisruptionBudget") 39 aliases := pulumi.Aliases([]pulumi.Alias{ 40 { 41 Type: pulumi.String("kubernetes:policy/v1beta1:PodDisruptionBudget"), 42 }, 43 }) 44 opts = append(opts, aliases) 45 var resource PodDisruptionBudget 46 err := ctx.RegisterResource("kubernetes:policy/v1:PodDisruptionBudget", name, args, &resource, opts...) 47 if err != nil { 48 return nil, err 49 } 50 return &resource, nil 51 } 52 53 // GetPodDisruptionBudget gets an existing PodDisruptionBudget resource's state with the given name, ID, and optional 54 // state properties that are used to uniquely qualify the lookup (nil if not required). 55 func GetPodDisruptionBudget(ctx *pulumi.Context, 56 name string, id pulumi.IDInput, state *PodDisruptionBudgetState, opts ...pulumi.ResourceOption) (*PodDisruptionBudget, error) { 57 var resource PodDisruptionBudget 58 err := ctx.ReadResource("kubernetes:policy/v1:PodDisruptionBudget", name, id, state, &resource, opts...) 59 if err != nil { 60 return nil, err 61 } 62 return &resource, nil 63 } 64 65 // Input properties used for looking up and filtering PodDisruptionBudget resources. 66 type podDisruptionBudgetState struct { 67 } 68 69 type PodDisruptionBudgetState struct { 70 } 71 72 func (PodDisruptionBudgetState) ElementType() reflect.Type { 73 return reflect.TypeOf((*podDisruptionBudgetState)(nil)).Elem() 74 } 75 76 type podDisruptionBudgetArgs struct { 77 // 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 78 ApiVersion *string `pulumi:"apiVersion"` 79 // 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 80 Kind *string `pulumi:"kind"` 81 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 82 Metadata *metav1.ObjectMeta `pulumi:"metadata"` 83 // Specification of the desired behavior of the PodDisruptionBudget. 84 Spec *PodDisruptionBudgetSpec `pulumi:"spec"` 85 } 86 87 // The set of arguments for constructing a PodDisruptionBudget resource. 88 type PodDisruptionBudgetArgs struct { 89 // 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 90 ApiVersion pulumi.StringPtrInput 91 // 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 92 Kind pulumi.StringPtrInput 93 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 94 Metadata metav1.ObjectMetaPtrInput 95 // Specification of the desired behavior of the PodDisruptionBudget. 96 Spec PodDisruptionBudgetSpecPtrInput 97 } 98 99 func (PodDisruptionBudgetArgs) ElementType() reflect.Type { 100 return reflect.TypeOf((*podDisruptionBudgetArgs)(nil)).Elem() 101 } 102 103 type PodDisruptionBudgetInput interface { 104 pulumi.Input 105 106 ToPodDisruptionBudgetOutput() PodDisruptionBudgetOutput 107 ToPodDisruptionBudgetOutputWithContext(ctx context.Context) PodDisruptionBudgetOutput 108 } 109 110 func (*PodDisruptionBudget) ElementType() reflect.Type { 111 return reflect.TypeOf((**PodDisruptionBudget)(nil)).Elem() 112 } 113 114 func (i *PodDisruptionBudget) ToPodDisruptionBudgetOutput() PodDisruptionBudgetOutput { 115 return i.ToPodDisruptionBudgetOutputWithContext(context.Background()) 116 } 117 118 func (i *PodDisruptionBudget) ToPodDisruptionBudgetOutputWithContext(ctx context.Context) PodDisruptionBudgetOutput { 119 return pulumi.ToOutputWithContext(ctx, i).(PodDisruptionBudgetOutput) 120 } 121 122 // PodDisruptionBudgetArrayInput is an input type that accepts PodDisruptionBudgetArray and PodDisruptionBudgetArrayOutput values. 123 // You can construct a concrete instance of `PodDisruptionBudgetArrayInput` via: 124 // 125 // PodDisruptionBudgetArray{ PodDisruptionBudgetArgs{...} } 126 type PodDisruptionBudgetArrayInput interface { 127 pulumi.Input 128 129 ToPodDisruptionBudgetArrayOutput() PodDisruptionBudgetArrayOutput 130 ToPodDisruptionBudgetArrayOutputWithContext(context.Context) PodDisruptionBudgetArrayOutput 131 } 132 133 type PodDisruptionBudgetArray []PodDisruptionBudgetInput 134 135 func (PodDisruptionBudgetArray) ElementType() reflect.Type { 136 return reflect.TypeOf((*[]*PodDisruptionBudget)(nil)).Elem() 137 } 138 139 func (i PodDisruptionBudgetArray) ToPodDisruptionBudgetArrayOutput() PodDisruptionBudgetArrayOutput { 140 return i.ToPodDisruptionBudgetArrayOutputWithContext(context.Background()) 141 } 142 143 func (i PodDisruptionBudgetArray) ToPodDisruptionBudgetArrayOutputWithContext(ctx context.Context) PodDisruptionBudgetArrayOutput { 144 return pulumi.ToOutputWithContext(ctx, i).(PodDisruptionBudgetArrayOutput) 145 } 146 147 // PodDisruptionBudgetMapInput is an input type that accepts PodDisruptionBudgetMap and PodDisruptionBudgetMapOutput values. 148 // You can construct a concrete instance of `PodDisruptionBudgetMapInput` via: 149 // 150 // PodDisruptionBudgetMap{ "key": PodDisruptionBudgetArgs{...} } 151 type PodDisruptionBudgetMapInput interface { 152 pulumi.Input 153 154 ToPodDisruptionBudgetMapOutput() PodDisruptionBudgetMapOutput 155 ToPodDisruptionBudgetMapOutputWithContext(context.Context) PodDisruptionBudgetMapOutput 156 } 157 158 type PodDisruptionBudgetMap map[string]PodDisruptionBudgetInput 159 160 func (PodDisruptionBudgetMap) ElementType() reflect.Type { 161 return reflect.TypeOf((*map[string]*PodDisruptionBudget)(nil)).Elem() 162 } 163 164 func (i PodDisruptionBudgetMap) ToPodDisruptionBudgetMapOutput() PodDisruptionBudgetMapOutput { 165 return i.ToPodDisruptionBudgetMapOutputWithContext(context.Background()) 166 } 167 168 func (i PodDisruptionBudgetMap) ToPodDisruptionBudgetMapOutputWithContext(ctx context.Context) PodDisruptionBudgetMapOutput { 169 return pulumi.ToOutputWithContext(ctx, i).(PodDisruptionBudgetMapOutput) 170 } 171 172 type PodDisruptionBudgetOutput struct{ *pulumi.OutputState } 173 174 func (PodDisruptionBudgetOutput) ElementType() reflect.Type { 175 return reflect.TypeOf((**PodDisruptionBudget)(nil)).Elem() 176 } 177 178 func (o PodDisruptionBudgetOutput) ToPodDisruptionBudgetOutput() PodDisruptionBudgetOutput { 179 return o 180 } 181 182 func (o PodDisruptionBudgetOutput) ToPodDisruptionBudgetOutputWithContext(ctx context.Context) PodDisruptionBudgetOutput { 183 return o 184 } 185 186 // 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 187 func (o PodDisruptionBudgetOutput) ApiVersion() pulumi.StringPtrOutput { 188 return o.ApplyT(func(v *PodDisruptionBudget) pulumi.StringPtrOutput { return v.ApiVersion }).(pulumi.StringPtrOutput) 189 } 190 191 // 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 192 func (o PodDisruptionBudgetOutput) Kind() pulumi.StringPtrOutput { 193 return o.ApplyT(func(v *PodDisruptionBudget) pulumi.StringPtrOutput { return v.Kind }).(pulumi.StringPtrOutput) 194 } 195 196 // Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata 197 func (o PodDisruptionBudgetOutput) Metadata() metav1.ObjectMetaPtrOutput { 198 return o.ApplyT(func(v *PodDisruptionBudget) metav1.ObjectMetaPtrOutput { return v.Metadata }).(metav1.ObjectMetaPtrOutput) 199 } 200 201 // Specification of the desired behavior of the PodDisruptionBudget. 202 func (o PodDisruptionBudgetOutput) Spec() PodDisruptionBudgetSpecPtrOutput { 203 return o.ApplyT(func(v *PodDisruptionBudget) PodDisruptionBudgetSpecPtrOutput { return v.Spec }).(PodDisruptionBudgetSpecPtrOutput) 204 } 205 206 // Most recently observed status of the PodDisruptionBudget. 207 func (o PodDisruptionBudgetOutput) Status() PodDisruptionBudgetStatusPtrOutput { 208 return o.ApplyT(func(v *PodDisruptionBudget) PodDisruptionBudgetStatusPtrOutput { return v.Status }).(PodDisruptionBudgetStatusPtrOutput) 209 } 210 211 type PodDisruptionBudgetArrayOutput struct{ *pulumi.OutputState } 212 213 func (PodDisruptionBudgetArrayOutput) ElementType() reflect.Type { 214 return reflect.TypeOf((*[]*PodDisruptionBudget)(nil)).Elem() 215 } 216 217 func (o PodDisruptionBudgetArrayOutput) ToPodDisruptionBudgetArrayOutput() PodDisruptionBudgetArrayOutput { 218 return o 219 } 220 221 func (o PodDisruptionBudgetArrayOutput) ToPodDisruptionBudgetArrayOutputWithContext(ctx context.Context) PodDisruptionBudgetArrayOutput { 222 return o 223 } 224 225 func (o PodDisruptionBudgetArrayOutput) Index(i pulumi.IntInput) PodDisruptionBudgetOutput { 226 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PodDisruptionBudget { 227 return vs[0].([]*PodDisruptionBudget)[vs[1].(int)] 228 }).(PodDisruptionBudgetOutput) 229 } 230 231 type PodDisruptionBudgetMapOutput struct{ *pulumi.OutputState } 232 233 func (PodDisruptionBudgetMapOutput) ElementType() reflect.Type { 234 return reflect.TypeOf((*map[string]*PodDisruptionBudget)(nil)).Elem() 235 } 236 237 func (o PodDisruptionBudgetMapOutput) ToPodDisruptionBudgetMapOutput() PodDisruptionBudgetMapOutput { 238 return o 239 } 240 241 func (o PodDisruptionBudgetMapOutput) ToPodDisruptionBudgetMapOutputWithContext(ctx context.Context) PodDisruptionBudgetMapOutput { 242 return o 243 } 244 245 func (o PodDisruptionBudgetMapOutput) MapIndex(k pulumi.StringInput) PodDisruptionBudgetOutput { 246 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PodDisruptionBudget { 247 return vs[0].(map[string]*PodDisruptionBudget)[vs[1].(string)] 248 }).(PodDisruptionBudgetOutput) 249 } 250 251 func init() { 252 pulumi.RegisterInputType(reflect.TypeOf((*PodDisruptionBudgetInput)(nil)).Elem(), &PodDisruptionBudget{}) 253 pulumi.RegisterInputType(reflect.TypeOf((*PodDisruptionBudgetArrayInput)(nil)).Elem(), PodDisruptionBudgetArray{}) 254 pulumi.RegisterInputType(reflect.TypeOf((*PodDisruptionBudgetMapInput)(nil)).Elem(), PodDisruptionBudgetMap{}) 255 pulumi.RegisterOutputType(PodDisruptionBudgetOutput{}) 256 pulumi.RegisterOutputType(PodDisruptionBudgetArrayOutput{}) 257 pulumi.RegisterOutputType(PodDisruptionBudgetMapOutput{}) 258 }