...

Source file src/k8s.io/client-go/applyconfigurations/core/v1/persistentvolume.go

Documentation: k8s.io/client-go/applyconfigurations/core/v1

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

View as plain text