k8s.io/client-go@v0.22.2/applyconfigurations/core/v1/pod.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  	apicorev1 "k8s.io/api/core/v1"
    23  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    24  	types "k8s.io/apimachinery/pkg/types"
    25  	managedfields "k8s.io/apimachinery/pkg/util/managedfields"
    26  	internal "k8s.io/client-go/applyconfigurations/internal"
    27  	v1 "k8s.io/client-go/applyconfigurations/meta/v1"
    28  )
    29  
    30  // PodApplyConfiguration represents an declarative configuration of the Pod type for use
    31  // with apply.
    32  type PodApplyConfiguration struct {
    33  	v1.TypeMetaApplyConfiguration    `json:",inline"`
    34  	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
    35  	Spec                             *PodSpecApplyConfiguration   `json:"spec,omitempty"`
    36  	Status                           *PodStatusApplyConfiguration `json:"status,omitempty"`
    37  }
    38  
    39  // Pod constructs an declarative configuration of the Pod type for use with
    40  // apply.
    41  func Pod(name, namespace string) *PodApplyConfiguration {
    42  	b := &PodApplyConfiguration{}
    43  	b.WithName(name)
    44  	b.WithNamespace(namespace)
    45  	b.WithKind("Pod")
    46  	b.WithAPIVersion("v1")
    47  	return b
    48  }
    49  
    50  // ExtractPod extracts the applied configuration owned by fieldManager from
    51  // pod. If no managedFields are found in pod for fieldManager, a
    52  // PodApplyConfiguration is returned with only the Name, Namespace (if applicable),
    53  // APIVersion and Kind populated. It is possible that no managed fields were found for because other
    54  // field managers have taken ownership of all the fields previously owned by fieldManager, or because
    55  // the fieldManager never owned fields any fields.
    56  // pod must be a unmodified Pod API object that was retrieved from the Kubernetes API.
    57  // ExtractPod provides a way to perform a extract/modify-in-place/apply workflow.
    58  // Note that an extracted apply configuration will contain fewer fields than what the fieldManager previously
    59  // applied if another fieldManager has updated or force applied any of the previously applied fields.
    60  // Experimental!
    61  func ExtractPod(pod *apicorev1.Pod, fieldManager string) (*PodApplyConfiguration, error) {
    62  	return extractPod(pod, fieldManager, "")
    63  }
    64  
    65  // ExtractPodStatus is the same as ExtractPod except
    66  // that it extracts the status subresource applied configuration.
    67  // Experimental!
    68  func ExtractPodStatus(pod *apicorev1.Pod, fieldManager string) (*PodApplyConfiguration, error) {
    69  	return extractPod(pod, fieldManager, "status")
    70  }
    71  
    72  func extractPod(pod *apicorev1.Pod, fieldManager string, subresource string) (*PodApplyConfiguration, error) {
    73  	b := &PodApplyConfiguration{}
    74  	err := managedfields.ExtractInto(pod, internal.Parser().Type("io.k8s.api.core.v1.Pod"), fieldManager, b, subresource)
    75  	if err != nil {
    76  		return nil, err
    77  	}
    78  	b.WithName(pod.Name)
    79  	b.WithNamespace(pod.Namespace)
    80  
    81  	b.WithKind("Pod")
    82  	b.WithAPIVersion("v1")
    83  	return b, nil
    84  }
    85  
    86  // WithKind sets the Kind field in the declarative configuration to the given value
    87  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    88  // If called multiple times, the Kind field is set to the value of the last call.
    89  func (b *PodApplyConfiguration) WithKind(value string) *PodApplyConfiguration {
    90  	b.Kind = &value
    91  	return b
    92  }
    93  
    94  // WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
    95  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
    96  // If called multiple times, the APIVersion field is set to the value of the last call.
    97  func (b *PodApplyConfiguration) WithAPIVersion(value string) *PodApplyConfiguration {
    98  	b.APIVersion = &value
    99  	return b
   100  }
   101  
   102  // WithName sets the Name field in the declarative configuration to the given value
   103  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   104  // If called multiple times, the Name field is set to the value of the last call.
   105  func (b *PodApplyConfiguration) WithName(value string) *PodApplyConfiguration {
   106  	b.ensureObjectMetaApplyConfigurationExists()
   107  	b.Name = &value
   108  	return b
   109  }
   110  
   111  // WithGenerateName sets the GenerateName field in the declarative configuration to the given value
   112  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   113  // If called multiple times, the GenerateName field is set to the value of the last call.
   114  func (b *PodApplyConfiguration) WithGenerateName(value string) *PodApplyConfiguration {
   115  	b.ensureObjectMetaApplyConfigurationExists()
   116  	b.GenerateName = &value
   117  	return b
   118  }
   119  
   120  // WithNamespace sets the Namespace field in the declarative configuration to the given value
   121  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   122  // If called multiple times, the Namespace field is set to the value of the last call.
   123  func (b *PodApplyConfiguration) WithNamespace(value string) *PodApplyConfiguration {
   124  	b.ensureObjectMetaApplyConfigurationExists()
   125  	b.Namespace = &value
   126  	return b
   127  }
   128  
   129  // WithSelfLink sets the SelfLink field in the declarative configuration to the given value
   130  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   131  // If called multiple times, the SelfLink field is set to the value of the last call.
   132  func (b *PodApplyConfiguration) WithSelfLink(value string) *PodApplyConfiguration {
   133  	b.ensureObjectMetaApplyConfigurationExists()
   134  	b.SelfLink = &value
   135  	return b
   136  }
   137  
   138  // WithUID sets the UID field in the declarative configuration to the given value
   139  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   140  // If called multiple times, the UID field is set to the value of the last call.
   141  func (b *PodApplyConfiguration) WithUID(value types.UID) *PodApplyConfiguration {
   142  	b.ensureObjectMetaApplyConfigurationExists()
   143  	b.UID = &value
   144  	return b
   145  }
   146  
   147  // WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
   148  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   149  // If called multiple times, the ResourceVersion field is set to the value of the last call.
   150  func (b *PodApplyConfiguration) WithResourceVersion(value string) *PodApplyConfiguration {
   151  	b.ensureObjectMetaApplyConfigurationExists()
   152  	b.ResourceVersion = &value
   153  	return b
   154  }
   155  
   156  // WithGeneration sets the Generation field in the declarative configuration to the given value
   157  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   158  // If called multiple times, the Generation field is set to the value of the last call.
   159  func (b *PodApplyConfiguration) WithGeneration(value int64) *PodApplyConfiguration {
   160  	b.ensureObjectMetaApplyConfigurationExists()
   161  	b.Generation = &value
   162  	return b
   163  }
   164  
   165  // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
   166  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   167  // If called multiple times, the CreationTimestamp field is set to the value of the last call.
   168  func (b *PodApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PodApplyConfiguration {
   169  	b.ensureObjectMetaApplyConfigurationExists()
   170  	b.CreationTimestamp = &value
   171  	return b
   172  }
   173  
   174  // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
   175  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   176  // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
   177  func (b *PodApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PodApplyConfiguration {
   178  	b.ensureObjectMetaApplyConfigurationExists()
   179  	b.DeletionTimestamp = &value
   180  	return b
   181  }
   182  
   183  // WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
   184  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   185  // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
   186  func (b *PodApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PodApplyConfiguration {
   187  	b.ensureObjectMetaApplyConfigurationExists()
   188  	b.DeletionGracePeriodSeconds = &value
   189  	return b
   190  }
   191  
   192  // WithLabels puts the entries into the Labels field in the declarative configuration
   193  // and returns the receiver, so that objects can be build by chaining "With" function invocations.
   194  // If called multiple times, the entries provided by each call will be put on the Labels field,
   195  // overwriting an existing map entries in Labels field with the same key.
   196  func (b *PodApplyConfiguration) WithLabels(entries map[string]string) *PodApplyConfiguration {
   197  	b.ensureObjectMetaApplyConfigurationExists()
   198  	if b.Labels == nil && len(entries) > 0 {
   199  		b.Labels = make(map[string]string, len(entries))
   200  	}
   201  	for k, v := range entries {
   202  		b.Labels[k] = v
   203  	}
   204  	return b
   205  }
   206  
   207  // WithAnnotations puts the entries into the Annotations field in the declarative configuration
   208  // and returns the receiver, so that objects can be build by chaining "With" function invocations.
   209  // If called multiple times, the entries provided by each call will be put on the Annotations field,
   210  // overwriting an existing map entries in Annotations field with the same key.
   211  func (b *PodApplyConfiguration) WithAnnotations(entries map[string]string) *PodApplyConfiguration {
   212  	b.ensureObjectMetaApplyConfigurationExists()
   213  	if b.Annotations == nil && len(entries) > 0 {
   214  		b.Annotations = make(map[string]string, len(entries))
   215  	}
   216  	for k, v := range entries {
   217  		b.Annotations[k] = v
   218  	}
   219  	return b
   220  }
   221  
   222  // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
   223  // and returns the receiver, so that objects can be build by chaining "With" function invocations.
   224  // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
   225  func (b *PodApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PodApplyConfiguration {
   226  	b.ensureObjectMetaApplyConfigurationExists()
   227  	for i := range values {
   228  		if values[i] == nil {
   229  			panic("nil value passed to WithOwnerReferences")
   230  		}
   231  		b.OwnerReferences = append(b.OwnerReferences, *values[i])
   232  	}
   233  	return b
   234  }
   235  
   236  // WithFinalizers adds the given value to the Finalizers field in the declarative configuration
   237  // and returns the receiver, so that objects can be build by chaining "With" function invocations.
   238  // If called multiple times, values provided by each call will be appended to the Finalizers field.
   239  func (b *PodApplyConfiguration) WithFinalizers(values ...string) *PodApplyConfiguration {
   240  	b.ensureObjectMetaApplyConfigurationExists()
   241  	for i := range values {
   242  		b.Finalizers = append(b.Finalizers, values[i])
   243  	}
   244  	return b
   245  }
   246  
   247  // WithClusterName sets the ClusterName field in the declarative configuration to the given value
   248  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   249  // If called multiple times, the ClusterName field is set to the value of the last call.
   250  func (b *PodApplyConfiguration) WithClusterName(value string) *PodApplyConfiguration {
   251  	b.ensureObjectMetaApplyConfigurationExists()
   252  	b.ClusterName = &value
   253  	return b
   254  }
   255  
   256  func (b *PodApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
   257  	if b.ObjectMetaApplyConfiguration == nil {
   258  		b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{}
   259  	}
   260  }
   261  
   262  // WithSpec sets the Spec field in the declarative configuration to the given value
   263  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   264  // If called multiple times, the Spec field is set to the value of the last call.
   265  func (b *PodApplyConfiguration) WithSpec(value *PodSpecApplyConfiguration) *PodApplyConfiguration {
   266  	b.Spec = value
   267  	return b
   268  }
   269  
   270  // WithStatus sets the Status field in the declarative configuration to the given value
   271  // and returns the receiver, so that objects can be built by chaining "With" function invocations.
   272  // If called multiple times, the Status field is set to the value of the last call.
   273  func (b *PodApplyConfiguration) WithStatus(value *PodStatusApplyConfiguration) *PodApplyConfiguration {
   274  	b.Status = value
   275  	return b
   276  }