k8s.io/client-go@v0.22.2/applyconfigurations/core/v1/topologyspreadconstraint.go (about)

     1  /*
     2  Copyright The Kubernetes Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  // Code generated by applyconfiguration-gen. DO NOT EDIT.
    18  
    19  package v1
    20  
    21  import (
    22  	v1 "k8s.io/api/core/v1"
    23  	metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
    24  )
    25  
    26  // TopologySpreadConstraintApplyConfiguration represents an declarative configuration of the TopologySpreadConstraint type for use
    27  // with apply.
    28  type TopologySpreadConstraintApplyConfiguration struct {
    29  	MaxSkew           *int32                                  `json:"maxSkew,omitempty"`
    30  	TopologyKey       *string                                 `json:"topologyKey,omitempty"`
    31  	WhenUnsatisfiable *v1.UnsatisfiableConstraintAction       `json:"whenUnsatisfiable,omitempty"`
    32  	LabelSelector     *metav1.LabelSelectorApplyConfiguration `json:"labelSelector,omitempty"`
    33  }
    34  
    35  // TopologySpreadConstraintApplyConfiguration constructs an declarative configuration of the TopologySpreadConstraint type for use with
    36  // apply.
    37  func TopologySpreadConstraint() *TopologySpreadConstraintApplyConfiguration {
    38  	return &TopologySpreadConstraintApplyConfiguration{}
    39  }
    40  
    41  // WithMaxSkew sets the MaxSkew field in the declarative configuration to the given value
    42  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    43  // If called multiple times, the MaxSkew field is set to the value of the last call.
    44  func (b *TopologySpreadConstraintApplyConfiguration) WithMaxSkew(value int32) *TopologySpreadConstraintApplyConfiguration {
    45  	b.MaxSkew = &value
    46  	return b
    47  }
    48  
    49  // WithTopologyKey sets the TopologyKey field in the declarative configuration to the given value
    50  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    51  // If called multiple times, the TopologyKey field is set to the value of the last call.
    52  func (b *TopologySpreadConstraintApplyConfiguration) WithTopologyKey(value string) *TopologySpreadConstraintApplyConfiguration {
    53  	b.TopologyKey = &value
    54  	return b
    55  }
    56  
    57  // WithWhenUnsatisfiable sets the WhenUnsatisfiable field in the declarative configuration to the given value
    58  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    59  // If called multiple times, the WhenUnsatisfiable field is set to the value of the last call.
    60  func (b *TopologySpreadConstraintApplyConfiguration) WithWhenUnsatisfiable(value v1.UnsatisfiableConstraintAction) *TopologySpreadConstraintApplyConfiguration {
    61  	b.WhenUnsatisfiable = &value
    62  	return b
    63  }
    64  
    65  // WithLabelSelector sets the LabelSelector field in the declarative configuration to the given value
    66  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    67  // If called multiple times, the LabelSelector field is set to the value of the last call.
    68  func (b *TopologySpreadConstraintApplyConfiguration) WithLabelSelector(value *metav1.LabelSelectorApplyConfiguration) *TopologySpreadConstraintApplyConfiguration {
    69  	b.LabelSelector = value
    70  	return b
    71  }