All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.kubernetes.client.models.V1VolumeFluentImpl Maven / Gradle / Ivy

package io.kubernetes.client.models;

import com.google.gson.annotations.SerializedName;
import java.lang.String;
import io.kubernetes.client.fluent.BaseFluent;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.Deprecated;
import io.kubernetes.client.fluent.Nested;

public class V1VolumeFluentImpl> extends io.kubernetes.client.fluent.BaseFluent implements V1VolumeFluent{

    private V1AWSElasticBlockStoreVolumeSourceBuilder awsElasticBlockStore;
    private V1AzureDiskVolumeSourceBuilder azureDisk;
    private V1AzureFileVolumeSourceBuilder azureFile;
    private V1CephFSVolumeSourceBuilder cephfs;
    private V1CinderVolumeSourceBuilder cinder;
    private V1ConfigMapVolumeSourceBuilder configMap;
    private V1DownwardAPIVolumeSourceBuilder downwardAPI;
    private V1EmptyDirVolumeSourceBuilder emptyDir;
    private V1FCVolumeSourceBuilder fc;
    private V1FlexVolumeSourceBuilder flexVolume;
    private V1FlockerVolumeSourceBuilder flocker;
    private V1GCEPersistentDiskVolumeSourceBuilder gcePersistentDisk;
    private V1GitRepoVolumeSourceBuilder gitRepo;
    private V1GlusterfsVolumeSourceBuilder glusterfs;
    private V1HostPathVolumeSourceBuilder hostPath;
    private V1ISCSIVolumeSourceBuilder iscsi;
    private String name;
    private V1NFSVolumeSourceBuilder nfs;
    private V1PersistentVolumeClaimVolumeSourceBuilder persistentVolumeClaim;
    private V1PhotonPersistentDiskVolumeSourceBuilder photonPersistentDisk;
    private V1PortworxVolumeSourceBuilder portworxVolume;
    private V1ProjectedVolumeSourceBuilder projected;
    private V1QuobyteVolumeSourceBuilder quobyte;
    private V1RBDVolumeSourceBuilder rbd;
    private V1ScaleIOVolumeSourceBuilder scaleIO;
    private V1SecretVolumeSourceBuilder secret;
    private V1StorageOSVolumeSourceBuilder storageos;
    private V1VsphereVirtualDiskVolumeSourceBuilder vsphereVolume;

    public V1VolumeFluentImpl(){
    }
    public V1VolumeFluentImpl(V1Volume instance){
            this.withAwsElasticBlockStore(instance.getAwsElasticBlockStore());

            this.withAzureDisk(instance.getAzureDisk());

            this.withAzureFile(instance.getAzureFile());

            this.withCephfs(instance.getCephfs());

            this.withCinder(instance.getCinder());

            this.withConfigMap(instance.getConfigMap());

            this.withDownwardAPI(instance.getDownwardAPI());

            this.withEmptyDir(instance.getEmptyDir());

            this.withFc(instance.getFc());

            this.withFlexVolume(instance.getFlexVolume());

            this.withFlocker(instance.getFlocker());

            this.withGcePersistentDisk(instance.getGcePersistentDisk());

            this.withGitRepo(instance.getGitRepo());

            this.withGlusterfs(instance.getGlusterfs());

            this.withHostPath(instance.getHostPath());

            this.withIscsi(instance.getIscsi());

            this.withName(instance.getName());

            this.withNfs(instance.getNfs());

            this.withPersistentVolumeClaim(instance.getPersistentVolumeClaim());

            this.withPhotonPersistentDisk(instance.getPhotonPersistentDisk());

            this.withPortworxVolume(instance.getPortworxVolume());

            this.withProjected(instance.getProjected());

            this.withQuobyte(instance.getQuobyte());

            this.withRbd(instance.getRbd());

            this.withScaleIO(instance.getScaleIO());

            this.withSecret(instance.getSecret());

            this.withStorageos(instance.getStorageos());

            this.withVsphereVolume(instance.getVsphereVolume());

    }

    
/**
 * This method has been deprecated, please use method buildAwsElasticBlockStore instead.
 */
@Deprecated public V1AWSElasticBlockStoreVolumeSource getAwsElasticBlockStore(){
            return this.awsElasticBlockStore!=null?this.awsElasticBlockStore.build():null;
    }

    public V1AWSElasticBlockStoreVolumeSource buildAwsElasticBlockStore(){
            return this.awsElasticBlockStore!=null?this.awsElasticBlockStore.build():null;
    }

    public A withAwsElasticBlockStore(V1AWSElasticBlockStoreVolumeSource awsElasticBlockStore){
            _visitables.remove(this.awsElasticBlockStore);
            if (awsElasticBlockStore!=null){ this.awsElasticBlockStore= new V1AWSElasticBlockStoreVolumeSourceBuilder(awsElasticBlockStore); _visitables.add(this.awsElasticBlockStore);} return (A) this;
    }

    public Boolean hasAwsElasticBlockStore(){
            return this.awsElasticBlockStore != null;
    }

    public V1VolumeFluent.AwsElasticBlockStoreNested withNewAwsElasticBlockStore(){
            return new AwsElasticBlockStoreNestedImpl();
    }

    public V1VolumeFluent.AwsElasticBlockStoreNested withNewAwsElasticBlockStoreLike(V1AWSElasticBlockStoreVolumeSource item){
            return new AwsElasticBlockStoreNestedImpl(item);
    }

    public V1VolumeFluent.AwsElasticBlockStoreNested editAwsElasticBlockStore(){
            return withNewAwsElasticBlockStoreLike(getAwsElasticBlockStore());
    }

    public V1VolumeFluent.AwsElasticBlockStoreNested editOrNewAwsElasticBlockStore(){
            return withNewAwsElasticBlockStoreLike(getAwsElasticBlockStore() != null ? getAwsElasticBlockStore(): new V1AWSElasticBlockStoreVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.AwsElasticBlockStoreNested editOrNewAwsElasticBlockStoreLike(V1AWSElasticBlockStoreVolumeSource item){
            return withNewAwsElasticBlockStoreLike(getAwsElasticBlockStore() != null ? getAwsElasticBlockStore(): item);
    }

    
/**
 * This method has been deprecated, please use method buildAzureDisk instead.
 */
@Deprecated public V1AzureDiskVolumeSource getAzureDisk(){
            return this.azureDisk!=null?this.azureDisk.build():null;
    }

    public V1AzureDiskVolumeSource buildAzureDisk(){
            return this.azureDisk!=null?this.azureDisk.build():null;
    }

    public A withAzureDisk(V1AzureDiskVolumeSource azureDisk){
            _visitables.remove(this.azureDisk);
            if (azureDisk!=null){ this.azureDisk= new V1AzureDiskVolumeSourceBuilder(azureDisk); _visitables.add(this.azureDisk);} return (A) this;
    }

    public Boolean hasAzureDisk(){
            return this.azureDisk != null;
    }

    public V1VolumeFluent.AzureDiskNested withNewAzureDisk(){
            return new AzureDiskNestedImpl();
    }

    public V1VolumeFluent.AzureDiskNested withNewAzureDiskLike(V1AzureDiskVolumeSource item){
            return new AzureDiskNestedImpl(item);
    }

    public V1VolumeFluent.AzureDiskNested editAzureDisk(){
            return withNewAzureDiskLike(getAzureDisk());
    }

    public V1VolumeFluent.AzureDiskNested editOrNewAzureDisk(){
            return withNewAzureDiskLike(getAzureDisk() != null ? getAzureDisk(): new V1AzureDiskVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.AzureDiskNested editOrNewAzureDiskLike(V1AzureDiskVolumeSource item){
            return withNewAzureDiskLike(getAzureDisk() != null ? getAzureDisk(): item);
    }

    
/**
 * This method has been deprecated, please use method buildAzureFile instead.
 */
@Deprecated public V1AzureFileVolumeSource getAzureFile(){
            return this.azureFile!=null?this.azureFile.build():null;
    }

    public V1AzureFileVolumeSource buildAzureFile(){
            return this.azureFile!=null?this.azureFile.build():null;
    }

    public A withAzureFile(V1AzureFileVolumeSource azureFile){
            _visitables.remove(this.azureFile);
            if (azureFile!=null){ this.azureFile= new V1AzureFileVolumeSourceBuilder(azureFile); _visitables.add(this.azureFile);} return (A) this;
    }

    public Boolean hasAzureFile(){
            return this.azureFile != null;
    }

    public V1VolumeFluent.AzureFileNested withNewAzureFile(){
            return new AzureFileNestedImpl();
    }

    public V1VolumeFluent.AzureFileNested withNewAzureFileLike(V1AzureFileVolumeSource item){
            return new AzureFileNestedImpl(item);
    }

    public V1VolumeFluent.AzureFileNested editAzureFile(){
            return withNewAzureFileLike(getAzureFile());
    }

    public V1VolumeFluent.AzureFileNested editOrNewAzureFile(){
            return withNewAzureFileLike(getAzureFile() != null ? getAzureFile(): new V1AzureFileVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.AzureFileNested editOrNewAzureFileLike(V1AzureFileVolumeSource item){
            return withNewAzureFileLike(getAzureFile() != null ? getAzureFile(): item);
    }

    
/**
 * This method has been deprecated, please use method buildCephfs instead.
 */
@Deprecated public V1CephFSVolumeSource getCephfs(){
            return this.cephfs!=null?this.cephfs.build():null;
    }

    public V1CephFSVolumeSource buildCephfs(){
            return this.cephfs!=null?this.cephfs.build():null;
    }

    public A withCephfs(V1CephFSVolumeSource cephfs){
            _visitables.remove(this.cephfs);
            if (cephfs!=null){ this.cephfs= new V1CephFSVolumeSourceBuilder(cephfs); _visitables.add(this.cephfs);} return (A) this;
    }

    public Boolean hasCephfs(){
            return this.cephfs != null;
    }

    public V1VolumeFluent.CephfsNested withNewCephfs(){
            return new CephfsNestedImpl();
    }

    public V1VolumeFluent.CephfsNested withNewCephfsLike(V1CephFSVolumeSource item){
            return new CephfsNestedImpl(item);
    }

    public V1VolumeFluent.CephfsNested editCephfs(){
            return withNewCephfsLike(getCephfs());
    }

    public V1VolumeFluent.CephfsNested editOrNewCephfs(){
            return withNewCephfsLike(getCephfs() != null ? getCephfs(): new V1CephFSVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.CephfsNested editOrNewCephfsLike(V1CephFSVolumeSource item){
            return withNewCephfsLike(getCephfs() != null ? getCephfs(): item);
    }

    
/**
 * This method has been deprecated, please use method buildCinder instead.
 */
@Deprecated public V1CinderVolumeSource getCinder(){
            return this.cinder!=null?this.cinder.build():null;
    }

    public V1CinderVolumeSource buildCinder(){
            return this.cinder!=null?this.cinder.build():null;
    }

    public A withCinder(V1CinderVolumeSource cinder){
            _visitables.remove(this.cinder);
            if (cinder!=null){ this.cinder= new V1CinderVolumeSourceBuilder(cinder); _visitables.add(this.cinder);} return (A) this;
    }

    public Boolean hasCinder(){
            return this.cinder != null;
    }

    public V1VolumeFluent.CinderNested withNewCinder(){
            return new CinderNestedImpl();
    }

    public V1VolumeFluent.CinderNested withNewCinderLike(V1CinderVolumeSource item){
            return new CinderNestedImpl(item);
    }

    public V1VolumeFluent.CinderNested editCinder(){
            return withNewCinderLike(getCinder());
    }

    public V1VolumeFluent.CinderNested editOrNewCinder(){
            return withNewCinderLike(getCinder() != null ? getCinder(): new V1CinderVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.CinderNested editOrNewCinderLike(V1CinderVolumeSource item){
            return withNewCinderLike(getCinder() != null ? getCinder(): item);
    }

    
/**
 * This method has been deprecated, please use method buildConfigMap instead.
 */
@Deprecated public V1ConfigMapVolumeSource getConfigMap(){
            return this.configMap!=null?this.configMap.build():null;
    }

    public V1ConfigMapVolumeSource buildConfigMap(){
            return this.configMap!=null?this.configMap.build():null;
    }

    public A withConfigMap(V1ConfigMapVolumeSource configMap){
            _visitables.remove(this.configMap);
            if (configMap!=null){ this.configMap= new V1ConfigMapVolumeSourceBuilder(configMap); _visitables.add(this.configMap);} return (A) this;
    }

    public Boolean hasConfigMap(){
            return this.configMap != null;
    }

    public V1VolumeFluent.ConfigMapNested withNewConfigMap(){
            return new ConfigMapNestedImpl();
    }

    public V1VolumeFluent.ConfigMapNested withNewConfigMapLike(V1ConfigMapVolumeSource item){
            return new ConfigMapNestedImpl(item);
    }

    public V1VolumeFluent.ConfigMapNested editConfigMap(){
            return withNewConfigMapLike(getConfigMap());
    }

    public V1VolumeFluent.ConfigMapNested editOrNewConfigMap(){
            return withNewConfigMapLike(getConfigMap() != null ? getConfigMap(): new V1ConfigMapVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.ConfigMapNested editOrNewConfigMapLike(V1ConfigMapVolumeSource item){
            return withNewConfigMapLike(getConfigMap() != null ? getConfigMap(): item);
    }

    
/**
 * This method has been deprecated, please use method buildDownwardAPI instead.
 */
@Deprecated public V1DownwardAPIVolumeSource getDownwardAPI(){
            return this.downwardAPI!=null?this.downwardAPI.build():null;
    }

    public V1DownwardAPIVolumeSource buildDownwardAPI(){
            return this.downwardAPI!=null?this.downwardAPI.build():null;
    }

    public A withDownwardAPI(V1DownwardAPIVolumeSource downwardAPI){
            _visitables.remove(this.downwardAPI);
            if (downwardAPI!=null){ this.downwardAPI= new V1DownwardAPIVolumeSourceBuilder(downwardAPI); _visitables.add(this.downwardAPI);} return (A) this;
    }

    public Boolean hasDownwardAPI(){
            return this.downwardAPI != null;
    }

    public V1VolumeFluent.DownwardAPINested withNewDownwardAPI(){
            return new DownwardAPINestedImpl();
    }

    public V1VolumeFluent.DownwardAPINested withNewDownwardAPILike(V1DownwardAPIVolumeSource item){
            return new DownwardAPINestedImpl(item);
    }

    public V1VolumeFluent.DownwardAPINested editDownwardAPI(){
            return withNewDownwardAPILike(getDownwardAPI());
    }

    public V1VolumeFluent.DownwardAPINested editOrNewDownwardAPI(){
            return withNewDownwardAPILike(getDownwardAPI() != null ? getDownwardAPI(): new V1DownwardAPIVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.DownwardAPINested editOrNewDownwardAPILike(V1DownwardAPIVolumeSource item){
            return withNewDownwardAPILike(getDownwardAPI() != null ? getDownwardAPI(): item);
    }

    
/**
 * This method has been deprecated, please use method buildEmptyDir instead.
 */
@Deprecated public V1EmptyDirVolumeSource getEmptyDir(){
            return this.emptyDir!=null?this.emptyDir.build():null;
    }

    public V1EmptyDirVolumeSource buildEmptyDir(){
            return this.emptyDir!=null?this.emptyDir.build():null;
    }

    public A withEmptyDir(V1EmptyDirVolumeSource emptyDir){
            _visitables.remove(this.emptyDir);
            if (emptyDir!=null){ this.emptyDir= new V1EmptyDirVolumeSourceBuilder(emptyDir); _visitables.add(this.emptyDir);} return (A) this;
    }

    public Boolean hasEmptyDir(){
            return this.emptyDir != null;
    }

    public V1VolumeFluent.EmptyDirNested withNewEmptyDir(){
            return new EmptyDirNestedImpl();
    }

    public V1VolumeFluent.EmptyDirNested withNewEmptyDirLike(V1EmptyDirVolumeSource item){
            return new EmptyDirNestedImpl(item);
    }

    public V1VolumeFluent.EmptyDirNested editEmptyDir(){
            return withNewEmptyDirLike(getEmptyDir());
    }

    public V1VolumeFluent.EmptyDirNested editOrNewEmptyDir(){
            return withNewEmptyDirLike(getEmptyDir() != null ? getEmptyDir(): new V1EmptyDirVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.EmptyDirNested editOrNewEmptyDirLike(V1EmptyDirVolumeSource item){
            return withNewEmptyDirLike(getEmptyDir() != null ? getEmptyDir(): item);
    }

    
/**
 * This method has been deprecated, please use method buildFc instead.
 */
@Deprecated public V1FCVolumeSource getFc(){
            return this.fc!=null?this.fc.build():null;
    }

    public V1FCVolumeSource buildFc(){
            return this.fc!=null?this.fc.build():null;
    }

    public A withFc(V1FCVolumeSource fc){
            _visitables.remove(this.fc);
            if (fc!=null){ this.fc= new V1FCVolumeSourceBuilder(fc); _visitables.add(this.fc);} return (A) this;
    }

    public Boolean hasFc(){
            return this.fc != null;
    }

    public V1VolumeFluent.FcNested withNewFc(){
            return new FcNestedImpl();
    }

    public V1VolumeFluent.FcNested withNewFcLike(V1FCVolumeSource item){
            return new FcNestedImpl(item);
    }

    public V1VolumeFluent.FcNested editFc(){
            return withNewFcLike(getFc());
    }

    public V1VolumeFluent.FcNested editOrNewFc(){
            return withNewFcLike(getFc() != null ? getFc(): new V1FCVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.FcNested editOrNewFcLike(V1FCVolumeSource item){
            return withNewFcLike(getFc() != null ? getFc(): item);
    }

    
/**
 * This method has been deprecated, please use method buildFlexVolume instead.
 */
@Deprecated public V1FlexVolumeSource getFlexVolume(){
            return this.flexVolume!=null?this.flexVolume.build():null;
    }

    public V1FlexVolumeSource buildFlexVolume(){
            return this.flexVolume!=null?this.flexVolume.build():null;
    }

    public A withFlexVolume(V1FlexVolumeSource flexVolume){
            _visitables.remove(this.flexVolume);
            if (flexVolume!=null){ this.flexVolume= new V1FlexVolumeSourceBuilder(flexVolume); _visitables.add(this.flexVolume);} return (A) this;
    }

    public Boolean hasFlexVolume(){
            return this.flexVolume != null;
    }

    public V1VolumeFluent.FlexVolumeNested withNewFlexVolume(){
            return new FlexVolumeNestedImpl();
    }

    public V1VolumeFluent.FlexVolumeNested withNewFlexVolumeLike(V1FlexVolumeSource item){
            return new FlexVolumeNestedImpl(item);
    }

    public V1VolumeFluent.FlexVolumeNested editFlexVolume(){
            return withNewFlexVolumeLike(getFlexVolume());
    }

    public V1VolumeFluent.FlexVolumeNested editOrNewFlexVolume(){
            return withNewFlexVolumeLike(getFlexVolume() != null ? getFlexVolume(): new V1FlexVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.FlexVolumeNested editOrNewFlexVolumeLike(V1FlexVolumeSource item){
            return withNewFlexVolumeLike(getFlexVolume() != null ? getFlexVolume(): item);
    }

    
/**
 * This method has been deprecated, please use method buildFlocker instead.
 */
@Deprecated public V1FlockerVolumeSource getFlocker(){
            return this.flocker!=null?this.flocker.build():null;
    }

    public V1FlockerVolumeSource buildFlocker(){
            return this.flocker!=null?this.flocker.build():null;
    }

    public A withFlocker(V1FlockerVolumeSource flocker){
            _visitables.remove(this.flocker);
            if (flocker!=null){ this.flocker= new V1FlockerVolumeSourceBuilder(flocker); _visitables.add(this.flocker);} return (A) this;
    }

    public Boolean hasFlocker(){
            return this.flocker != null;
    }

    public V1VolumeFluent.FlockerNested withNewFlocker(){
            return new FlockerNestedImpl();
    }

    public V1VolumeFluent.FlockerNested withNewFlockerLike(V1FlockerVolumeSource item){
            return new FlockerNestedImpl(item);
    }

    public V1VolumeFluent.FlockerNested editFlocker(){
            return withNewFlockerLike(getFlocker());
    }

    public V1VolumeFluent.FlockerNested editOrNewFlocker(){
            return withNewFlockerLike(getFlocker() != null ? getFlocker(): new V1FlockerVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.FlockerNested editOrNewFlockerLike(V1FlockerVolumeSource item){
            return withNewFlockerLike(getFlocker() != null ? getFlocker(): item);
    }

    
/**
 * This method has been deprecated, please use method buildGcePersistentDisk instead.
 */
@Deprecated public V1GCEPersistentDiskVolumeSource getGcePersistentDisk(){
            return this.gcePersistentDisk!=null?this.gcePersistentDisk.build():null;
    }

    public V1GCEPersistentDiskVolumeSource buildGcePersistentDisk(){
            return this.gcePersistentDisk!=null?this.gcePersistentDisk.build():null;
    }

    public A withGcePersistentDisk(V1GCEPersistentDiskVolumeSource gcePersistentDisk){
            _visitables.remove(this.gcePersistentDisk);
            if (gcePersistentDisk!=null){ this.gcePersistentDisk= new V1GCEPersistentDiskVolumeSourceBuilder(gcePersistentDisk); _visitables.add(this.gcePersistentDisk);} return (A) this;
    }

    public Boolean hasGcePersistentDisk(){
            return this.gcePersistentDisk != null;
    }

    public V1VolumeFluent.GcePersistentDiskNested withNewGcePersistentDisk(){
            return new GcePersistentDiskNestedImpl();
    }

    public V1VolumeFluent.GcePersistentDiskNested withNewGcePersistentDiskLike(V1GCEPersistentDiskVolumeSource item){
            return new GcePersistentDiskNestedImpl(item);
    }

    public V1VolumeFluent.GcePersistentDiskNested editGcePersistentDisk(){
            return withNewGcePersistentDiskLike(getGcePersistentDisk());
    }

    public V1VolumeFluent.GcePersistentDiskNested editOrNewGcePersistentDisk(){
            return withNewGcePersistentDiskLike(getGcePersistentDisk() != null ? getGcePersistentDisk(): new V1GCEPersistentDiskVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.GcePersistentDiskNested editOrNewGcePersistentDiskLike(V1GCEPersistentDiskVolumeSource item){
            return withNewGcePersistentDiskLike(getGcePersistentDisk() != null ? getGcePersistentDisk(): item);
    }

    
/**
 * This method has been deprecated, please use method buildGitRepo instead.
 */
@Deprecated public V1GitRepoVolumeSource getGitRepo(){
            return this.gitRepo!=null?this.gitRepo.build():null;
    }

    public V1GitRepoVolumeSource buildGitRepo(){
            return this.gitRepo!=null?this.gitRepo.build():null;
    }

    public A withGitRepo(V1GitRepoVolumeSource gitRepo){
            _visitables.remove(this.gitRepo);
            if (gitRepo!=null){ this.gitRepo= new V1GitRepoVolumeSourceBuilder(gitRepo); _visitables.add(this.gitRepo);} return (A) this;
    }

    public Boolean hasGitRepo(){
            return this.gitRepo != null;
    }

    public V1VolumeFluent.GitRepoNested withNewGitRepo(){
            return new GitRepoNestedImpl();
    }

    public V1VolumeFluent.GitRepoNested withNewGitRepoLike(V1GitRepoVolumeSource item){
            return new GitRepoNestedImpl(item);
    }

    public V1VolumeFluent.GitRepoNested editGitRepo(){
            return withNewGitRepoLike(getGitRepo());
    }

    public V1VolumeFluent.GitRepoNested editOrNewGitRepo(){
            return withNewGitRepoLike(getGitRepo() != null ? getGitRepo(): new V1GitRepoVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.GitRepoNested editOrNewGitRepoLike(V1GitRepoVolumeSource item){
            return withNewGitRepoLike(getGitRepo() != null ? getGitRepo(): item);
    }

    
/**
 * This method has been deprecated, please use method buildGlusterfs instead.
 */
@Deprecated public V1GlusterfsVolumeSource getGlusterfs(){
            return this.glusterfs!=null?this.glusterfs.build():null;
    }

    public V1GlusterfsVolumeSource buildGlusterfs(){
            return this.glusterfs!=null?this.glusterfs.build():null;
    }

    public A withGlusterfs(V1GlusterfsVolumeSource glusterfs){
            _visitables.remove(this.glusterfs);
            if (glusterfs!=null){ this.glusterfs= new V1GlusterfsVolumeSourceBuilder(glusterfs); _visitables.add(this.glusterfs);} return (A) this;
    }

    public Boolean hasGlusterfs(){
            return this.glusterfs != null;
    }

    public V1VolumeFluent.GlusterfsNested withNewGlusterfs(){
            return new GlusterfsNestedImpl();
    }

    public V1VolumeFluent.GlusterfsNested withNewGlusterfsLike(V1GlusterfsVolumeSource item){
            return new GlusterfsNestedImpl(item);
    }

    public V1VolumeFluent.GlusterfsNested editGlusterfs(){
            return withNewGlusterfsLike(getGlusterfs());
    }

    public V1VolumeFluent.GlusterfsNested editOrNewGlusterfs(){
            return withNewGlusterfsLike(getGlusterfs() != null ? getGlusterfs(): new V1GlusterfsVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.GlusterfsNested editOrNewGlusterfsLike(V1GlusterfsVolumeSource item){
            return withNewGlusterfsLike(getGlusterfs() != null ? getGlusterfs(): item);
    }

    
/**
 * This method has been deprecated, please use method buildHostPath instead.
 */
@Deprecated public V1HostPathVolumeSource getHostPath(){
            return this.hostPath!=null?this.hostPath.build():null;
    }

    public V1HostPathVolumeSource buildHostPath(){
            return this.hostPath!=null?this.hostPath.build():null;
    }

    public A withHostPath(V1HostPathVolumeSource hostPath){
            _visitables.remove(this.hostPath);
            if (hostPath!=null){ this.hostPath= new V1HostPathVolumeSourceBuilder(hostPath); _visitables.add(this.hostPath);} return (A) this;
    }

    public Boolean hasHostPath(){
            return this.hostPath != null;
    }

    public V1VolumeFluent.HostPathNested withNewHostPath(){
            return new HostPathNestedImpl();
    }

    public V1VolumeFluent.HostPathNested withNewHostPathLike(V1HostPathVolumeSource item){
            return new HostPathNestedImpl(item);
    }

    public V1VolumeFluent.HostPathNested editHostPath(){
            return withNewHostPathLike(getHostPath());
    }

    public V1VolumeFluent.HostPathNested editOrNewHostPath(){
            return withNewHostPathLike(getHostPath() != null ? getHostPath(): new V1HostPathVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.HostPathNested editOrNewHostPathLike(V1HostPathVolumeSource item){
            return withNewHostPathLike(getHostPath() != null ? getHostPath(): item);
    }

    
/**
 * This method has been deprecated, please use method buildIscsi instead.
 */
@Deprecated public V1ISCSIVolumeSource getIscsi(){
            return this.iscsi!=null?this.iscsi.build():null;
    }

    public V1ISCSIVolumeSource buildIscsi(){
            return this.iscsi!=null?this.iscsi.build():null;
    }

    public A withIscsi(V1ISCSIVolumeSource iscsi){
            _visitables.remove(this.iscsi);
            if (iscsi!=null){ this.iscsi= new V1ISCSIVolumeSourceBuilder(iscsi); _visitables.add(this.iscsi);} return (A) this;
    }

    public Boolean hasIscsi(){
            return this.iscsi != null;
    }

    public V1VolumeFluent.IscsiNested withNewIscsi(){
            return new IscsiNestedImpl();
    }

    public V1VolumeFluent.IscsiNested withNewIscsiLike(V1ISCSIVolumeSource item){
            return new IscsiNestedImpl(item);
    }

    public V1VolumeFluent.IscsiNested editIscsi(){
            return withNewIscsiLike(getIscsi());
    }

    public V1VolumeFluent.IscsiNested editOrNewIscsi(){
            return withNewIscsiLike(getIscsi() != null ? getIscsi(): new V1ISCSIVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.IscsiNested editOrNewIscsiLike(V1ISCSIVolumeSource item){
            return withNewIscsiLike(getIscsi() != null ? getIscsi(): item);
    }

    public String getName(){
            return this.name;
    }

    public A withName(String name){
            this.name=name; return (A) this;
    }

    public Boolean hasName(){
            return this.name != null;
    }

    
/**
 * This method has been deprecated, please use method buildNfs instead.
 */
@Deprecated public V1NFSVolumeSource getNfs(){
            return this.nfs!=null?this.nfs.build():null;
    }

    public V1NFSVolumeSource buildNfs(){
            return this.nfs!=null?this.nfs.build():null;
    }

    public A withNfs(V1NFSVolumeSource nfs){
            _visitables.remove(this.nfs);
            if (nfs!=null){ this.nfs= new V1NFSVolumeSourceBuilder(nfs); _visitables.add(this.nfs);} return (A) this;
    }

    public Boolean hasNfs(){
            return this.nfs != null;
    }

    public V1VolumeFluent.NfsNested withNewNfs(){
            return new NfsNestedImpl();
    }

    public V1VolumeFluent.NfsNested withNewNfsLike(V1NFSVolumeSource item){
            return new NfsNestedImpl(item);
    }

    public V1VolumeFluent.NfsNested editNfs(){
            return withNewNfsLike(getNfs());
    }

    public V1VolumeFluent.NfsNested editOrNewNfs(){
            return withNewNfsLike(getNfs() != null ? getNfs(): new V1NFSVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.NfsNested editOrNewNfsLike(V1NFSVolumeSource item){
            return withNewNfsLike(getNfs() != null ? getNfs(): item);
    }

    
/**
 * This method has been deprecated, please use method buildPersistentVolumeClaim instead.
 */
@Deprecated public V1PersistentVolumeClaimVolumeSource getPersistentVolumeClaim(){
            return this.persistentVolumeClaim!=null?this.persistentVolumeClaim.build():null;
    }

    public V1PersistentVolumeClaimVolumeSource buildPersistentVolumeClaim(){
            return this.persistentVolumeClaim!=null?this.persistentVolumeClaim.build():null;
    }

    public A withPersistentVolumeClaim(V1PersistentVolumeClaimVolumeSource persistentVolumeClaim){
            _visitables.remove(this.persistentVolumeClaim);
            if (persistentVolumeClaim!=null){ this.persistentVolumeClaim= new V1PersistentVolumeClaimVolumeSourceBuilder(persistentVolumeClaim); _visitables.add(this.persistentVolumeClaim);} return (A) this;
    }

    public Boolean hasPersistentVolumeClaim(){
            return this.persistentVolumeClaim != null;
    }

    public V1VolumeFluent.PersistentVolumeClaimNested withNewPersistentVolumeClaim(){
            return new PersistentVolumeClaimNestedImpl();
    }

    public V1VolumeFluent.PersistentVolumeClaimNested withNewPersistentVolumeClaimLike(V1PersistentVolumeClaimVolumeSource item){
            return new PersistentVolumeClaimNestedImpl(item);
    }

    public V1VolumeFluent.PersistentVolumeClaimNested editPersistentVolumeClaim(){
            return withNewPersistentVolumeClaimLike(getPersistentVolumeClaim());
    }

    public V1VolumeFluent.PersistentVolumeClaimNested editOrNewPersistentVolumeClaim(){
            return withNewPersistentVolumeClaimLike(getPersistentVolumeClaim() != null ? getPersistentVolumeClaim(): new V1PersistentVolumeClaimVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.PersistentVolumeClaimNested editOrNewPersistentVolumeClaimLike(V1PersistentVolumeClaimVolumeSource item){
            return withNewPersistentVolumeClaimLike(getPersistentVolumeClaim() != null ? getPersistentVolumeClaim(): item);
    }

    
/**
 * This method has been deprecated, please use method buildPhotonPersistentDisk instead.
 */
@Deprecated public V1PhotonPersistentDiskVolumeSource getPhotonPersistentDisk(){
            return this.photonPersistentDisk!=null?this.photonPersistentDisk.build():null;
    }

    public V1PhotonPersistentDiskVolumeSource buildPhotonPersistentDisk(){
            return this.photonPersistentDisk!=null?this.photonPersistentDisk.build():null;
    }

    public A withPhotonPersistentDisk(V1PhotonPersistentDiskVolumeSource photonPersistentDisk){
            _visitables.remove(this.photonPersistentDisk);
            if (photonPersistentDisk!=null){ this.photonPersistentDisk= new V1PhotonPersistentDiskVolumeSourceBuilder(photonPersistentDisk); _visitables.add(this.photonPersistentDisk);} return (A) this;
    }

    public Boolean hasPhotonPersistentDisk(){
            return this.photonPersistentDisk != null;
    }

    public V1VolumeFluent.PhotonPersistentDiskNested withNewPhotonPersistentDisk(){
            return new PhotonPersistentDiskNestedImpl();
    }

    public V1VolumeFluent.PhotonPersistentDiskNested withNewPhotonPersistentDiskLike(V1PhotonPersistentDiskVolumeSource item){
            return new PhotonPersistentDiskNestedImpl(item);
    }

    public V1VolumeFluent.PhotonPersistentDiskNested editPhotonPersistentDisk(){
            return withNewPhotonPersistentDiskLike(getPhotonPersistentDisk());
    }

    public V1VolumeFluent.PhotonPersistentDiskNested editOrNewPhotonPersistentDisk(){
            return withNewPhotonPersistentDiskLike(getPhotonPersistentDisk() != null ? getPhotonPersistentDisk(): new V1PhotonPersistentDiskVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.PhotonPersistentDiskNested editOrNewPhotonPersistentDiskLike(V1PhotonPersistentDiskVolumeSource item){
            return withNewPhotonPersistentDiskLike(getPhotonPersistentDisk() != null ? getPhotonPersistentDisk(): item);
    }

    
/**
 * This method has been deprecated, please use method buildPortworxVolume instead.
 */
@Deprecated public V1PortworxVolumeSource getPortworxVolume(){
            return this.portworxVolume!=null?this.portworxVolume.build():null;
    }

    public V1PortworxVolumeSource buildPortworxVolume(){
            return this.portworxVolume!=null?this.portworxVolume.build():null;
    }

    public A withPortworxVolume(V1PortworxVolumeSource portworxVolume){
            _visitables.remove(this.portworxVolume);
            if (portworxVolume!=null){ this.portworxVolume= new V1PortworxVolumeSourceBuilder(portworxVolume); _visitables.add(this.portworxVolume);} return (A) this;
    }

    public Boolean hasPortworxVolume(){
            return this.portworxVolume != null;
    }

    public V1VolumeFluent.PortworxVolumeNested withNewPortworxVolume(){
            return new PortworxVolumeNestedImpl();
    }

    public V1VolumeFluent.PortworxVolumeNested withNewPortworxVolumeLike(V1PortworxVolumeSource item){
            return new PortworxVolumeNestedImpl(item);
    }

    public V1VolumeFluent.PortworxVolumeNested editPortworxVolume(){
            return withNewPortworxVolumeLike(getPortworxVolume());
    }

    public V1VolumeFluent.PortworxVolumeNested editOrNewPortworxVolume(){
            return withNewPortworxVolumeLike(getPortworxVolume() != null ? getPortworxVolume(): new V1PortworxVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.PortworxVolumeNested editOrNewPortworxVolumeLike(V1PortworxVolumeSource item){
            return withNewPortworxVolumeLike(getPortworxVolume() != null ? getPortworxVolume(): item);
    }

    
/**
 * This method has been deprecated, please use method buildProjected instead.
 */
@Deprecated public V1ProjectedVolumeSource getProjected(){
            return this.projected!=null?this.projected.build():null;
    }

    public V1ProjectedVolumeSource buildProjected(){
            return this.projected!=null?this.projected.build():null;
    }

    public A withProjected(V1ProjectedVolumeSource projected){
            _visitables.remove(this.projected);
            if (projected!=null){ this.projected= new V1ProjectedVolumeSourceBuilder(projected); _visitables.add(this.projected);} return (A) this;
    }

    public Boolean hasProjected(){
            return this.projected != null;
    }

    public V1VolumeFluent.ProjectedNested withNewProjected(){
            return new ProjectedNestedImpl();
    }

    public V1VolumeFluent.ProjectedNested withNewProjectedLike(V1ProjectedVolumeSource item){
            return new ProjectedNestedImpl(item);
    }

    public V1VolumeFluent.ProjectedNested editProjected(){
            return withNewProjectedLike(getProjected());
    }

    public V1VolumeFluent.ProjectedNested editOrNewProjected(){
            return withNewProjectedLike(getProjected() != null ? getProjected(): new V1ProjectedVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.ProjectedNested editOrNewProjectedLike(V1ProjectedVolumeSource item){
            return withNewProjectedLike(getProjected() != null ? getProjected(): item);
    }

    
/**
 * This method has been deprecated, please use method buildQuobyte instead.
 */
@Deprecated public V1QuobyteVolumeSource getQuobyte(){
            return this.quobyte!=null?this.quobyte.build():null;
    }

    public V1QuobyteVolumeSource buildQuobyte(){
            return this.quobyte!=null?this.quobyte.build():null;
    }

    public A withQuobyte(V1QuobyteVolumeSource quobyte){
            _visitables.remove(this.quobyte);
            if (quobyte!=null){ this.quobyte= new V1QuobyteVolumeSourceBuilder(quobyte); _visitables.add(this.quobyte);} return (A) this;
    }

    public Boolean hasQuobyte(){
            return this.quobyte != null;
    }

    public V1VolumeFluent.QuobyteNested withNewQuobyte(){
            return new QuobyteNestedImpl();
    }

    public V1VolumeFluent.QuobyteNested withNewQuobyteLike(V1QuobyteVolumeSource item){
            return new QuobyteNestedImpl(item);
    }

    public V1VolumeFluent.QuobyteNested editQuobyte(){
            return withNewQuobyteLike(getQuobyte());
    }

    public V1VolumeFluent.QuobyteNested editOrNewQuobyte(){
            return withNewQuobyteLike(getQuobyte() != null ? getQuobyte(): new V1QuobyteVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.QuobyteNested editOrNewQuobyteLike(V1QuobyteVolumeSource item){
            return withNewQuobyteLike(getQuobyte() != null ? getQuobyte(): item);
    }

    
/**
 * This method has been deprecated, please use method buildRbd instead.
 */
@Deprecated public V1RBDVolumeSource getRbd(){
            return this.rbd!=null?this.rbd.build():null;
    }

    public V1RBDVolumeSource buildRbd(){
            return this.rbd!=null?this.rbd.build():null;
    }

    public A withRbd(V1RBDVolumeSource rbd){
            _visitables.remove(this.rbd);
            if (rbd!=null){ this.rbd= new V1RBDVolumeSourceBuilder(rbd); _visitables.add(this.rbd);} return (A) this;
    }

    public Boolean hasRbd(){
            return this.rbd != null;
    }

    public V1VolumeFluent.RbdNested withNewRbd(){
            return new RbdNestedImpl();
    }

    public V1VolumeFluent.RbdNested withNewRbdLike(V1RBDVolumeSource item){
            return new RbdNestedImpl(item);
    }

    public V1VolumeFluent.RbdNested editRbd(){
            return withNewRbdLike(getRbd());
    }

    public V1VolumeFluent.RbdNested editOrNewRbd(){
            return withNewRbdLike(getRbd() != null ? getRbd(): new V1RBDVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.RbdNested editOrNewRbdLike(V1RBDVolumeSource item){
            return withNewRbdLike(getRbd() != null ? getRbd(): item);
    }

    
/**
 * This method has been deprecated, please use method buildScaleIO instead.
 */
@Deprecated public V1ScaleIOVolumeSource getScaleIO(){
            return this.scaleIO!=null?this.scaleIO.build():null;
    }

    public V1ScaleIOVolumeSource buildScaleIO(){
            return this.scaleIO!=null?this.scaleIO.build():null;
    }

    public A withScaleIO(V1ScaleIOVolumeSource scaleIO){
            _visitables.remove(this.scaleIO);
            if (scaleIO!=null){ this.scaleIO= new V1ScaleIOVolumeSourceBuilder(scaleIO); _visitables.add(this.scaleIO);} return (A) this;
    }

    public Boolean hasScaleIO(){
            return this.scaleIO != null;
    }

    public V1VolumeFluent.ScaleIONested withNewScaleIO(){
            return new ScaleIONestedImpl();
    }

    public V1VolumeFluent.ScaleIONested withNewScaleIOLike(V1ScaleIOVolumeSource item){
            return new ScaleIONestedImpl(item);
    }

    public V1VolumeFluent.ScaleIONested editScaleIO(){
            return withNewScaleIOLike(getScaleIO());
    }

    public V1VolumeFluent.ScaleIONested editOrNewScaleIO(){
            return withNewScaleIOLike(getScaleIO() != null ? getScaleIO(): new V1ScaleIOVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.ScaleIONested editOrNewScaleIOLike(V1ScaleIOVolumeSource item){
            return withNewScaleIOLike(getScaleIO() != null ? getScaleIO(): item);
    }

    
/**
 * This method has been deprecated, please use method buildSecret instead.
 */
@Deprecated public V1SecretVolumeSource getSecret(){
            return this.secret!=null?this.secret.build():null;
    }

    public V1SecretVolumeSource buildSecret(){
            return this.secret!=null?this.secret.build():null;
    }

    public A withSecret(V1SecretVolumeSource secret){
            _visitables.remove(this.secret);
            if (secret!=null){ this.secret= new V1SecretVolumeSourceBuilder(secret); _visitables.add(this.secret);} return (A) this;
    }

    public Boolean hasSecret(){
            return this.secret != null;
    }

    public V1VolumeFluent.SecretNested withNewSecret(){
            return new SecretNestedImpl();
    }

    public V1VolumeFluent.SecretNested withNewSecretLike(V1SecretVolumeSource item){
            return new SecretNestedImpl(item);
    }

    public V1VolumeFluent.SecretNested editSecret(){
            return withNewSecretLike(getSecret());
    }

    public V1VolumeFluent.SecretNested editOrNewSecret(){
            return withNewSecretLike(getSecret() != null ? getSecret(): new V1SecretVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.SecretNested editOrNewSecretLike(V1SecretVolumeSource item){
            return withNewSecretLike(getSecret() != null ? getSecret(): item);
    }

    
/**
 * This method has been deprecated, please use method buildStorageos instead.
 */
@Deprecated public V1StorageOSVolumeSource getStorageos(){
            return this.storageos!=null?this.storageos.build():null;
    }

    public V1StorageOSVolumeSource buildStorageos(){
            return this.storageos!=null?this.storageos.build():null;
    }

    public A withStorageos(V1StorageOSVolumeSource storageos){
            _visitables.remove(this.storageos);
            if (storageos!=null){ this.storageos= new V1StorageOSVolumeSourceBuilder(storageos); _visitables.add(this.storageos);} return (A) this;
    }

    public Boolean hasStorageos(){
            return this.storageos != null;
    }

    public V1VolumeFluent.StorageosNested withNewStorageos(){
            return new StorageosNestedImpl();
    }

    public V1VolumeFluent.StorageosNested withNewStorageosLike(V1StorageOSVolumeSource item){
            return new StorageosNestedImpl(item);
    }

    public V1VolumeFluent.StorageosNested editStorageos(){
            return withNewStorageosLike(getStorageos());
    }

    public V1VolumeFluent.StorageosNested editOrNewStorageos(){
            return withNewStorageosLike(getStorageos() != null ? getStorageos(): new V1StorageOSVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.StorageosNested editOrNewStorageosLike(V1StorageOSVolumeSource item){
            return withNewStorageosLike(getStorageos() != null ? getStorageos(): item);
    }

    
/**
 * This method has been deprecated, please use method buildVsphereVolume instead.
 */
@Deprecated public V1VsphereVirtualDiskVolumeSource getVsphereVolume(){
            return this.vsphereVolume!=null?this.vsphereVolume.build():null;
    }

    public V1VsphereVirtualDiskVolumeSource buildVsphereVolume(){
            return this.vsphereVolume!=null?this.vsphereVolume.build():null;
    }

    public A withVsphereVolume(V1VsphereVirtualDiskVolumeSource vsphereVolume){
            _visitables.remove(this.vsphereVolume);
            if (vsphereVolume!=null){ this.vsphereVolume= new V1VsphereVirtualDiskVolumeSourceBuilder(vsphereVolume); _visitables.add(this.vsphereVolume);} return (A) this;
    }

    public Boolean hasVsphereVolume(){
            return this.vsphereVolume != null;
    }

    public V1VolumeFluent.VsphereVolumeNested withNewVsphereVolume(){
            return new VsphereVolumeNestedImpl();
    }

    public V1VolumeFluent.VsphereVolumeNested withNewVsphereVolumeLike(V1VsphereVirtualDiskVolumeSource item){
            return new VsphereVolumeNestedImpl(item);
    }

    public V1VolumeFluent.VsphereVolumeNested editVsphereVolume(){
            return withNewVsphereVolumeLike(getVsphereVolume());
    }

    public V1VolumeFluent.VsphereVolumeNested editOrNewVsphereVolume(){
            return withNewVsphereVolumeLike(getVsphereVolume() != null ? getVsphereVolume(): new V1VsphereVirtualDiskVolumeSourceBuilder().build());
    }

    public V1VolumeFluent.VsphereVolumeNested editOrNewVsphereVolumeLike(V1VsphereVirtualDiskVolumeSource item){
            return withNewVsphereVolumeLike(getVsphereVolume() != null ? getVsphereVolume(): item);
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            V1VolumeFluentImpl that = (V1VolumeFluentImpl) o;
            if (awsElasticBlockStore != null ? !awsElasticBlockStore.equals(that.awsElasticBlockStore) :that.awsElasticBlockStore != null) return false;
            if (azureDisk != null ? !azureDisk.equals(that.azureDisk) :that.azureDisk != null) return false;
            if (azureFile != null ? !azureFile.equals(that.azureFile) :that.azureFile != null) return false;
            if (cephfs != null ? !cephfs.equals(that.cephfs) :that.cephfs != null) return false;
            if (cinder != null ? !cinder.equals(that.cinder) :that.cinder != null) return false;
            if (configMap != null ? !configMap.equals(that.configMap) :that.configMap != null) return false;
            if (downwardAPI != null ? !downwardAPI.equals(that.downwardAPI) :that.downwardAPI != null) return false;
            if (emptyDir != null ? !emptyDir.equals(that.emptyDir) :that.emptyDir != null) return false;
            if (fc != null ? !fc.equals(that.fc) :that.fc != null) return false;
            if (flexVolume != null ? !flexVolume.equals(that.flexVolume) :that.flexVolume != null) return false;
            if (flocker != null ? !flocker.equals(that.flocker) :that.flocker != null) return false;
            if (gcePersistentDisk != null ? !gcePersistentDisk.equals(that.gcePersistentDisk) :that.gcePersistentDisk != null) return false;
            if (gitRepo != null ? !gitRepo.equals(that.gitRepo) :that.gitRepo != null) return false;
            if (glusterfs != null ? !glusterfs.equals(that.glusterfs) :that.glusterfs != null) return false;
            if (hostPath != null ? !hostPath.equals(that.hostPath) :that.hostPath != null) return false;
            if (iscsi != null ? !iscsi.equals(that.iscsi) :that.iscsi != null) return false;
            if (name != null ? !name.equals(that.name) :that.name != null) return false;
            if (nfs != null ? !nfs.equals(that.nfs) :that.nfs != null) return false;
            if (persistentVolumeClaim != null ? !persistentVolumeClaim.equals(that.persistentVolumeClaim) :that.persistentVolumeClaim != null) return false;
            if (photonPersistentDisk != null ? !photonPersistentDisk.equals(that.photonPersistentDisk) :that.photonPersistentDisk != null) return false;
            if (portworxVolume != null ? !portworxVolume.equals(that.portworxVolume) :that.portworxVolume != null) return false;
            if (projected != null ? !projected.equals(that.projected) :that.projected != null) return false;
            if (quobyte != null ? !quobyte.equals(that.quobyte) :that.quobyte != null) return false;
            if (rbd != null ? !rbd.equals(that.rbd) :that.rbd != null) return false;
            if (scaleIO != null ? !scaleIO.equals(that.scaleIO) :that.scaleIO != null) return false;
            if (secret != null ? !secret.equals(that.secret) :that.secret != null) return false;
            if (storageos != null ? !storageos.equals(that.storageos) :that.storageos != null) return false;
            if (vsphereVolume != null ? !vsphereVolume.equals(that.vsphereVolume) :that.vsphereVolume != null) return false;
            return true;
    }


    public class AwsElasticBlockStoreNestedImpl extends V1AWSElasticBlockStoreVolumeSourceFluentImpl> implements V1VolumeFluent.AwsElasticBlockStoreNested,io.kubernetes.client.fluent.Nested{

            private final V1AWSElasticBlockStoreVolumeSourceBuilder builder;
    
            AwsElasticBlockStoreNestedImpl(V1AWSElasticBlockStoreVolumeSource item){
                    this.builder = new V1AWSElasticBlockStoreVolumeSourceBuilder(this, item);
            }
            AwsElasticBlockStoreNestedImpl(){
                    this.builder = new V1AWSElasticBlockStoreVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withAwsElasticBlockStore(builder.build());
    }
    public N endAwsElasticBlockStore(){
            return and();
    }

}
    public class AzureDiskNestedImpl extends V1AzureDiskVolumeSourceFluentImpl> implements V1VolumeFluent.AzureDiskNested,io.kubernetes.client.fluent.Nested{

            private final V1AzureDiskVolumeSourceBuilder builder;
    
            AzureDiskNestedImpl(V1AzureDiskVolumeSource item){
                    this.builder = new V1AzureDiskVolumeSourceBuilder(this, item);
            }
            AzureDiskNestedImpl(){
                    this.builder = new V1AzureDiskVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withAzureDisk(builder.build());
    }
    public N endAzureDisk(){
            return and();
    }

}
    public class AzureFileNestedImpl extends V1AzureFileVolumeSourceFluentImpl> implements V1VolumeFluent.AzureFileNested,io.kubernetes.client.fluent.Nested{

            private final V1AzureFileVolumeSourceBuilder builder;
    
            AzureFileNestedImpl(V1AzureFileVolumeSource item){
                    this.builder = new V1AzureFileVolumeSourceBuilder(this, item);
            }
            AzureFileNestedImpl(){
                    this.builder = new V1AzureFileVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withAzureFile(builder.build());
    }
    public N endAzureFile(){
            return and();
    }

}
    public class CephfsNestedImpl extends V1CephFSVolumeSourceFluentImpl> implements V1VolumeFluent.CephfsNested,io.kubernetes.client.fluent.Nested{

            private final V1CephFSVolumeSourceBuilder builder;
    
            CephfsNestedImpl(V1CephFSVolumeSource item){
                    this.builder = new V1CephFSVolumeSourceBuilder(this, item);
            }
            CephfsNestedImpl(){
                    this.builder = new V1CephFSVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withCephfs(builder.build());
    }
    public N endCephfs(){
            return and();
    }

}
    public class CinderNestedImpl extends V1CinderVolumeSourceFluentImpl> implements V1VolumeFluent.CinderNested,io.kubernetes.client.fluent.Nested{

            private final V1CinderVolumeSourceBuilder builder;
    
            CinderNestedImpl(V1CinderVolumeSource item){
                    this.builder = new V1CinderVolumeSourceBuilder(this, item);
            }
            CinderNestedImpl(){
                    this.builder = new V1CinderVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withCinder(builder.build());
    }
    public N endCinder(){
            return and();
    }

}
    public class ConfigMapNestedImpl extends V1ConfigMapVolumeSourceFluentImpl> implements V1VolumeFluent.ConfigMapNested,io.kubernetes.client.fluent.Nested{

            private final V1ConfigMapVolumeSourceBuilder builder;
    
            ConfigMapNestedImpl(V1ConfigMapVolumeSource item){
                    this.builder = new V1ConfigMapVolumeSourceBuilder(this, item);
            }
            ConfigMapNestedImpl(){
                    this.builder = new V1ConfigMapVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withConfigMap(builder.build());
    }
    public N endConfigMap(){
            return and();
    }

}
    public class DownwardAPINestedImpl extends V1DownwardAPIVolumeSourceFluentImpl> implements V1VolumeFluent.DownwardAPINested,io.kubernetes.client.fluent.Nested{

            private final V1DownwardAPIVolumeSourceBuilder builder;
    
            DownwardAPINestedImpl(V1DownwardAPIVolumeSource item){
                    this.builder = new V1DownwardAPIVolumeSourceBuilder(this, item);
            }
            DownwardAPINestedImpl(){
                    this.builder = new V1DownwardAPIVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withDownwardAPI(builder.build());
    }
    public N endDownwardAPI(){
            return and();
    }

}
    public class EmptyDirNestedImpl extends V1EmptyDirVolumeSourceFluentImpl> implements V1VolumeFluent.EmptyDirNested,io.kubernetes.client.fluent.Nested{

            private final V1EmptyDirVolumeSourceBuilder builder;
    
            EmptyDirNestedImpl(V1EmptyDirVolumeSource item){
                    this.builder = new V1EmptyDirVolumeSourceBuilder(this, item);
            }
            EmptyDirNestedImpl(){
                    this.builder = new V1EmptyDirVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withEmptyDir(builder.build());
    }
    public N endEmptyDir(){
            return and();
    }

}
    public class FcNestedImpl extends V1FCVolumeSourceFluentImpl> implements V1VolumeFluent.FcNested,io.kubernetes.client.fluent.Nested{

            private final V1FCVolumeSourceBuilder builder;
    
            FcNestedImpl(V1FCVolumeSource item){
                    this.builder = new V1FCVolumeSourceBuilder(this, item);
            }
            FcNestedImpl(){
                    this.builder = new V1FCVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withFc(builder.build());
    }
    public N endFc(){
            return and();
    }

}
    public class FlexVolumeNestedImpl extends V1FlexVolumeSourceFluentImpl> implements V1VolumeFluent.FlexVolumeNested,io.kubernetes.client.fluent.Nested{

            private final V1FlexVolumeSourceBuilder builder;
    
            FlexVolumeNestedImpl(V1FlexVolumeSource item){
                    this.builder = new V1FlexVolumeSourceBuilder(this, item);
            }
            FlexVolumeNestedImpl(){
                    this.builder = new V1FlexVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withFlexVolume(builder.build());
    }
    public N endFlexVolume(){
            return and();
    }

}
    public class FlockerNestedImpl extends V1FlockerVolumeSourceFluentImpl> implements V1VolumeFluent.FlockerNested,io.kubernetes.client.fluent.Nested{

            private final V1FlockerVolumeSourceBuilder builder;
    
            FlockerNestedImpl(V1FlockerVolumeSource item){
                    this.builder = new V1FlockerVolumeSourceBuilder(this, item);
            }
            FlockerNestedImpl(){
                    this.builder = new V1FlockerVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withFlocker(builder.build());
    }
    public N endFlocker(){
            return and();
    }

}
    public class GcePersistentDiskNestedImpl extends V1GCEPersistentDiskVolumeSourceFluentImpl> implements V1VolumeFluent.GcePersistentDiskNested,io.kubernetes.client.fluent.Nested{

            private final V1GCEPersistentDiskVolumeSourceBuilder builder;
    
            GcePersistentDiskNestedImpl(V1GCEPersistentDiskVolumeSource item){
                    this.builder = new V1GCEPersistentDiskVolumeSourceBuilder(this, item);
            }
            GcePersistentDiskNestedImpl(){
                    this.builder = new V1GCEPersistentDiskVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withGcePersistentDisk(builder.build());
    }
    public N endGcePersistentDisk(){
            return and();
    }

}
    public class GitRepoNestedImpl extends V1GitRepoVolumeSourceFluentImpl> implements V1VolumeFluent.GitRepoNested,io.kubernetes.client.fluent.Nested{

            private final V1GitRepoVolumeSourceBuilder builder;
    
            GitRepoNestedImpl(V1GitRepoVolumeSource item){
                    this.builder = new V1GitRepoVolumeSourceBuilder(this, item);
            }
            GitRepoNestedImpl(){
                    this.builder = new V1GitRepoVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withGitRepo(builder.build());
    }
    public N endGitRepo(){
            return and();
    }

}
    public class GlusterfsNestedImpl extends V1GlusterfsVolumeSourceFluentImpl> implements V1VolumeFluent.GlusterfsNested,io.kubernetes.client.fluent.Nested{

            private final V1GlusterfsVolumeSourceBuilder builder;
    
            GlusterfsNestedImpl(V1GlusterfsVolumeSource item){
                    this.builder = new V1GlusterfsVolumeSourceBuilder(this, item);
            }
            GlusterfsNestedImpl(){
                    this.builder = new V1GlusterfsVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withGlusterfs(builder.build());
    }
    public N endGlusterfs(){
            return and();
    }

}
    public class HostPathNestedImpl extends V1HostPathVolumeSourceFluentImpl> implements V1VolumeFluent.HostPathNested,io.kubernetes.client.fluent.Nested{

            private final V1HostPathVolumeSourceBuilder builder;
    
            HostPathNestedImpl(V1HostPathVolumeSource item){
                    this.builder = new V1HostPathVolumeSourceBuilder(this, item);
            }
            HostPathNestedImpl(){
                    this.builder = new V1HostPathVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withHostPath(builder.build());
    }
    public N endHostPath(){
            return and();
    }

}
    public class IscsiNestedImpl extends V1ISCSIVolumeSourceFluentImpl> implements V1VolumeFluent.IscsiNested,io.kubernetes.client.fluent.Nested{

            private final V1ISCSIVolumeSourceBuilder builder;
    
            IscsiNestedImpl(V1ISCSIVolumeSource item){
                    this.builder = new V1ISCSIVolumeSourceBuilder(this, item);
            }
            IscsiNestedImpl(){
                    this.builder = new V1ISCSIVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withIscsi(builder.build());
    }
    public N endIscsi(){
            return and();
    }

}
    public class NfsNestedImpl extends V1NFSVolumeSourceFluentImpl> implements V1VolumeFluent.NfsNested,io.kubernetes.client.fluent.Nested{

            private final V1NFSVolumeSourceBuilder builder;
    
            NfsNestedImpl(V1NFSVolumeSource item){
                    this.builder = new V1NFSVolumeSourceBuilder(this, item);
            }
            NfsNestedImpl(){
                    this.builder = new V1NFSVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withNfs(builder.build());
    }
    public N endNfs(){
            return and();
    }

}
    public class PersistentVolumeClaimNestedImpl extends V1PersistentVolumeClaimVolumeSourceFluentImpl> implements V1VolumeFluent.PersistentVolumeClaimNested,io.kubernetes.client.fluent.Nested{

            private final V1PersistentVolumeClaimVolumeSourceBuilder builder;
    
            PersistentVolumeClaimNestedImpl(V1PersistentVolumeClaimVolumeSource item){
                    this.builder = new V1PersistentVolumeClaimVolumeSourceBuilder(this, item);
            }
            PersistentVolumeClaimNestedImpl(){
                    this.builder = new V1PersistentVolumeClaimVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withPersistentVolumeClaim(builder.build());
    }
    public N endPersistentVolumeClaim(){
            return and();
    }

}
    public class PhotonPersistentDiskNestedImpl extends V1PhotonPersistentDiskVolumeSourceFluentImpl> implements V1VolumeFluent.PhotonPersistentDiskNested,io.kubernetes.client.fluent.Nested{

            private final V1PhotonPersistentDiskVolumeSourceBuilder builder;
    
            PhotonPersistentDiskNestedImpl(V1PhotonPersistentDiskVolumeSource item){
                    this.builder = new V1PhotonPersistentDiskVolumeSourceBuilder(this, item);
            }
            PhotonPersistentDiskNestedImpl(){
                    this.builder = new V1PhotonPersistentDiskVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withPhotonPersistentDisk(builder.build());
    }
    public N endPhotonPersistentDisk(){
            return and();
    }

}
    public class PortworxVolumeNestedImpl extends V1PortworxVolumeSourceFluentImpl> implements V1VolumeFluent.PortworxVolumeNested,io.kubernetes.client.fluent.Nested{

            private final V1PortworxVolumeSourceBuilder builder;
    
            PortworxVolumeNestedImpl(V1PortworxVolumeSource item){
                    this.builder = new V1PortworxVolumeSourceBuilder(this, item);
            }
            PortworxVolumeNestedImpl(){
                    this.builder = new V1PortworxVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withPortworxVolume(builder.build());
    }
    public N endPortworxVolume(){
            return and();
    }

}
    public class ProjectedNestedImpl extends V1ProjectedVolumeSourceFluentImpl> implements V1VolumeFluent.ProjectedNested,io.kubernetes.client.fluent.Nested{

            private final V1ProjectedVolumeSourceBuilder builder;
    
            ProjectedNestedImpl(V1ProjectedVolumeSource item){
                    this.builder = new V1ProjectedVolumeSourceBuilder(this, item);
            }
            ProjectedNestedImpl(){
                    this.builder = new V1ProjectedVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withProjected(builder.build());
    }
    public N endProjected(){
            return and();
    }

}
    public class QuobyteNestedImpl extends V1QuobyteVolumeSourceFluentImpl> implements V1VolumeFluent.QuobyteNested,io.kubernetes.client.fluent.Nested{

            private final V1QuobyteVolumeSourceBuilder builder;
    
            QuobyteNestedImpl(V1QuobyteVolumeSource item){
                    this.builder = new V1QuobyteVolumeSourceBuilder(this, item);
            }
            QuobyteNestedImpl(){
                    this.builder = new V1QuobyteVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withQuobyte(builder.build());
    }
    public N endQuobyte(){
            return and();
    }

}
    public class RbdNestedImpl extends V1RBDVolumeSourceFluentImpl> implements V1VolumeFluent.RbdNested,io.kubernetes.client.fluent.Nested{

            private final V1RBDVolumeSourceBuilder builder;
    
            RbdNestedImpl(V1RBDVolumeSource item){
                    this.builder = new V1RBDVolumeSourceBuilder(this, item);
            }
            RbdNestedImpl(){
                    this.builder = new V1RBDVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withRbd(builder.build());
    }
    public N endRbd(){
            return and();
    }

}
    public class ScaleIONestedImpl extends V1ScaleIOVolumeSourceFluentImpl> implements V1VolumeFluent.ScaleIONested,io.kubernetes.client.fluent.Nested{

            private final V1ScaleIOVolumeSourceBuilder builder;
    
            ScaleIONestedImpl(V1ScaleIOVolumeSource item){
                    this.builder = new V1ScaleIOVolumeSourceBuilder(this, item);
            }
            ScaleIONestedImpl(){
                    this.builder = new V1ScaleIOVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withScaleIO(builder.build());
    }
    public N endScaleIO(){
            return and();
    }

}
    public class SecretNestedImpl extends V1SecretVolumeSourceFluentImpl> implements V1VolumeFluent.SecretNested,io.kubernetes.client.fluent.Nested{

            private final V1SecretVolumeSourceBuilder builder;
    
            SecretNestedImpl(V1SecretVolumeSource item){
                    this.builder = new V1SecretVolumeSourceBuilder(this, item);
            }
            SecretNestedImpl(){
                    this.builder = new V1SecretVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withSecret(builder.build());
    }
    public N endSecret(){
            return and();
    }

}
    public class StorageosNestedImpl extends V1StorageOSVolumeSourceFluentImpl> implements V1VolumeFluent.StorageosNested,io.kubernetes.client.fluent.Nested{

            private final V1StorageOSVolumeSourceBuilder builder;
    
            StorageosNestedImpl(V1StorageOSVolumeSource item){
                    this.builder = new V1StorageOSVolumeSourceBuilder(this, item);
            }
            StorageosNestedImpl(){
                    this.builder = new V1StorageOSVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withStorageos(builder.build());
    }
    public N endStorageos(){
            return and();
    }

}
    public class VsphereVolumeNestedImpl extends V1VsphereVirtualDiskVolumeSourceFluentImpl> implements V1VolumeFluent.VsphereVolumeNested,io.kubernetes.client.fluent.Nested{

            private final V1VsphereVirtualDiskVolumeSourceBuilder builder;
    
            VsphereVolumeNestedImpl(V1VsphereVirtualDiskVolumeSource item){
                    this.builder = new V1VsphereVirtualDiskVolumeSourceBuilder(this, item);
            }
            VsphereVolumeNestedImpl(){
                    this.builder = new V1VsphereVirtualDiskVolumeSourceBuilder(this);
            }
    
    public N and(){
            return (N) V1VolumeFluentImpl.this.withVsphereVolume(builder.build());
    }
    public N endVsphereVolume(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy