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

io.alauda.devops.api.model.ImageFluentImpl Maven / Gradle / Ivy

There is a newer version: 0.2.12
Show newest version
package io.alauda.devops.api.model;

import io.alauda.kubernetes.api.model.Node;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.ArrayList;
import java.lang.String;
import io.alauda.kubernetes.api.model.NodeBuilder;
import io.alauda.kubernetes.api.model.SecretBuilder;
import io.alauda.kubernetes.api.model.ReplicationController;
import io.alauda.kubernetes.api.model.PipelineTemplateTaskInstanceFluentImpl;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinitionFluentImpl;
import io.alauda.kubernetes.api.model.PodTemplateFluentImpl;
import io.alauda.kubernetes.api.model.HasMetadata;
import io.alauda.kubernetes.api.model.Pod;
import io.alauda.kubernetes.api.model.PodBuilder;
import io.alauda.kubernetes.api.model.ObjectMetaBuilder;
import io.alauda.kubernetes.api.model.PipelineConfigTemplate;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicyBuilder;
import io.alauda.kubernetes.api.model.Project;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder;
import io.alauda.kubernetes.api.model.ReplicationControllerFluentImpl;
import io.alauda.kubernetes.api.model.JenkinsBuilder;
import io.alauda.kubernetes.api.model.StorageClassBuilder;
import io.alauda.kubernetes.api.model.EndpointsBuilder;
import io.alauda.kubernetes.api.model.NamespaceBuilder;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReview;
import io.alauda.kubernetes.api.model.extensions.StatefulSetBuilder;
import io.alauda.kubernetes.api.model.JenkinsBindingBuilder;
import java.lang.Deprecated;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicy;
import io.alauda.kubernetes.api.model.PodFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ReplicaSet;
import io.alauda.kubernetes.api.model.ObjectMeta;
import io.alauda.kubernetes.api.model.StorageClass;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewFluentImpl;
import io.alauda.kubernetes.api.model.PipelineConfigTemplateBuilder;
import io.alauda.kubernetes.api.model.EventBuilder;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder;
import io.alauda.kubernetes.api.model.ConfigMapFluentImpl;
import io.alauda.kubernetes.api.model.Event;
import io.alauda.kubernetes.api.model.authentication.TokenReviewFluentImpl;
import io.alauda.kubernetes.api.model.extensions.IngressFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ScaleFluentImpl;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudgetFluentImpl;
import io.alauda.kubernetes.api.model.PodTemplateBuilder;
import io.alauda.kubernetes.api.model.extensions.Deployment;
import io.alauda.kubernetes.api.model.PipelineTemplateTaskInstanceBuilder;
import io.alauda.kubernetes.api.builder.Predicate;
import java.util.List;
import io.alauda.kubernetes.api.model.PodTemplate;
import io.alauda.kubernetes.api.model.Binding;
import io.alauda.kubernetes.api.model.LimitRangeBuilder;
import io.alauda.kubernetes.api.model.PersistentVolumeClaimBuilder;
import io.alauda.kubernetes.api.model.PersistentVolumeClaimFluentImpl;
import io.alauda.kubernetes.api.model.PipelineConfigTemplateFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResourceFluentImpl;
import io.alauda.kubernetes.api.model.ProjectBuilder;
import java.lang.Long;
import io.alauda.kubernetes.api.model.JobFluentImpl;
import io.alauda.kubernetes.api.model.PersistentVolumeClaim;
import io.alauda.kubernetes.api.model.extensions.DaemonSet;
import io.alauda.kubernetes.api.model.ProjectFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ReplicaSetFluentImpl;
import javax.validation.constraints.NotNull;
import io.alauda.kubernetes.api.model.PipelineFluentImpl;
import io.alauda.kubernetes.api.model.SecretFluentImpl;
import io.alauda.kubernetes.api.model.StorageClassFluentImpl;
import io.alauda.kubernetes.api.model.PipelineConfig;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicyFluentImpl;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview;
import io.alauda.kubernetes.api.model.extensions.IngressBuilder;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.alauda.kubernetes.api.model.PipelineConfigFluentImpl;
import io.alauda.kubernetes.api.model.validators.CheckObjectMeta;
import io.alauda.kubernetes.api.model.EndpointsFluentImpl;
import io.alauda.kubernetes.api.model.ServiceAccountFluentImpl;
import io.alauda.kubernetes.api.builder.BaseFluent;
import io.alauda.kubernetes.api.model.HorizontalPodAutoscalerFluentImpl;
import java.lang.Boolean;
import io.alauda.kubernetes.api.model.JenkinsBinding;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicy;
import io.alauda.kubernetes.api.model.JobBuilder;
import io.alauda.kubernetes.api.model.PipelineTemplateTaskInstance;
import io.alauda.kubernetes.api.model.BindingFluentImpl;
import io.alauda.kubernetes.api.model.extensions.DaemonSetFluentImpl;
import io.alauda.kubernetes.api.model.Namespace;
import javax.validation.Valid;
import io.alauda.kubernetes.api.model.CronJob;
import io.alauda.kubernetes.api.model.ComponentStatus;
import java.lang.Object;
import io.alauda.kubernetes.api.model.extensions.DeploymentBuilder;
import io.alauda.kubernetes.api.model.ServiceAccount;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResource;
import io.alauda.kubernetes.api.model.ComponentStatusFluentImpl;
import io.alauda.kubernetes.api.model.LimitRangeFluentImpl;
import io.alauda.kubernetes.api.model.authentication.TokenReviewBuilder;
import io.alauda.kubernetes.api.model.PipelineConfigBuilder;
import io.alauda.kubernetes.api.model.authentication.TokenReview;
import io.alauda.kubernetes.api.model.ObjectMetaFluentImpl;
import io.alauda.kubernetes.api.model.Pipeline;
import io.alauda.kubernetes.api.model.PersistentVolume;
import io.alauda.kubernetes.api.model.PersistentVolumeBuilder;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder;
import io.alauda.kubernetes.api.builder.VisitableBuilder;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewFluentImpl;
import io.alauda.kubernetes.api.model.EventFluentImpl;
import io.alauda.kubernetes.api.model.extensions.DeploymentFluentImpl;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudgetBuilder;
import io.alauda.kubernetes.api.model.ConfigMapBuilder;
import io.alauda.kubernetes.api.model.Job;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResourceBuilder;
import io.alauda.kubernetes.api.model.extensions.ScaleBuilder;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicyFluentImpl;
import io.alauda.kubernetes.api.model.ReplicationControllerBuilder;
import io.alauda.kubernetes.api.model.ResourceQuotaBuilder;
import io.alauda.kubernetes.api.model.ServiceAccountBuilder;
import io.alauda.kubernetes.api.model.extensions.Ingress;
import io.alauda.kubernetes.api.model.CronJobBuilder;
import io.alauda.kubernetes.api.model.ResourceQuotaFluentImpl;
import io.alauda.kubernetes.api.model.Jenkins;
import io.alauda.kubernetes.api.model.Secret;
import io.alauda.kubernetes.api.model.LimitRange;
import io.alauda.kubernetes.api.model.HorizontalPodAutoscaler;
import java.util.Collection;
import io.alauda.kubernetes.api.model.extensions.StatefulSet;
import io.alauda.kubernetes.api.model.PipelineBuilder;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudget;
import io.alauda.kubernetes.api.model.BindingBuilder;
import io.alauda.kubernetes.api.model.ComponentStatusBuilder;
import io.alauda.kubernetes.api.builder.Nested;
import io.alauda.kubernetes.api.model.HorizontalPodAutoscalerBuilder;
import io.alauda.kubernetes.api.model.JenkinsFluentImpl;
import io.alauda.kubernetes.api.model.ServiceBuilder;
import io.alauda.kubernetes.api.model.Endpoints;
import io.alauda.kubernetes.api.model.extensions.DaemonSetBuilder;
import io.alauda.kubernetes.api.model.CronJobFluentImpl;
import io.alauda.kubernetes.api.model.ResourceQuota;
import io.alauda.kubernetes.api.model.JenkinsBindingFluentImpl;
import io.alauda.kubernetes.api.model.NamespaceFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ReplicaSetBuilder;
import io.alauda.kubernetes.api.model.extensions.StatefulSetFluentImpl;
import io.alauda.kubernetes.api.model.ConfigMap;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinition;
import io.alauda.kubernetes.api.model.Service;
import io.alauda.kubernetes.api.model.extensions.Scale;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicyBuilder;
import io.alauda.kubernetes.api.model.NodeFluentImpl;
import io.alauda.kubernetes.api.model.PersistentVolumeFluentImpl;
import io.alauda.kubernetes.api.model.ServiceFluentImpl;

public class ImageFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements ImageFluent{

    private String apiVersion;
    private String dockerImageConfig;
    private List dockerImageLayers =  new ArrayList();
    private String dockerImageManifest;
    private String dockerImageManifestMediaType;
    private VisitableBuilder dockerImageMetadata;
    private String dockerImageMetadataVersion;
    private String dockerImageReference;
    private List dockerImageSignatures = new ArrayList();
    private String kind;
    private ObjectMetaBuilder metadata;
    private List signatures =  new ArrayList();

    public ImageFluentImpl(){
    }
    public ImageFluentImpl(Image instance){
            this.withApiVersion(instance.getApiVersion()); 
            this.withDockerImageConfig(instance.getDockerImageConfig()); 
            this.withDockerImageLayers(instance.getDockerImageLayers()); 
            this.withDockerImageManifest(instance.getDockerImageManifest()); 
            this.withDockerImageManifestMediaType(instance.getDockerImageManifestMediaType()); 
            this.withDockerImageMetadata(instance.getDockerImageMetadata()); 
            this.withDockerImageMetadataVersion(instance.getDockerImageMetadataVersion()); 
            this.withDockerImageReference(instance.getDockerImageReference()); 
            this.withDockerImageSignatures(instance.getDockerImageSignatures()); 
            this.withKind(instance.getKind()); 
            this.withMetadata(instance.getMetadata()); 
            this.withSignatures(instance.getSignatures()); 
    }

    public String getApiVersion(){
            return this.apiVersion;
    }

    public A withApiVersion(String apiVersion){
            this.apiVersion=apiVersion; return (A) this;
    }

    public Boolean hasApiVersion(){
            return this.apiVersion!=null;
    }

    public String getDockerImageConfig(){
            return this.dockerImageConfig;
    }

    public A withDockerImageConfig(String dockerImageConfig){
            this.dockerImageConfig=dockerImageConfig; return (A) this;
    }

    public Boolean hasDockerImageConfig(){
            return this.dockerImageConfig!=null;
    }

    public A addToDockerImageLayers(int index,ImageLayer item){
            ImageLayerBuilder builder = new ImageLayerBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.dockerImageLayers.add(index >= 0 ? index : dockerImageLayers.size(), builder); return (A)this;
    }

    public A setToDockerImageLayers(int index,ImageLayer item){
            ImageLayerBuilder builder = new ImageLayerBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= dockerImageLayers.size()) { dockerImageLayers.add(builder); } else { dockerImageLayers.set(index, builder);}
             return (A)this;
    }

    public A addToDockerImageLayers(ImageLayer... items){
            for (ImageLayer item : items) {ImageLayerBuilder builder = new ImageLayerBuilder(item);_visitables.add(builder);this.dockerImageLayers.add(builder);} return (A)this;
    }

    public A addAllToDockerImageLayers(Collection items){
            for (ImageLayer item : items) {ImageLayerBuilder builder = new ImageLayerBuilder(item);_visitables.add(builder);this.dockerImageLayers.add(builder);} return (A)this;
    }

    public A removeFromDockerImageLayers(ImageLayer... items){
            for (ImageLayer item : items) {ImageLayerBuilder builder = new ImageLayerBuilder(item);_visitables.remove(builder);this.dockerImageLayers.remove(builder);} return (A)this;
    }

    public A removeAllFromDockerImageLayers(Collection items){
            for (ImageLayer item : items) {ImageLayerBuilder builder = new ImageLayerBuilder(item);_visitables.remove(builder);this.dockerImageLayers.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildDockerImageLayers instead.
 */
@Deprecated public List getDockerImageLayers(){
            return build(dockerImageLayers);
    }

    public List buildDockerImageLayers(){
            return build(dockerImageLayers);
    }

    public ImageLayer buildDockerImageLayer(int index){
            return this.dockerImageLayers.get(index).build();
    }

    public ImageLayer buildFirstDockerImageLayer(){
            return this.dockerImageLayers.get(0).build();
    }

    public ImageLayer buildLastDockerImageLayer(){
            return this.dockerImageLayers.get(dockerImageLayers.size() - 1).build();
    }

    public ImageLayer buildMatchingDockerImageLayer(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (ImageLayerBuilder item: dockerImageLayers) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withDockerImageLayers(List dockerImageLayers){
            _visitables.removeAll(this.dockerImageLayers);
            this.dockerImageLayers.clear();
            if (dockerImageLayers != null) {for (ImageLayer item : dockerImageLayers){this.addToDockerImageLayers(item);}} return (A) this;
    }

    public A withDockerImageLayers(ImageLayer... dockerImageLayers){
            this.dockerImageLayers.clear(); if (dockerImageLayers != null) {for (ImageLayer item :dockerImageLayers){ this.addToDockerImageLayers(item);}} return (A) this;
    }

    public Boolean hasDockerImageLayers(){
            return dockerImageLayers!= null && !dockerImageLayers.isEmpty();
    }

    public ImageFluent.DockerImageLayersNested addNewDockerImageLayer(){
            return new DockerImageLayersNestedImpl();
    }

    public ImageFluent.DockerImageLayersNested addNewDockerImageLayerLike(ImageLayer item){
            return new DockerImageLayersNestedImpl(-1, item);
    }

    public ImageFluent.DockerImageLayersNested setNewDockerImageLayerLike(int index,ImageLayer item){
            return new DockerImageLayersNestedImpl(index, item);
    }

    public ImageFluent.DockerImageLayersNested editDockerImageLayer(int index){
            if (dockerImageLayers.size() <= index) throw new RuntimeException("Can't edit dockerImageLayers. Index exceeds size.");
            return setNewDockerImageLayerLike(index, buildDockerImageLayer(index));
    }

    public ImageFluent.DockerImageLayersNested editFirstDockerImageLayer(){
            if (dockerImageLayers.size() == 0) throw new RuntimeException("Can't edit first dockerImageLayers. The list is empty.");
            return setNewDockerImageLayerLike(0, buildDockerImageLayer(0));
    }

    public ImageFluent.DockerImageLayersNested editLastDockerImageLayer(){
            int index = dockerImageLayers.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last dockerImageLayers. The list is empty.");
            return setNewDockerImageLayerLike(index, buildDockerImageLayer(index));
    }

    public ImageFluent.DockerImageLayersNested editMatchingDockerImageLayer(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewIngressDockerImageMetadata(){
            return new IngressDockerImageMetadataNestedImpl();
    }

    public ImageFluent.IngressDockerImageMetadataNested withNewIngressDockerImageMetadataLike(Ingress item){
            return new IngressDockerImageMetadataNestedImpl(item);
    }

    public A withRouteDockerImageMetadata(Route routeDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (routeDockerImageMetadata!=null){ this.dockerImageMetadata= new RouteBuilder(routeDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.RouteDockerImageMetadataNested withNewRouteDockerImageMetadata(){
            return new RouteDockerImageMetadataNestedImpl();
    }

    public ImageFluent.RouteDockerImageMetadataNested withNewRouteDockerImageMetadataLike(Route item){
            return new RouteDockerImageMetadataNestedImpl(item);
    }

    public A withPolicyBindingDockerImageMetadata(PolicyBinding policyBindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (policyBindingDockerImageMetadata!=null){ this.dockerImageMetadata= new PolicyBindingBuilder(policyBindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PolicyBindingDockerImageMetadataNested withNewPolicyBindingDockerImageMetadata(){
            return new PolicyBindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PolicyBindingDockerImageMetadataNested withNewPolicyBindingDockerImageMetadataLike(PolicyBinding item){
            return new PolicyBindingDockerImageMetadataNestedImpl(item);
    }

    public A withResourceQuotaDockerImageMetadata(ResourceQuota resourceQuotaDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (resourceQuotaDockerImageMetadata!=null){ this.dockerImageMetadata= new ResourceQuotaBuilder(resourceQuotaDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ResourceQuotaDockerImageMetadataNested withNewResourceQuotaDockerImageMetadata(){
            return new ResourceQuotaDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ResourceQuotaDockerImageMetadataNested withNewResourceQuotaDockerImageMetadataLike(ResourceQuota item){
            return new ResourceQuotaDockerImageMetadataNestedImpl(item);
    }

    public A withServiceAccountDockerImageMetadata(ServiceAccount serviceAccountDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (serviceAccountDockerImageMetadata!=null){ this.dockerImageMetadata= new ServiceAccountBuilder(serviceAccountDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ServiceAccountDockerImageMetadataNested withNewServiceAccountDockerImageMetadata(){
            return new ServiceAccountDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ServiceAccountDockerImageMetadataNested withNewServiceAccountDockerImageMetadataLike(ServiceAccount item){
            return new ServiceAccountDockerImageMetadataNestedImpl(item);
    }

    public A withConfigMapDockerImageMetadata(ConfigMap configMapDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (configMapDockerImageMetadata!=null){ this.dockerImageMetadata= new ConfigMapBuilder(configMapDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ConfigMapDockerImageMetadataNested withNewConfigMapDockerImageMetadata(){
            return new ConfigMapDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ConfigMapDockerImageMetadataNested withNewConfigMapDockerImageMetadataLike(ConfigMap item){
            return new ConfigMapDockerImageMetadataNestedImpl(item);
    }

    public A withOAuthClientAuthorizationDockerImageMetadata(OAuthClientAuthorization oAuthClientAuthorizationDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (oAuthClientAuthorizationDockerImageMetadata!=null){ this.dockerImageMetadata= new OAuthClientAuthorizationBuilder(oAuthClientAuthorizationDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.OAuthClientAuthorizationDockerImageMetadataNested withNewOAuthClientAuthorizationDockerImageMetadata(){
            return new OAuthClientAuthorizationDockerImageMetadataNestedImpl();
    }

    public ImageFluent.OAuthClientAuthorizationDockerImageMetadataNested withNewOAuthClientAuthorizationDockerImageMetadataLike(OAuthClientAuthorization item){
            return new OAuthClientAuthorizationDockerImageMetadataNestedImpl(item);
    }

    public A withPolicyDockerImageMetadata(Policy policyDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (policyDockerImageMetadata!=null){ this.dockerImageMetadata= new PolicyBuilder(policyDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PolicyDockerImageMetadataNested withNewPolicyDockerImageMetadata(){
            return new PolicyDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PolicyDockerImageMetadataNested withNewPolicyDockerImageMetadataLike(Policy item){
            return new PolicyDockerImageMetadataNestedImpl(item);
    }

    public A withOAuthAuthorizeTokenDockerImageMetadata(OAuthAuthorizeToken oAuthAuthorizeTokenDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (oAuthAuthorizeTokenDockerImageMetadata!=null){ this.dockerImageMetadata= new OAuthAuthorizeTokenBuilder(oAuthAuthorizeTokenDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.OAuthAuthorizeTokenDockerImageMetadataNested withNewOAuthAuthorizeTokenDockerImageMetadata(){
            return new OAuthAuthorizeTokenDockerImageMetadataNestedImpl();
    }

    public ImageFluent.OAuthAuthorizeTokenDockerImageMetadataNested withNewOAuthAuthorizeTokenDockerImageMetadataLike(OAuthAuthorizeToken item){
            return new OAuthAuthorizeTokenDockerImageMetadataNestedImpl(item);
    }

    public A withJenkinsBindingDockerImageMetadata(JenkinsBinding jenkinsBindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (jenkinsBindingDockerImageMetadata!=null){ this.dockerImageMetadata= new JenkinsBindingBuilder(jenkinsBindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.JenkinsBindingDockerImageMetadataNested withNewJenkinsBindingDockerImageMetadata(){
            return new JenkinsBindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.JenkinsBindingDockerImageMetadataNested withNewJenkinsBindingDockerImageMetadataLike(JenkinsBinding item){
            return new JenkinsBindingDockerImageMetadataNestedImpl(item);
    }

    public A withIdentityDockerImageMetadata(Identity identityDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (identityDockerImageMetadata!=null){ this.dockerImageMetadata= new IdentityBuilder(identityDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.IdentityDockerImageMetadataNested withNewIdentityDockerImageMetadata(){
            return new IdentityDockerImageMetadataNestedImpl();
    }

    public ImageFluent.IdentityDockerImageMetadataNested withNewIdentityDockerImageMetadataLike(Identity item){
            return new IdentityDockerImageMetadataNestedImpl(item);
    }

    public A withPodTemplateDockerImageMetadata(PodTemplate podTemplateDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (podTemplateDockerImageMetadata!=null){ this.dockerImageMetadata= new PodTemplateBuilder(podTemplateDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PodTemplateDockerImageMetadataNested withNewPodTemplateDockerImageMetadata(){
            return new PodTemplateDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PodTemplateDockerImageMetadataNested withNewPodTemplateDockerImageMetadataLike(PodTemplate item){
            return new PodTemplateDockerImageMetadataNestedImpl(item);
    }

    public A withTokenReviewDockerImageMetadata(TokenReview tokenReviewDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (tokenReviewDockerImageMetadata!=null){ this.dockerImageMetadata= new TokenReviewBuilder(tokenReviewDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.TokenReviewDockerImageMetadataNested withNewTokenReviewDockerImageMetadata(){
            return new TokenReviewDockerImageMetadataNestedImpl();
    }

    public ImageFluent.TokenReviewDockerImageMetadataNested withNewTokenReviewDockerImageMetadataLike(TokenReview item){
            return new TokenReviewDockerImageMetadataNestedImpl(item);
    }

    public A withCustomResourceDefinitionDockerImageMetadata(CustomResourceDefinition customResourceDefinitionDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (customResourceDefinitionDockerImageMetadata!=null){ this.dockerImageMetadata= new CustomResourceDefinitionBuilder(customResourceDefinitionDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.CustomResourceDefinitionDockerImageMetadataNested withNewCustomResourceDefinitionDockerImageMetadata(){
            return new CustomResourceDefinitionDockerImageMetadataNestedImpl();
    }

    public ImageFluent.CustomResourceDefinitionDockerImageMetadataNested withNewCustomResourceDefinitionDockerImageMetadataLike(CustomResourceDefinition item){
            return new CustomResourceDefinitionDockerImageMetadataNestedImpl(item);
    }

    public A withImageSignatureDockerImageMetadata(ImageSignature imageSignatureDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (imageSignatureDockerImageMetadata!=null){ this.dockerImageMetadata= new ImageSignatureBuilder(imageSignatureDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ImageSignatureDockerImageMetadataNested withNewImageSignatureDockerImageMetadata(){
            return new ImageSignatureDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ImageSignatureDockerImageMetadataNested withNewImageSignatureDockerImageMetadataLike(ImageSignature item){
            return new ImageSignatureDockerImageMetadataNestedImpl(item);
    }

    public A withClusterRoleDockerImageMetadata(ClusterRole clusterRoleDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (clusterRoleDockerImageMetadata!=null){ this.dockerImageMetadata= new ClusterRoleBuilder(clusterRoleDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ClusterRoleDockerImageMetadataNested withNewClusterRoleDockerImageMetadata(){
            return new ClusterRoleDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ClusterRoleDockerImageMetadataNested withNewClusterRoleDockerImageMetadataLike(ClusterRole item){
            return new ClusterRoleDockerImageMetadataNestedImpl(item);
    }

    public A withNamespaceDockerImageMetadata(Namespace namespaceDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (namespaceDockerImageMetadata!=null){ this.dockerImageMetadata= new NamespaceBuilder(namespaceDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.NamespaceDockerImageMetadataNested withNewNamespaceDockerImageMetadata(){
            return new NamespaceDockerImageMetadataNestedImpl();
    }

    public ImageFluent.NamespaceDockerImageMetadataNested withNewNamespaceDockerImageMetadataLike(Namespace item){
            return new NamespaceDockerImageMetadataNestedImpl(item);
    }

    public A withClusterPolicyDockerImageMetadata(ClusterPolicy clusterPolicyDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (clusterPolicyDockerImageMetadata!=null){ this.dockerImageMetadata= new ClusterPolicyBuilder(clusterPolicyDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ClusterPolicyDockerImageMetadataNested withNewClusterPolicyDockerImageMetadata(){
            return new ClusterPolicyDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ClusterPolicyDockerImageMetadataNested withNewClusterPolicyDockerImageMetadataLike(ClusterPolicy item){
            return new ClusterPolicyDockerImageMetadataNestedImpl(item);
    }

    public A withBuildDockerImageMetadata(Build buildDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (buildDockerImageMetadata!=null){ this.dockerImageMetadata= new BuildBuilder(buildDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.BuildDockerImageMetadataNested withNewBuildDockerImageMetadata(){
            return new BuildDockerImageMetadataNestedImpl();
    }

    public ImageFluent.BuildDockerImageMetadataNested withNewBuildDockerImageMetadataLike(Build item){
            return new BuildDockerImageMetadataNestedImpl(item);
    }

    public A withScaleDockerImageMetadata(Scale scaleDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (scaleDockerImageMetadata!=null){ this.dockerImageMetadata= new ScaleBuilder(scaleDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ScaleDockerImageMetadataNested withNewScaleDockerImageMetadata(){
            return new ScaleDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ScaleDockerImageMetadataNested withNewScaleDockerImageMetadataLike(Scale item){
            return new ScaleDockerImageMetadataNestedImpl(item);
    }

    public A withPodDockerImageMetadata(Pod podDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (podDockerImageMetadata!=null){ this.dockerImageMetadata= new PodBuilder(podDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PodDockerImageMetadataNested withNewPodDockerImageMetadata(){
            return new PodDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PodDockerImageMetadataNested withNewPodDockerImageMetadataLike(Pod item){
            return new PodDockerImageMetadataNestedImpl(item);
    }

    public A withHorizontalPodAutoscalerDockerImageMetadata(HorizontalPodAutoscaler horizontalPodAutoscalerDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (horizontalPodAutoscalerDockerImageMetadata!=null){ this.dockerImageMetadata= new HorizontalPodAutoscalerBuilder(horizontalPodAutoscalerDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.HorizontalPodAutoscalerDockerImageMetadataNested withNewHorizontalPodAutoscalerDockerImageMetadata(){
            return new HorizontalPodAutoscalerDockerImageMetadataNestedImpl();
    }

    public ImageFluent.HorizontalPodAutoscalerDockerImageMetadataNested withNewHorizontalPodAutoscalerDockerImageMetadataLike(HorizontalPodAutoscaler item){
            return new HorizontalPodAutoscalerDockerImageMetadataNestedImpl(item);
    }

    public A withThirdPartyResourceDockerImageMetadata(ThirdPartyResource thirdPartyResourceDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (thirdPartyResourceDockerImageMetadata!=null){ this.dockerImageMetadata= new ThirdPartyResourceBuilder(thirdPartyResourceDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ThirdPartyResourceDockerImageMetadataNested withNewThirdPartyResourceDockerImageMetadata(){
            return new ThirdPartyResourceDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ThirdPartyResourceDockerImageMetadataNested withNewThirdPartyResourceDockerImageMetadataLike(ThirdPartyResource item){
            return new ThirdPartyResourceDockerImageMetadataNestedImpl(item);
    }

    public A withImageStreamTagDockerImageMetadata(ImageStreamTag imageStreamTagDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (imageStreamTagDockerImageMetadata!=null){ this.dockerImageMetadata= new ImageStreamTagBuilder(imageStreamTagDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ImageStreamTagDockerImageMetadataNested withNewImageStreamTagDockerImageMetadata(){
            return new ImageStreamTagDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ImageStreamTagDockerImageMetadataNested withNewImageStreamTagDockerImageMetadataLike(ImageStreamTag item){
            return new ImageStreamTagDockerImageMetadataNestedImpl(item);
    }

    public A withComponentStatusDockerImageMetadata(ComponentStatus componentStatusDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (componentStatusDockerImageMetadata!=null){ this.dockerImageMetadata= new ComponentStatusBuilder(componentStatusDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ComponentStatusDockerImageMetadataNested withNewComponentStatusDockerImageMetadata(){
            return new ComponentStatusDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ComponentStatusDockerImageMetadataNested withNewComponentStatusDockerImageMetadataLike(ComponentStatus item){
            return new ComponentStatusDockerImageMetadataNestedImpl(item);
    }

    public A withSecretDockerImageMetadata(Secret secretDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (secretDockerImageMetadata!=null){ this.dockerImageMetadata= new SecretBuilder(secretDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.SecretDockerImageMetadataNested withNewSecretDockerImageMetadata(){
            return new SecretDockerImageMetadataNestedImpl();
    }

    public ImageFluent.SecretDockerImageMetadataNested withNewSecretDockerImageMetadataLike(Secret item){
            return new SecretDockerImageMetadataNestedImpl(item);
    }

    public A withReplicationControllerDockerImageMetadata(ReplicationController replicationControllerDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (replicationControllerDockerImageMetadata!=null){ this.dockerImageMetadata= new ReplicationControllerBuilder(replicationControllerDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ReplicationControllerDockerImageMetadataNested withNewReplicationControllerDockerImageMetadata(){
            return new ReplicationControllerDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ReplicationControllerDockerImageMetadataNested withNewReplicationControllerDockerImageMetadataLike(ReplicationController item){
            return new ReplicationControllerDockerImageMetadataNestedImpl(item);
    }

    public A withLimitRangeDockerImageMetadata(LimitRange limitRangeDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (limitRangeDockerImageMetadata!=null){ this.dockerImageMetadata= new LimitRangeBuilder(limitRangeDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.LimitRangeDockerImageMetadataNested withNewLimitRangeDockerImageMetadata(){
            return new LimitRangeDockerImageMetadataNestedImpl();
    }

    public ImageFluent.LimitRangeDockerImageMetadataNested withNewLimitRangeDockerImageMetadataLike(LimitRange item){
            return new LimitRangeDockerImageMetadataNestedImpl(item);
    }

    public A withEndpointsDockerImageMetadata(Endpoints endpointsDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (endpointsDockerImageMetadata!=null){ this.dockerImageMetadata= new EndpointsBuilder(endpointsDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.EndpointsDockerImageMetadataNested withNewEndpointsDockerImageMetadata(){
            return new EndpointsDockerImageMetadataNestedImpl();
    }

    public ImageFluent.EndpointsDockerImageMetadataNested withNewEndpointsDockerImageMetadataLike(Endpoints item){
            return new EndpointsDockerImageMetadataNestedImpl(item);
    }

    public A withSecurityContextConstraintsDockerImageMetadata(SecurityContextConstraints securityContextConstraintsDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (securityContextConstraintsDockerImageMetadata!=null){ this.dockerImageMetadata= new SecurityContextConstraintsBuilder(securityContextConstraintsDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.SecurityContextConstraintsDockerImageMetadataNested withNewSecurityContextConstraintsDockerImageMetadata(){
            return new SecurityContextConstraintsDockerImageMetadataNestedImpl();
    }

    public ImageFluent.SecurityContextConstraintsDockerImageMetadataNested withNewSecurityContextConstraintsDockerImageMetadataLike(SecurityContextConstraints item){
            return new SecurityContextConstraintsDockerImageMetadataNestedImpl(item);
    }

    public A withGroupDockerImageMetadata(Group groupDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (groupDockerImageMetadata!=null){ this.dockerImageMetadata= new GroupBuilder(groupDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.GroupDockerImageMetadataNested withNewGroupDockerImageMetadata(){
            return new GroupDockerImageMetadataNestedImpl();
    }

    public ImageFluent.GroupDockerImageMetadataNested withNewGroupDockerImageMetadataLike(Group item){
            return new GroupDockerImageMetadataNestedImpl(item);
    }

    public A withEventDockerImageMetadata(Event eventDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (eventDockerImageMetadata!=null){ this.dockerImageMetadata= new EventBuilder(eventDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.EventDockerImageMetadataNested withNewEventDockerImageMetadata(){
            return new EventDockerImageMetadataNestedImpl();
    }

    public ImageFluent.EventDockerImageMetadataNested withNewEventDockerImageMetadataLike(Event item){
            return new EventDockerImageMetadataNestedImpl(item);
    }

    public A withNodeDockerImageMetadata(Node nodeDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (nodeDockerImageMetadata!=null){ this.dockerImageMetadata= new NodeBuilder(nodeDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.NodeDockerImageMetadataNested withNewNodeDockerImageMetadata(){
            return new NodeDockerImageMetadataNestedImpl();
    }

    public ImageFluent.NodeDockerImageMetadataNested withNewNodeDockerImageMetadataLike(Node item){
            return new NodeDockerImageMetadataNestedImpl(item);
    }

    public A withReplicaSetDockerImageMetadata(ReplicaSet replicaSetDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (replicaSetDockerImageMetadata!=null){ this.dockerImageMetadata= new ReplicaSetBuilder(replicaSetDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ReplicaSetDockerImageMetadataNested withNewReplicaSetDockerImageMetadata(){
            return new ReplicaSetDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ReplicaSetDockerImageMetadataNested withNewReplicaSetDockerImageMetadataLike(ReplicaSet item){
            return new ReplicaSetDockerImageMetadataNestedImpl(item);
    }

    public A withClusterRoleBindingDockerImageMetadata(ClusterRoleBinding clusterRoleBindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (clusterRoleBindingDockerImageMetadata!=null){ this.dockerImageMetadata= new ClusterRoleBindingBuilder(clusterRoleBindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ClusterRoleBindingDockerImageMetadataNested withNewClusterRoleBindingDockerImageMetadata(){
            return new ClusterRoleBindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ClusterRoleBindingDockerImageMetadataNested withNewClusterRoleBindingDockerImageMetadataLike(ClusterRoleBinding item){
            return new ClusterRoleBindingDockerImageMetadataNestedImpl(item);
    }

    public A withJenkinsDockerImageMetadata(Jenkins jenkinsDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (jenkinsDockerImageMetadata!=null){ this.dockerImageMetadata= new JenkinsBuilder(jenkinsDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.JenkinsDockerImageMetadataNested withNewJenkinsDockerImageMetadata(){
            return new JenkinsDockerImageMetadataNestedImpl();
    }

    public ImageFluent.JenkinsDockerImageMetadataNested withNewJenkinsDockerImageMetadataLike(Jenkins item){
            return new JenkinsDockerImageMetadataNestedImpl(item);
    }

    public A withDaemonSetDockerImageMetadata(DaemonSet daemonSetDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (daemonSetDockerImageMetadata!=null){ this.dockerImageMetadata= new DaemonSetBuilder(daemonSetDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.DaemonSetDockerImageMetadataNested withNewDaemonSetDockerImageMetadata(){
            return new DaemonSetDockerImageMetadataNestedImpl();
    }

    public ImageFluent.DaemonSetDockerImageMetadataNested withNewDaemonSetDockerImageMetadataLike(DaemonSet item){
            return new DaemonSetDockerImageMetadataNestedImpl(item);
    }

    public A withPodDisruptionBudgetDockerImageMetadata(PodDisruptionBudget podDisruptionBudgetDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (podDisruptionBudgetDockerImageMetadata!=null){ this.dockerImageMetadata= new PodDisruptionBudgetBuilder(podDisruptionBudgetDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PodDisruptionBudgetDockerImageMetadataNested withNewPodDisruptionBudgetDockerImageMetadata(){
            return new PodDisruptionBudgetDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PodDisruptionBudgetDockerImageMetadataNested withNewPodDisruptionBudgetDockerImageMetadataLike(PodDisruptionBudget item){
            return new PodDisruptionBudgetDockerImageMetadataNestedImpl(item);
    }

    public A withImageStreamDockerImageMetadata(ImageStream imageStreamDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (imageStreamDockerImageMetadata!=null){ this.dockerImageMetadata= new ImageStreamBuilder(imageStreamDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ImageStreamDockerImageMetadataNested withNewImageStreamDockerImageMetadata(){
            return new ImageStreamDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ImageStreamDockerImageMetadataNested withNewImageStreamDockerImageMetadataLike(ImageStream item){
            return new ImageStreamDockerImageMetadataNestedImpl(item);
    }

    public A withRoleBindingRestrictionDockerImageMetadata(RoleBindingRestriction roleBindingRestrictionDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (roleBindingRestrictionDockerImageMetadata!=null){ this.dockerImageMetadata= new RoleBindingRestrictionBuilder(roleBindingRestrictionDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.RoleBindingRestrictionDockerImageMetadataNested withNewRoleBindingRestrictionDockerImageMetadata(){
            return new RoleBindingRestrictionDockerImageMetadataNestedImpl();
    }

    public ImageFluent.RoleBindingRestrictionDockerImageMetadataNested withNewRoleBindingRestrictionDockerImageMetadataLike(RoleBindingRestriction item){
            return new RoleBindingRestrictionDockerImageMetadataNestedImpl(item);
    }

    public A withBindingDockerImageMetadata(Binding bindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (bindingDockerImageMetadata!=null){ this.dockerImageMetadata= new BindingBuilder(bindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.BindingDockerImageMetadataNested withNewBindingDockerImageMetadata(){
            return new BindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.BindingDockerImageMetadataNested withNewBindingDockerImageMetadataLike(Binding item){
            return new BindingDockerImageMetadataNestedImpl(item);
    }

    public A withLocalSubjectAccessReviewDockerImageMetadata(io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview localSubjectAccessReviewDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (localSubjectAccessReviewDockerImageMetadata!=null){ this.dockerImageMetadata= new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder(localSubjectAccessReviewDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.AuthorizationLocalSubjectAccessReviewDockerImageMetadataNested withNewAuthorizationLocalSubjectAccessReviewDockerImageMetadata(){
            return new AuthorizationLocalSubjectAccessReviewDockerImageMetadataNestedImpl();
    }

    public ImageFluent.AuthorizationLocalSubjectAccessReviewDockerImageMetadataNested withNewLocalSubjectAccessReviewDockerImageMetadataLike(io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview item){
            return new AuthorizationLocalSubjectAccessReviewDockerImageMetadataNestedImpl(item);
    }

    public A withStatefulSetDockerImageMetadata(StatefulSet statefulSetDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (statefulSetDockerImageMetadata!=null){ this.dockerImageMetadata= new StatefulSetBuilder(statefulSetDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.StatefulSetDockerImageMetadataNested withNewStatefulSetDockerImageMetadata(){
            return new StatefulSetDockerImageMetadataNestedImpl();
    }

    public ImageFluent.StatefulSetDockerImageMetadataNested withNewStatefulSetDockerImageMetadataLike(StatefulSet item){
            return new StatefulSetDockerImageMetadataNestedImpl(item);
    }

    public A withPipelineTemplateTaskInstanceDockerImageMetadata(PipelineTemplateTaskInstance pipelineTemplateTaskInstanceDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (pipelineTemplateTaskInstanceDockerImageMetadata!=null){ this.dockerImageMetadata= new PipelineTemplateTaskInstanceBuilder(pipelineTemplateTaskInstanceDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PipelineTemplateTaskInstanceDockerImageMetadataNested withNewPipelineTemplateTaskInstanceDockerImageMetadata(){
            return new PipelineTemplateTaskInstanceDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PipelineTemplateTaskInstanceDockerImageMetadataNested withNewPipelineTemplateTaskInstanceDockerImageMetadataLike(PipelineTemplateTaskInstance item){
            return new PipelineTemplateTaskInstanceDockerImageMetadataNestedImpl(item);
    }

    public A withOAuthClientDockerImageMetadata(OAuthClient oAuthClientDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (oAuthClientDockerImageMetadata!=null){ this.dockerImageMetadata= new OAuthClientBuilder(oAuthClientDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.OAuthClientDockerImageMetadataNested withNewOAuthClientDockerImageMetadata(){
            return new OAuthClientDockerImageMetadataNestedImpl();
    }

    public ImageFluent.OAuthClientDockerImageMetadataNested withNewOAuthClientDockerImageMetadataLike(OAuthClient item){
            return new OAuthClientDockerImageMetadataNestedImpl(item);
    }

    public A withTemplateDockerImageMetadata(Template templateDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (templateDockerImageMetadata!=null){ this.dockerImageMetadata= new TemplateBuilder(templateDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.TemplateDockerImageMetadataNested withNewTemplateDockerImageMetadata(){
            return new TemplateDockerImageMetadataNestedImpl();
    }

    public ImageFluent.TemplateDockerImageMetadataNested withNewTemplateDockerImageMetadataLike(Template item){
            return new TemplateDockerImageMetadataNestedImpl(item);
    }

    public A withBuildConfigDockerImageMetadata(BuildConfig buildConfigDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (buildConfigDockerImageMetadata!=null){ this.dockerImageMetadata= new BuildConfigBuilder(buildConfigDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.BuildConfigDockerImageMetadataNested withNewBuildConfigDockerImageMetadata(){
            return new BuildConfigDockerImageMetadataNestedImpl();
    }

    public ImageFluent.BuildConfigDockerImageMetadataNested withNewBuildConfigDockerImageMetadataLike(BuildConfig item){
            return new BuildConfigDockerImageMetadataNestedImpl(item);
    }

    public A withPodSecurityPolicyDockerImageMetadata(PodSecurityPolicy podSecurityPolicyDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (podSecurityPolicyDockerImageMetadata!=null){ this.dockerImageMetadata= new PodSecurityPolicyBuilder(podSecurityPolicyDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PodSecurityPolicyDockerImageMetadataNested withNewPodSecurityPolicyDockerImageMetadata(){
            return new PodSecurityPolicyDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PodSecurityPolicyDockerImageMetadataNested withNewPodSecurityPolicyDockerImageMetadataLike(PodSecurityPolicy item){
            return new PodSecurityPolicyDockerImageMetadataNestedImpl(item);
    }

    public A withPipelineDockerImageMetadata(Pipeline pipelineDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (pipelineDockerImageMetadata!=null){ this.dockerImageMetadata= new PipelineBuilder(pipelineDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PipelineDockerImageMetadataNested withNewPipelineDockerImageMetadata(){
            return new PipelineDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PipelineDockerImageMetadataNested withNewPipelineDockerImageMetadataLike(Pipeline item){
            return new PipelineDockerImageMetadataNestedImpl(item);
    }

    public A withRoleDockerImageMetadata(Role roleDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (roleDockerImageMetadata!=null){ this.dockerImageMetadata= new RoleBuilder(roleDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.RoleDockerImageMetadataNested withNewRoleDockerImageMetadata(){
            return new RoleDockerImageMetadataNestedImpl();
    }

    public ImageFluent.RoleDockerImageMetadataNested withNewRoleDockerImageMetadataLike(Role item){
            return new RoleDockerImageMetadataNestedImpl(item);
    }

    public A withCronJobDockerImageMetadata(CronJob cronJobDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (cronJobDockerImageMetadata!=null){ this.dockerImageMetadata= new CronJobBuilder(cronJobDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.CronJobDockerImageMetadataNested withNewCronJobDockerImageMetadata(){
            return new CronJobDockerImageMetadataNestedImpl();
    }

    public ImageFluent.CronJobDockerImageMetadataNested withNewCronJobDockerImageMetadataLike(CronJob item){
            return new CronJobDockerImageMetadataNestedImpl(item);
    }

    public A withUserDockerImageMetadata(User userDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (userDockerImageMetadata!=null){ this.dockerImageMetadata= new UserBuilder(userDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.UserDockerImageMetadataNested withNewUserDockerImageMetadata(){
            return new UserDockerImageMetadataNestedImpl();
    }

    public ImageFluent.UserDockerImageMetadataNested withNewUserDockerImageMetadataLike(User item){
            return new UserDockerImageMetadataNestedImpl(item);
    }

    public A withSubjectAccessReviewDockerImageMetadata(io.alauda.kubernetes.api.model.authorization.SubjectAccessReview subjectAccessReviewDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (subjectAccessReviewDockerImageMetadata!=null){ this.dockerImageMetadata= new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder(subjectAccessReviewDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.AuthorizationSubjectAccessReviewDockerImageMetadataNested withNewAuthorizationSubjectAccessReviewDockerImageMetadata(){
            return new AuthorizationSubjectAccessReviewDockerImageMetadataNestedImpl();
    }

    public ImageFluent.AuthorizationSubjectAccessReviewDockerImageMetadataNested withNewSubjectAccessReviewDockerImageMetadataLike(io.alauda.kubernetes.api.model.authorization.SubjectAccessReview item){
            return new AuthorizationSubjectAccessReviewDockerImageMetadataNestedImpl(item);
    }

    public A withStorageClassDockerImageMetadata(StorageClass storageClassDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (storageClassDockerImageMetadata!=null){ this.dockerImageMetadata= new StorageClassBuilder(storageClassDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.StorageClassDockerImageMetadataNested withNewStorageClassDockerImageMetadata(){
            return new StorageClassDockerImageMetadataNestedImpl();
    }

    public ImageFluent.StorageClassDockerImageMetadataNested withNewStorageClassDockerImageMetadataLike(StorageClass item){
            return new StorageClassDockerImageMetadataNestedImpl(item);
    }

    public A withPipelineConfigTemplateDockerImageMetadata(PipelineConfigTemplate pipelineConfigTemplateDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (pipelineConfigTemplateDockerImageMetadata!=null){ this.dockerImageMetadata= new PipelineConfigTemplateBuilder(pipelineConfigTemplateDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PipelineConfigTemplateDockerImageMetadataNested withNewPipelineConfigTemplateDockerImageMetadata(){
            return new PipelineConfigTemplateDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PipelineConfigTemplateDockerImageMetadataNested withNewPipelineConfigTemplateDockerImageMetadataLike(PipelineConfigTemplate item){
            return new PipelineConfigTemplateDockerImageMetadataNestedImpl(item);
    }

    public A withPipelineConfigDockerImageMetadata(PipelineConfig pipelineConfigDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (pipelineConfigDockerImageMetadata!=null){ this.dockerImageMetadata= new PipelineConfigBuilder(pipelineConfigDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PipelineConfigDockerImageMetadataNested withNewPipelineConfigDockerImageMetadata(){
            return new PipelineConfigDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PipelineConfigDockerImageMetadataNested withNewPipelineConfigDockerImageMetadataLike(PipelineConfig item){
            return new PipelineConfigDockerImageMetadataNestedImpl(item);
    }

    public A withDeploymentConfigDockerImageMetadata(DeploymentConfig deploymentConfigDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (deploymentConfigDockerImageMetadata!=null){ this.dockerImageMetadata= new DeploymentConfigBuilder(deploymentConfigDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.DeploymentConfigDockerImageMetadataNested withNewDeploymentConfigDockerImageMetadata(){
            return new DeploymentConfigDockerImageMetadataNestedImpl();
    }

    public ImageFluent.DeploymentConfigDockerImageMetadataNested withNewDeploymentConfigDockerImageMetadataLike(DeploymentConfig item){
            return new DeploymentConfigDockerImageMetadataNestedImpl(item);
    }

    public A withOAuthAccessTokenDockerImageMetadata(OAuthAccessToken oAuthAccessTokenDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (oAuthAccessTokenDockerImageMetadata!=null){ this.dockerImageMetadata= new OAuthAccessTokenBuilder(oAuthAccessTokenDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.OAuthAccessTokenDockerImageMetadataNested withNewOAuthAccessTokenDockerImageMetadata(){
            return new OAuthAccessTokenDockerImageMetadataNestedImpl();
    }

    public ImageFluent.OAuthAccessTokenDockerImageMetadataNested withNewOAuthAccessTokenDockerImageMetadataLike(OAuthAccessToken item){
            return new OAuthAccessTokenDockerImageMetadataNestedImpl(item);
    }

    public A withPersistentVolumeClaimDockerImageMetadata(PersistentVolumeClaim persistentVolumeClaimDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (persistentVolumeClaimDockerImageMetadata!=null){ this.dockerImageMetadata= new PersistentVolumeClaimBuilder(persistentVolumeClaimDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PersistentVolumeClaimDockerImageMetadataNested withNewPersistentVolumeClaimDockerImageMetadata(){
            return new PersistentVolumeClaimDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PersistentVolumeClaimDockerImageMetadataNested withNewPersistentVolumeClaimDockerImageMetadataLike(PersistentVolumeClaim item){
            return new PersistentVolumeClaimDockerImageMetadataNestedImpl(item);
    }

    public A withNetworkPolicyDockerImageMetadata(NetworkPolicy networkPolicyDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (networkPolicyDockerImageMetadata!=null){ this.dockerImageMetadata= new NetworkPolicyBuilder(networkPolicyDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.NetworkPolicyDockerImageMetadataNested withNewNetworkPolicyDockerImageMetadata(){
            return new NetworkPolicyDockerImageMetadataNestedImpl();
    }

    public ImageFluent.NetworkPolicyDockerImageMetadataNested withNewNetworkPolicyDockerImageMetadataLike(NetworkPolicy item){
            return new NetworkPolicyDockerImageMetadataNestedImpl(item);
    }

    public A withImageDockerImageMetadata(Image imageDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (imageDockerImageMetadata!=null){ this.dockerImageMetadata= new ImageBuilder(imageDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ImageDockerImageMetadataNested withNewImageDockerImageMetadata(){
            return new ImageDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ImageDockerImageMetadataNested withNewImageDockerImageMetadataLike(Image item){
            return new ImageDockerImageMetadataNestedImpl(item);
    }

    public A withServiceDockerImageMetadata(Service serviceDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (serviceDockerImageMetadata!=null){ this.dockerImageMetadata= new ServiceBuilder(serviceDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ServiceDockerImageMetadataNested withNewServiceDockerImageMetadata(){
            return new ServiceDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ServiceDockerImageMetadataNested withNewServiceDockerImageMetadataLike(Service item){
            return new ServiceDockerImageMetadataNestedImpl(item);
    }

    public A withJobDockerImageMetadata(Job jobDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (jobDockerImageMetadata!=null){ this.dockerImageMetadata= new JobBuilder(jobDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.JobDockerImageMetadataNested withNewJobDockerImageMetadata(){
            return new JobDockerImageMetadataNestedImpl();
    }

    public ImageFluent.JobDockerImageMetadataNested withNewJobDockerImageMetadataLike(Job item){
            return new JobDockerImageMetadataNestedImpl(item);
    }

    public A withDeploymentDockerImageMetadata(Deployment deploymentDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (deploymentDockerImageMetadata!=null){ this.dockerImageMetadata= new DeploymentBuilder(deploymentDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.DeploymentDockerImageMetadataNested withNewDeploymentDockerImageMetadata(){
            return new DeploymentDockerImageMetadataNestedImpl();
    }

    public ImageFluent.DeploymentDockerImageMetadataNested withNewDeploymentDockerImageMetadataLike(Deployment item){
            return new DeploymentDockerImageMetadataNestedImpl(item);
    }

    public A withClusterPolicyBindingDockerImageMetadata(ClusterPolicyBinding clusterPolicyBindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (clusterPolicyBindingDockerImageMetadata!=null){ this.dockerImageMetadata= new ClusterPolicyBindingBuilder(clusterPolicyBindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ClusterPolicyBindingDockerImageMetadataNested withNewClusterPolicyBindingDockerImageMetadata(){
            return new ClusterPolicyBindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ClusterPolicyBindingDockerImageMetadataNested withNewClusterPolicyBindingDockerImageMetadataLike(ClusterPolicyBinding item){
            return new ClusterPolicyBindingDockerImageMetadataNestedImpl(item);
    }

    public A withProjectDockerImageMetadata(Project projectDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (projectDockerImageMetadata!=null){ this.dockerImageMetadata= new ProjectBuilder(projectDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.ProjectDockerImageMetadataNested withNewProjectDockerImageMetadata(){
            return new ProjectDockerImageMetadataNestedImpl();
    }

    public ImageFluent.ProjectDockerImageMetadataNested withNewProjectDockerImageMetadataLike(Project item){
            return new ProjectDockerImageMetadataNestedImpl(item);
    }

    public A withBuildRequestDockerImageMetadata(BuildRequest buildRequestDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (buildRequestDockerImageMetadata!=null){ this.dockerImageMetadata= new BuildRequestBuilder(buildRequestDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.BuildRequestDockerImageMetadataNested withNewBuildRequestDockerImageMetadata(){
            return new BuildRequestDockerImageMetadataNestedImpl();
    }

    public ImageFluent.BuildRequestDockerImageMetadataNested withNewBuildRequestDockerImageMetadataLike(BuildRequest item){
            return new BuildRequestDockerImageMetadataNestedImpl(item);
    }

    public A withRoleBindingDockerImageMetadata(RoleBinding roleBindingDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (roleBindingDockerImageMetadata!=null){ this.dockerImageMetadata= new RoleBindingBuilder(roleBindingDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.RoleBindingDockerImageMetadataNested withNewRoleBindingDockerImageMetadata(){
            return new RoleBindingDockerImageMetadataNestedImpl();
    }

    public ImageFluent.RoleBindingDockerImageMetadataNested withNewRoleBindingDockerImageMetadataLike(RoleBinding item){
            return new RoleBindingDockerImageMetadataNestedImpl(item);
    }

    public A withPersistentVolumeDockerImageMetadata(PersistentVolume persistentVolumeDockerImageMetadata){
            _visitables.remove(this.dockerImageMetadata);
            if (persistentVolumeDockerImageMetadata!=null){ this.dockerImageMetadata= new PersistentVolumeBuilder(persistentVolumeDockerImageMetadata); _visitables.add(this.dockerImageMetadata);} return (A) this;
    }

    public ImageFluent.PersistentVolumeDockerImageMetadataNested withNewPersistentVolumeDockerImageMetadata(){
            return new PersistentVolumeDockerImageMetadataNestedImpl();
    }

    public ImageFluent.PersistentVolumeDockerImageMetadataNested withNewPersistentVolumeDockerImageMetadataLike(PersistentVolume item){
            return new PersistentVolumeDockerImageMetadataNestedImpl(item);
    }

    public String getDockerImageMetadataVersion(){
            return this.dockerImageMetadataVersion;
    }

    public A withDockerImageMetadataVersion(String dockerImageMetadataVersion){
            this.dockerImageMetadataVersion=dockerImageMetadataVersion; return (A) this;
    }

    public Boolean hasDockerImageMetadataVersion(){
            return this.dockerImageMetadataVersion!=null;
    }

    public String getDockerImageReference(){
            return this.dockerImageReference;
    }

    public A withDockerImageReference(String dockerImageReference){
            this.dockerImageReference=dockerImageReference; return (A) this;
    }

    public Boolean hasDockerImageReference(){
            return this.dockerImageReference!=null;
    }

    public A addToDockerImageSignatures(int index,String item){
            this.dockerImageSignatures.add(index, item); return (A)this;
    }

    public A setToDockerImageSignatures(int index,String item){
            this.dockerImageSignatures.set(index, item); return (A)this;
    }

    public A addToDockerImageSignatures(String... items){
            for (String item : items) {this.dockerImageSignatures.add(item);} return (A)this;
    }

    public A addAllToDockerImageSignatures(Collection items){
            for (String item : items) {this.dockerImageSignatures.add(item);} return (A)this;
    }

    public A removeFromDockerImageSignatures(String... items){
            for (String item : items) {this.dockerImageSignatures.remove(item);} return (A)this;
    }

    public A removeAllFromDockerImageSignatures(Collection items){
            for (String item : items) {this.dockerImageSignatures.remove(item);} return (A)this;
    }

    public List getDockerImageSignatures(){
            return this.dockerImageSignatures;
    }

    public String getDockerImageSignature(int index){
            return this.dockerImageSignatures.get(index);
    }

    public String getFirstDockerImageSignature(){
            return this.dockerImageSignatures.get(0);
    }

    public String getLastDockerImageSignature(){
            return this.dockerImageSignatures.get(dockerImageSignatures.size() - 1);
    }

    public String getMatchingDockerImageSignature(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (String item: dockerImageSignatures) { if(predicate.apply(item)){return item;} } return null;
    }

    public A withDockerImageSignatures(List dockerImageSignatures){
            this.dockerImageSignatures.clear();
            if (dockerImageSignatures != null) {for (String item : dockerImageSignatures){this.addToDockerImageSignatures(item);}} return (A) this;
    }

    public A withDockerImageSignatures(String... dockerImageSignatures){
            this.dockerImageSignatures.clear(); if (dockerImageSignatures != null) {for (String item :dockerImageSignatures){ this.addToDockerImageSignatures(item);}} return (A) this;
    }

    public Boolean hasDockerImageSignatures(){
            return dockerImageSignatures!= null && !dockerImageSignatures.isEmpty();
    }

    public String getKind(){
            return this.kind;
    }

    public A withKind(String kind){
            this.kind=kind; return (A) this;
    }

    public Boolean hasKind(){
            return this.kind!=null;
    }

    
/**
 * This method has been deprecated, please use method buildMetadata instead.
 */
@Deprecated public ObjectMeta getMetadata(){
            return this.metadata!=null?this.metadata.build():null;
    }

    public ObjectMeta buildMetadata(){
            return this.metadata!=null?this.metadata.build():null;
    }

    public A withMetadata(ObjectMeta metadata){
            _visitables.remove(this.metadata);
            if (metadata!=null){ this.metadata= new ObjectMetaBuilder(metadata); _visitables.add(this.metadata);} return (A) this;
    }

    public Boolean hasMetadata(){
            return this.metadata!=null;
    }

    public ImageFluent.MetadataNested withNewMetadata(){
            return new MetadataNestedImpl();
    }

    public ImageFluent.MetadataNested withNewMetadataLike(ObjectMeta item){
            return new MetadataNestedImpl(item);
    }

    public ImageFluent.MetadataNested editMetadata(){
            return withNewMetadataLike(getMetadata());
    }

    public ImageFluent.MetadataNested editOrNewMetadata(){
            return withNewMetadataLike(getMetadata() != null ? getMetadata(): new ObjectMetaBuilder().build());
    }

    public ImageFluent.MetadataNested editOrNewMetadataLike(ObjectMeta item){
            return withNewMetadataLike(getMetadata() != null ? getMetadata(): item);
    }

    public A addToSignatures(int index,ImageSignature item){
            ImageSignatureBuilder builder = new ImageSignatureBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.signatures.add(index >= 0 ? index : signatures.size(), builder); return (A)this;
    }

    public A setToSignatures(int index,ImageSignature item){
            ImageSignatureBuilder builder = new ImageSignatureBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= signatures.size()) { signatures.add(builder); } else { signatures.set(index, builder);}
             return (A)this;
    }

    public A addToSignatures(ImageSignature... items){
            for (ImageSignature item : items) {ImageSignatureBuilder builder = new ImageSignatureBuilder(item);_visitables.add(builder);this.signatures.add(builder);} return (A)this;
    }

    public A addAllToSignatures(Collection items){
            for (ImageSignature item : items) {ImageSignatureBuilder builder = new ImageSignatureBuilder(item);_visitables.add(builder);this.signatures.add(builder);} return (A)this;
    }

    public A removeFromSignatures(ImageSignature... items){
            for (ImageSignature item : items) {ImageSignatureBuilder builder = new ImageSignatureBuilder(item);_visitables.remove(builder);this.signatures.remove(builder);} return (A)this;
    }

    public A removeAllFromSignatures(Collection items){
            for (ImageSignature item : items) {ImageSignatureBuilder builder = new ImageSignatureBuilder(item);_visitables.remove(builder);this.signatures.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildSignatures instead.
 */
@Deprecated public List getSignatures(){
            return build(signatures);
    }

    public List buildSignatures(){
            return build(signatures);
    }

    public ImageSignature buildSignature(int index){
            return this.signatures.get(index).build();
    }

    public ImageSignature buildFirstSignature(){
            return this.signatures.get(0).build();
    }

    public ImageSignature buildLastSignature(){
            return this.signatures.get(signatures.size() - 1).build();
    }

    public ImageSignature buildMatchingSignature(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (ImageSignatureBuilder item: signatures) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withSignatures(List signatures){
            _visitables.removeAll(this.signatures);
            this.signatures.clear();
            if (signatures != null) {for (ImageSignature item : signatures){this.addToSignatures(item);}} return (A) this;
    }

    public A withSignatures(ImageSignature... signatures){
            this.signatures.clear(); if (signatures != null) {for (ImageSignature item :signatures){ this.addToSignatures(item);}} return (A) this;
    }

    public Boolean hasSignatures(){
            return signatures!= null && !signatures.isEmpty();
    }

    public ImageFluent.SignaturesNested addNewSignature(){
            return new SignaturesNestedImpl();
    }

    public ImageFluent.SignaturesNested addNewSignatureLike(ImageSignature item){
            return new SignaturesNestedImpl(-1, item);
    }

    public ImageFluent.SignaturesNested setNewSignatureLike(int index,ImageSignature item){
            return new SignaturesNestedImpl(index, item);
    }

    public ImageFluent.SignaturesNested editSignature(int index){
            if (signatures.size() <= index) throw new RuntimeException("Can't edit signatures. Index exceeds size.");
            return setNewSignatureLike(index, buildSignature(index));
    }

    public ImageFluent.SignaturesNested editFirstSignature(){
            if (signatures.size() == 0) throw new RuntimeException("Can't edit first signatures. The list is empty.");
            return setNewSignatureLike(0, buildSignature(0));
    }

    public ImageFluent.SignaturesNested editLastSignature(){
            int index = signatures.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last signatures. The list is empty.");
            return setNewSignatureLike(index, buildSignature(index));
    }

    public ImageFluent.SignaturesNested editMatchingSignature(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i extends ImageLayerFluentImpl> implements ImageFluent.DockerImageLayersNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageLayerBuilder builder;
        private final int index;
    
            DockerImageLayersNestedImpl(int index,ImageLayer item){
                    this.index = index;
                    this.builder = new ImageLayerBuilder(this, item);
            }
            DockerImageLayersNestedImpl(){
                    this.index = -1;
                    this.builder = new ImageLayerBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.setToDockerImageLayers(index, builder.build());
    }
    public N endDockerImageLayer(){
            return and();
    }

}
    public class IngressDockerImageMetadataNestedImpl extends IngressFluentImpl> implements ImageFluent.IngressDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final IngressBuilder builder;
    
            IngressDockerImageMetadataNestedImpl(Ingress item){
                    this.builder = new IngressBuilder(this, item);
            }
            IngressDockerImageMetadataNestedImpl(){
                    this.builder = new IngressBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withIngressDockerImageMetadata(builder.build());
    }
    public N endIngressDockerImageMetadata(){
            return and();
    }

}
    public class RouteDockerImageMetadataNestedImpl extends RouteFluentImpl> implements ImageFluent.RouteDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final RouteBuilder builder;
    
            RouteDockerImageMetadataNestedImpl(Route item){
                    this.builder = new RouteBuilder(this, item);
            }
            RouteDockerImageMetadataNestedImpl(){
                    this.builder = new RouteBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withRouteDockerImageMetadata(builder.build());
    }
    public N endRouteDockerImageMetadata(){
            return and();
    }

}
    public class PolicyBindingDockerImageMetadataNestedImpl extends PolicyBindingFluentImpl> implements ImageFluent.PolicyBindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PolicyBindingBuilder builder;
    
            PolicyBindingDockerImageMetadataNestedImpl(PolicyBinding item){
                    this.builder = new PolicyBindingBuilder(this, item);
            }
            PolicyBindingDockerImageMetadataNestedImpl(){
                    this.builder = new PolicyBindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPolicyBindingDockerImageMetadata(builder.build());
    }
    public N endPolicyBindingDockerImageMetadata(){
            return and();
    }

}
    public class ResourceQuotaDockerImageMetadataNestedImpl extends ResourceQuotaFluentImpl> implements ImageFluent.ResourceQuotaDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ResourceQuotaBuilder builder;
    
            ResourceQuotaDockerImageMetadataNestedImpl(ResourceQuota item){
                    this.builder = new ResourceQuotaBuilder(this, item);
            }
            ResourceQuotaDockerImageMetadataNestedImpl(){
                    this.builder = new ResourceQuotaBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withResourceQuotaDockerImageMetadata(builder.build());
    }
    public N endResourceQuotaDockerImageMetadata(){
            return and();
    }

}
    public class ServiceAccountDockerImageMetadataNestedImpl extends ServiceAccountFluentImpl> implements ImageFluent.ServiceAccountDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ServiceAccountBuilder builder;
    
            ServiceAccountDockerImageMetadataNestedImpl(ServiceAccount item){
                    this.builder = new ServiceAccountBuilder(this, item);
            }
            ServiceAccountDockerImageMetadataNestedImpl(){
                    this.builder = new ServiceAccountBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withServiceAccountDockerImageMetadata(builder.build());
    }
    public N endServiceAccountDockerImageMetadata(){
            return and();
    }

}
    public class ConfigMapDockerImageMetadataNestedImpl extends ConfigMapFluentImpl> implements ImageFluent.ConfigMapDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ConfigMapBuilder builder;
    
            ConfigMapDockerImageMetadataNestedImpl(ConfigMap item){
                    this.builder = new ConfigMapBuilder(this, item);
            }
            ConfigMapDockerImageMetadataNestedImpl(){
                    this.builder = new ConfigMapBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withConfigMapDockerImageMetadata(builder.build());
    }
    public N endConfigMapDockerImageMetadata(){
            return and();
    }

}
    public class OAuthClientAuthorizationDockerImageMetadataNestedImpl extends OAuthClientAuthorizationFluentImpl> implements ImageFluent.OAuthClientAuthorizationDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthClientAuthorizationBuilder builder;
    
            OAuthClientAuthorizationDockerImageMetadataNestedImpl(OAuthClientAuthorization item){
                    this.builder = new OAuthClientAuthorizationBuilder(this, item);
            }
            OAuthClientAuthorizationDockerImageMetadataNestedImpl(){
                    this.builder = new OAuthClientAuthorizationBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withOAuthClientAuthorizationDockerImageMetadata(builder.build());
    }
    public N endOAuthClientAuthorizationDockerImageMetadata(){
            return and();
    }

}
    public class PolicyDockerImageMetadataNestedImpl extends PolicyFluentImpl> implements ImageFluent.PolicyDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PolicyBuilder builder;
    
            PolicyDockerImageMetadataNestedImpl(Policy item){
                    this.builder = new PolicyBuilder(this, item);
            }
            PolicyDockerImageMetadataNestedImpl(){
                    this.builder = new PolicyBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPolicyDockerImageMetadata(builder.build());
    }
    public N endPolicyDockerImageMetadata(){
            return and();
    }

}
    public class OAuthAuthorizeTokenDockerImageMetadataNestedImpl extends OAuthAuthorizeTokenFluentImpl> implements ImageFluent.OAuthAuthorizeTokenDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthAuthorizeTokenBuilder builder;
    
            OAuthAuthorizeTokenDockerImageMetadataNestedImpl(OAuthAuthorizeToken item){
                    this.builder = new OAuthAuthorizeTokenBuilder(this, item);
            }
            OAuthAuthorizeTokenDockerImageMetadataNestedImpl(){
                    this.builder = new OAuthAuthorizeTokenBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withOAuthAuthorizeTokenDockerImageMetadata(builder.build());
    }
    public N endOAuthAuthorizeTokenDockerImageMetadata(){
            return and();
    }

}
    public class JenkinsBindingDockerImageMetadataNestedImpl extends JenkinsBindingFluentImpl> implements ImageFluent.JenkinsBindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final JenkinsBindingBuilder builder;
    
            JenkinsBindingDockerImageMetadataNestedImpl(JenkinsBinding item){
                    this.builder = new JenkinsBindingBuilder(this, item);
            }
            JenkinsBindingDockerImageMetadataNestedImpl(){
                    this.builder = new JenkinsBindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withJenkinsBindingDockerImageMetadata(builder.build());
    }
    public N endJenkinsBindingDockerImageMetadata(){
            return and();
    }

}
    public class IdentityDockerImageMetadataNestedImpl extends IdentityFluentImpl> implements ImageFluent.IdentityDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final IdentityBuilder builder;
    
            IdentityDockerImageMetadataNestedImpl(Identity item){
                    this.builder = new IdentityBuilder(this, item);
            }
            IdentityDockerImageMetadataNestedImpl(){
                    this.builder = new IdentityBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withIdentityDockerImageMetadata(builder.build());
    }
    public N endIdentityDockerImageMetadata(){
            return and();
    }

}
    public class PodTemplateDockerImageMetadataNestedImpl extends PodTemplateFluentImpl> implements ImageFluent.PodTemplateDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodTemplateBuilder builder;
    
            PodTemplateDockerImageMetadataNestedImpl(PodTemplate item){
                    this.builder = new PodTemplateBuilder(this, item);
            }
            PodTemplateDockerImageMetadataNestedImpl(){
                    this.builder = new PodTemplateBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPodTemplateDockerImageMetadata(builder.build());
    }
    public N endPodTemplateDockerImageMetadata(){
            return and();
    }

}
    public class TokenReviewDockerImageMetadataNestedImpl extends TokenReviewFluentImpl> implements ImageFluent.TokenReviewDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final TokenReviewBuilder builder;
    
            TokenReviewDockerImageMetadataNestedImpl(TokenReview item){
                    this.builder = new TokenReviewBuilder(this, item);
            }
            TokenReviewDockerImageMetadataNestedImpl(){
                    this.builder = new TokenReviewBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withTokenReviewDockerImageMetadata(builder.build());
    }
    public N endTokenReviewDockerImageMetadata(){
            return and();
    }

}
    public class CustomResourceDefinitionDockerImageMetadataNestedImpl extends CustomResourceDefinitionFluentImpl> implements ImageFluent.CustomResourceDefinitionDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final CustomResourceDefinitionBuilder builder;
    
            CustomResourceDefinitionDockerImageMetadataNestedImpl(CustomResourceDefinition item){
                    this.builder = new CustomResourceDefinitionBuilder(this, item);
            }
            CustomResourceDefinitionDockerImageMetadataNestedImpl(){
                    this.builder = new CustomResourceDefinitionBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withCustomResourceDefinitionDockerImageMetadata(builder.build());
    }
    public N endCustomResourceDefinitionDockerImageMetadata(){
            return and();
    }

}
    public class ImageSignatureDockerImageMetadataNestedImpl extends ImageSignatureFluentImpl> implements ImageFluent.ImageSignatureDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageSignatureBuilder builder;
    
            ImageSignatureDockerImageMetadataNestedImpl(ImageSignature item){
                    this.builder = new ImageSignatureBuilder(this, item);
            }
            ImageSignatureDockerImageMetadataNestedImpl(){
                    this.builder = new ImageSignatureBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withImageSignatureDockerImageMetadata(builder.build());
    }
    public N endImageSignatureDockerImageMetadata(){
            return and();
    }

}
    public class ClusterRoleDockerImageMetadataNestedImpl extends ClusterRoleFluentImpl> implements ImageFluent.ClusterRoleDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterRoleBuilder builder;
    
            ClusterRoleDockerImageMetadataNestedImpl(ClusterRole item){
                    this.builder = new ClusterRoleBuilder(this, item);
            }
            ClusterRoleDockerImageMetadataNestedImpl(){
                    this.builder = new ClusterRoleBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withClusterRoleDockerImageMetadata(builder.build());
    }
    public N endClusterRoleDockerImageMetadata(){
            return and();
    }

}
    public class NamespaceDockerImageMetadataNestedImpl extends NamespaceFluentImpl> implements ImageFluent.NamespaceDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final NamespaceBuilder builder;
    
            NamespaceDockerImageMetadataNestedImpl(Namespace item){
                    this.builder = new NamespaceBuilder(this, item);
            }
            NamespaceDockerImageMetadataNestedImpl(){
                    this.builder = new NamespaceBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withNamespaceDockerImageMetadata(builder.build());
    }
    public N endNamespaceDockerImageMetadata(){
            return and();
    }

}
    public class ClusterPolicyDockerImageMetadataNestedImpl extends ClusterPolicyFluentImpl> implements ImageFluent.ClusterPolicyDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterPolicyBuilder builder;
    
            ClusterPolicyDockerImageMetadataNestedImpl(ClusterPolicy item){
                    this.builder = new ClusterPolicyBuilder(this, item);
            }
            ClusterPolicyDockerImageMetadataNestedImpl(){
                    this.builder = new ClusterPolicyBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withClusterPolicyDockerImageMetadata(builder.build());
    }
    public N endClusterPolicyDockerImageMetadata(){
            return and();
    }

}
    public class BuildDockerImageMetadataNestedImpl extends BuildFluentImpl> implements ImageFluent.BuildDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildBuilder builder;
    
            BuildDockerImageMetadataNestedImpl(Build item){
                    this.builder = new BuildBuilder(this, item);
            }
            BuildDockerImageMetadataNestedImpl(){
                    this.builder = new BuildBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withBuildDockerImageMetadata(builder.build());
    }
    public N endBuildDockerImageMetadata(){
            return and();
    }

}
    public class ScaleDockerImageMetadataNestedImpl extends ScaleFluentImpl> implements ImageFluent.ScaleDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ScaleBuilder builder;
    
            ScaleDockerImageMetadataNestedImpl(Scale item){
                    this.builder = new ScaleBuilder(this, item);
            }
            ScaleDockerImageMetadataNestedImpl(){
                    this.builder = new ScaleBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withScaleDockerImageMetadata(builder.build());
    }
    public N endScaleDockerImageMetadata(){
            return and();
    }

}
    public class PodDockerImageMetadataNestedImpl extends PodFluentImpl> implements ImageFluent.PodDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodBuilder builder;
    
            PodDockerImageMetadataNestedImpl(Pod item){
                    this.builder = new PodBuilder(this, item);
            }
            PodDockerImageMetadataNestedImpl(){
                    this.builder = new PodBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPodDockerImageMetadata(builder.build());
    }
    public N endPodDockerImageMetadata(){
            return and();
    }

}
    public class HorizontalPodAutoscalerDockerImageMetadataNestedImpl extends HorizontalPodAutoscalerFluentImpl> implements ImageFluent.HorizontalPodAutoscalerDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final HorizontalPodAutoscalerBuilder builder;
    
            HorizontalPodAutoscalerDockerImageMetadataNestedImpl(HorizontalPodAutoscaler item){
                    this.builder = new HorizontalPodAutoscalerBuilder(this, item);
            }
            HorizontalPodAutoscalerDockerImageMetadataNestedImpl(){
                    this.builder = new HorizontalPodAutoscalerBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withHorizontalPodAutoscalerDockerImageMetadata(builder.build());
    }
    public N endHorizontalPodAutoscalerDockerImageMetadata(){
            return and();
    }

}
    public class ThirdPartyResourceDockerImageMetadataNestedImpl extends ThirdPartyResourceFluentImpl> implements ImageFluent.ThirdPartyResourceDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ThirdPartyResourceBuilder builder;
    
            ThirdPartyResourceDockerImageMetadataNestedImpl(ThirdPartyResource item){
                    this.builder = new ThirdPartyResourceBuilder(this, item);
            }
            ThirdPartyResourceDockerImageMetadataNestedImpl(){
                    this.builder = new ThirdPartyResourceBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withThirdPartyResourceDockerImageMetadata(builder.build());
    }
    public N endThirdPartyResourceDockerImageMetadata(){
            return and();
    }

}
    public class ImageStreamTagDockerImageMetadataNestedImpl extends ImageStreamTagFluentImpl> implements ImageFluent.ImageStreamTagDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageStreamTagBuilder builder;
    
            ImageStreamTagDockerImageMetadataNestedImpl(ImageStreamTag item){
                    this.builder = new ImageStreamTagBuilder(this, item);
            }
            ImageStreamTagDockerImageMetadataNestedImpl(){
                    this.builder = new ImageStreamTagBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withImageStreamTagDockerImageMetadata(builder.build());
    }
    public N endImageStreamTagDockerImageMetadata(){
            return and();
    }

}
    public class ComponentStatusDockerImageMetadataNestedImpl extends ComponentStatusFluentImpl> implements ImageFluent.ComponentStatusDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ComponentStatusBuilder builder;
    
            ComponentStatusDockerImageMetadataNestedImpl(ComponentStatus item){
                    this.builder = new ComponentStatusBuilder(this, item);
            }
            ComponentStatusDockerImageMetadataNestedImpl(){
                    this.builder = new ComponentStatusBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withComponentStatusDockerImageMetadata(builder.build());
    }
    public N endComponentStatusDockerImageMetadata(){
            return and();
    }

}
    public class SecretDockerImageMetadataNestedImpl extends SecretFluentImpl> implements ImageFluent.SecretDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final SecretBuilder builder;
    
            SecretDockerImageMetadataNestedImpl(Secret item){
                    this.builder = new SecretBuilder(this, item);
            }
            SecretDockerImageMetadataNestedImpl(){
                    this.builder = new SecretBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withSecretDockerImageMetadata(builder.build());
    }
    public N endSecretDockerImageMetadata(){
            return and();
    }

}
    public class ReplicationControllerDockerImageMetadataNestedImpl extends ReplicationControllerFluentImpl> implements ImageFluent.ReplicationControllerDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ReplicationControllerBuilder builder;
    
            ReplicationControllerDockerImageMetadataNestedImpl(ReplicationController item){
                    this.builder = new ReplicationControllerBuilder(this, item);
            }
            ReplicationControllerDockerImageMetadataNestedImpl(){
                    this.builder = new ReplicationControllerBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withReplicationControllerDockerImageMetadata(builder.build());
    }
    public N endReplicationControllerDockerImageMetadata(){
            return and();
    }

}
    public class LimitRangeDockerImageMetadataNestedImpl extends LimitRangeFluentImpl> implements ImageFluent.LimitRangeDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final LimitRangeBuilder builder;
    
            LimitRangeDockerImageMetadataNestedImpl(LimitRange item){
                    this.builder = new LimitRangeBuilder(this, item);
            }
            LimitRangeDockerImageMetadataNestedImpl(){
                    this.builder = new LimitRangeBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withLimitRangeDockerImageMetadata(builder.build());
    }
    public N endLimitRangeDockerImageMetadata(){
            return and();
    }

}
    public class EndpointsDockerImageMetadataNestedImpl extends EndpointsFluentImpl> implements ImageFluent.EndpointsDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final EndpointsBuilder builder;
    
            EndpointsDockerImageMetadataNestedImpl(Endpoints item){
                    this.builder = new EndpointsBuilder(this, item);
            }
            EndpointsDockerImageMetadataNestedImpl(){
                    this.builder = new EndpointsBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withEndpointsDockerImageMetadata(builder.build());
    }
    public N endEndpointsDockerImageMetadata(){
            return and();
    }

}
    public class SecurityContextConstraintsDockerImageMetadataNestedImpl extends SecurityContextConstraintsFluentImpl> implements ImageFluent.SecurityContextConstraintsDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final SecurityContextConstraintsBuilder builder;
    
            SecurityContextConstraintsDockerImageMetadataNestedImpl(SecurityContextConstraints item){
                    this.builder = new SecurityContextConstraintsBuilder(this, item);
            }
            SecurityContextConstraintsDockerImageMetadataNestedImpl(){
                    this.builder = new SecurityContextConstraintsBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withSecurityContextConstraintsDockerImageMetadata(builder.build());
    }
    public N endSecurityContextConstraintsDockerImageMetadata(){
            return and();
    }

}
    public class GroupDockerImageMetadataNestedImpl extends GroupFluentImpl> implements ImageFluent.GroupDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final GroupBuilder builder;
    
            GroupDockerImageMetadataNestedImpl(Group item){
                    this.builder = new GroupBuilder(this, item);
            }
            GroupDockerImageMetadataNestedImpl(){
                    this.builder = new GroupBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withGroupDockerImageMetadata(builder.build());
    }
    public N endGroupDockerImageMetadata(){
            return and();
    }

}
    public class EventDockerImageMetadataNestedImpl extends EventFluentImpl> implements ImageFluent.EventDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final EventBuilder builder;
    
            EventDockerImageMetadataNestedImpl(Event item){
                    this.builder = new EventBuilder(this, item);
            }
            EventDockerImageMetadataNestedImpl(){
                    this.builder = new EventBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withEventDockerImageMetadata(builder.build());
    }
    public N endEventDockerImageMetadata(){
            return and();
    }

}
    public class NodeDockerImageMetadataNestedImpl extends NodeFluentImpl> implements ImageFluent.NodeDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final NodeBuilder builder;
    
            NodeDockerImageMetadataNestedImpl(Node item){
                    this.builder = new NodeBuilder(this, item);
            }
            NodeDockerImageMetadataNestedImpl(){
                    this.builder = new NodeBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withNodeDockerImageMetadata(builder.build());
    }
    public N endNodeDockerImageMetadata(){
            return and();
    }

}
    public class ReplicaSetDockerImageMetadataNestedImpl extends ReplicaSetFluentImpl> implements ImageFluent.ReplicaSetDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ReplicaSetBuilder builder;
    
            ReplicaSetDockerImageMetadataNestedImpl(ReplicaSet item){
                    this.builder = new ReplicaSetBuilder(this, item);
            }
            ReplicaSetDockerImageMetadataNestedImpl(){
                    this.builder = new ReplicaSetBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withReplicaSetDockerImageMetadata(builder.build());
    }
    public N endReplicaSetDockerImageMetadata(){
            return and();
    }

}
    public class ClusterRoleBindingDockerImageMetadataNestedImpl extends ClusterRoleBindingFluentImpl> implements ImageFluent.ClusterRoleBindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterRoleBindingBuilder builder;
    
            ClusterRoleBindingDockerImageMetadataNestedImpl(ClusterRoleBinding item){
                    this.builder = new ClusterRoleBindingBuilder(this, item);
            }
            ClusterRoleBindingDockerImageMetadataNestedImpl(){
                    this.builder = new ClusterRoleBindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withClusterRoleBindingDockerImageMetadata(builder.build());
    }
    public N endClusterRoleBindingDockerImageMetadata(){
            return and();
    }

}
    public class JenkinsDockerImageMetadataNestedImpl extends JenkinsFluentImpl> implements ImageFluent.JenkinsDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final JenkinsBuilder builder;
    
            JenkinsDockerImageMetadataNestedImpl(Jenkins item){
                    this.builder = new JenkinsBuilder(this, item);
            }
            JenkinsDockerImageMetadataNestedImpl(){
                    this.builder = new JenkinsBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withJenkinsDockerImageMetadata(builder.build());
    }
    public N endJenkinsDockerImageMetadata(){
            return and();
    }

}
    public class DaemonSetDockerImageMetadataNestedImpl extends DaemonSetFluentImpl> implements ImageFluent.DaemonSetDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final DaemonSetBuilder builder;
    
            DaemonSetDockerImageMetadataNestedImpl(DaemonSet item){
                    this.builder = new DaemonSetBuilder(this, item);
            }
            DaemonSetDockerImageMetadataNestedImpl(){
                    this.builder = new DaemonSetBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withDaemonSetDockerImageMetadata(builder.build());
    }
    public N endDaemonSetDockerImageMetadata(){
            return and();
    }

}
    public class PodDisruptionBudgetDockerImageMetadataNestedImpl extends PodDisruptionBudgetFluentImpl> implements ImageFluent.PodDisruptionBudgetDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodDisruptionBudgetBuilder builder;
    
            PodDisruptionBudgetDockerImageMetadataNestedImpl(PodDisruptionBudget item){
                    this.builder = new PodDisruptionBudgetBuilder(this, item);
            }
            PodDisruptionBudgetDockerImageMetadataNestedImpl(){
                    this.builder = new PodDisruptionBudgetBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPodDisruptionBudgetDockerImageMetadata(builder.build());
    }
    public N endPodDisruptionBudgetDockerImageMetadata(){
            return and();
    }

}
    public class ImageStreamDockerImageMetadataNestedImpl extends ImageStreamFluentImpl> implements ImageFluent.ImageStreamDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageStreamBuilder builder;
    
            ImageStreamDockerImageMetadataNestedImpl(ImageStream item){
                    this.builder = new ImageStreamBuilder(this, item);
            }
            ImageStreamDockerImageMetadataNestedImpl(){
                    this.builder = new ImageStreamBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withImageStreamDockerImageMetadata(builder.build());
    }
    public N endImageStreamDockerImageMetadata(){
            return and();
    }

}
    public class RoleBindingRestrictionDockerImageMetadataNestedImpl extends RoleBindingRestrictionFluentImpl> implements ImageFluent.RoleBindingRestrictionDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBindingRestrictionBuilder builder;
    
            RoleBindingRestrictionDockerImageMetadataNestedImpl(RoleBindingRestriction item){
                    this.builder = new RoleBindingRestrictionBuilder(this, item);
            }
            RoleBindingRestrictionDockerImageMetadataNestedImpl(){
                    this.builder = new RoleBindingRestrictionBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withRoleBindingRestrictionDockerImageMetadata(builder.build());
    }
    public N endRoleBindingRestrictionDockerImageMetadata(){
            return and();
    }

}
    public class BindingDockerImageMetadataNestedImpl extends BindingFluentImpl> implements ImageFluent.BindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final BindingBuilder builder;
    
            BindingDockerImageMetadataNestedImpl(Binding item){
                    this.builder = new BindingBuilder(this, item);
            }
            BindingDockerImageMetadataNestedImpl(){
                    this.builder = new BindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withBindingDockerImageMetadata(builder.build());
    }
    public N endBindingDockerImageMetadata(){
            return and();
    }

}
    public class AuthorizationLocalSubjectAccessReviewDockerImageMetadataNestedImpl extends io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewFluentImpl> implements ImageFluent.AuthorizationLocalSubjectAccessReviewDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder builder;
    
            AuthorizationLocalSubjectAccessReviewDockerImageMetadataNestedImpl(io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview item){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder(this, item);
            }
            AuthorizationLocalSubjectAccessReviewDockerImageMetadataNestedImpl(){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withLocalSubjectAccessReviewDockerImageMetadata(builder.build());
    }
    public N endAuthorizationLocalSubjectAccessReviewDockerImageMetadata(){
            return and();
    }

}
    public class StatefulSetDockerImageMetadataNestedImpl extends StatefulSetFluentImpl> implements ImageFluent.StatefulSetDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final StatefulSetBuilder builder;
    
            StatefulSetDockerImageMetadataNestedImpl(StatefulSet item){
                    this.builder = new StatefulSetBuilder(this, item);
            }
            StatefulSetDockerImageMetadataNestedImpl(){
                    this.builder = new StatefulSetBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withStatefulSetDockerImageMetadata(builder.build());
    }
    public N endStatefulSetDockerImageMetadata(){
            return and();
    }

}
    public class PipelineTemplateTaskInstanceDockerImageMetadataNestedImpl extends PipelineTemplateTaskInstanceFluentImpl> implements ImageFluent.PipelineTemplateTaskInstanceDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineTemplateTaskInstanceBuilder builder;
    
            PipelineTemplateTaskInstanceDockerImageMetadataNestedImpl(PipelineTemplateTaskInstance item){
                    this.builder = new PipelineTemplateTaskInstanceBuilder(this, item);
            }
            PipelineTemplateTaskInstanceDockerImageMetadataNestedImpl(){
                    this.builder = new PipelineTemplateTaskInstanceBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPipelineTemplateTaskInstanceDockerImageMetadata(builder.build());
    }
    public N endPipelineTemplateTaskInstanceDockerImageMetadata(){
            return and();
    }

}
    public class OAuthClientDockerImageMetadataNestedImpl extends OAuthClientFluentImpl> implements ImageFluent.OAuthClientDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthClientBuilder builder;
    
            OAuthClientDockerImageMetadataNestedImpl(OAuthClient item){
                    this.builder = new OAuthClientBuilder(this, item);
            }
            OAuthClientDockerImageMetadataNestedImpl(){
                    this.builder = new OAuthClientBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withOAuthClientDockerImageMetadata(builder.build());
    }
    public N endOAuthClientDockerImageMetadata(){
            return and();
    }

}
    public class TemplateDockerImageMetadataNestedImpl extends TemplateFluentImpl> implements ImageFluent.TemplateDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final TemplateBuilder builder;
    
            TemplateDockerImageMetadataNestedImpl(Template item){
                    this.builder = new TemplateBuilder(this, item);
            }
            TemplateDockerImageMetadataNestedImpl(){
                    this.builder = new TemplateBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withTemplateDockerImageMetadata(builder.build());
    }
    public N endTemplateDockerImageMetadata(){
            return and();
    }

}
    public class BuildConfigDockerImageMetadataNestedImpl extends BuildConfigFluentImpl> implements ImageFluent.BuildConfigDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildConfigBuilder builder;
    
            BuildConfigDockerImageMetadataNestedImpl(BuildConfig item){
                    this.builder = new BuildConfigBuilder(this, item);
            }
            BuildConfigDockerImageMetadataNestedImpl(){
                    this.builder = new BuildConfigBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withBuildConfigDockerImageMetadata(builder.build());
    }
    public N endBuildConfigDockerImageMetadata(){
            return and();
    }

}
    public class PodSecurityPolicyDockerImageMetadataNestedImpl extends PodSecurityPolicyFluentImpl> implements ImageFluent.PodSecurityPolicyDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodSecurityPolicyBuilder builder;
    
            PodSecurityPolicyDockerImageMetadataNestedImpl(PodSecurityPolicy item){
                    this.builder = new PodSecurityPolicyBuilder(this, item);
            }
            PodSecurityPolicyDockerImageMetadataNestedImpl(){
                    this.builder = new PodSecurityPolicyBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPodSecurityPolicyDockerImageMetadata(builder.build());
    }
    public N endPodSecurityPolicyDockerImageMetadata(){
            return and();
    }

}
    public class PipelineDockerImageMetadataNestedImpl extends PipelineFluentImpl> implements ImageFluent.PipelineDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineBuilder builder;
    
            PipelineDockerImageMetadataNestedImpl(Pipeline item){
                    this.builder = new PipelineBuilder(this, item);
            }
            PipelineDockerImageMetadataNestedImpl(){
                    this.builder = new PipelineBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPipelineDockerImageMetadata(builder.build());
    }
    public N endPipelineDockerImageMetadata(){
            return and();
    }

}
    public class RoleDockerImageMetadataNestedImpl extends RoleFluentImpl> implements ImageFluent.RoleDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBuilder builder;
    
            RoleDockerImageMetadataNestedImpl(Role item){
                    this.builder = new RoleBuilder(this, item);
            }
            RoleDockerImageMetadataNestedImpl(){
                    this.builder = new RoleBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withRoleDockerImageMetadata(builder.build());
    }
    public N endRoleDockerImageMetadata(){
            return and();
    }

}
    public class CronJobDockerImageMetadataNestedImpl extends CronJobFluentImpl> implements ImageFluent.CronJobDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final CronJobBuilder builder;
    
            CronJobDockerImageMetadataNestedImpl(CronJob item){
                    this.builder = new CronJobBuilder(this, item);
            }
            CronJobDockerImageMetadataNestedImpl(){
                    this.builder = new CronJobBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withCronJobDockerImageMetadata(builder.build());
    }
    public N endCronJobDockerImageMetadata(){
            return and();
    }

}
    public class UserDockerImageMetadataNestedImpl extends UserFluentImpl> implements ImageFluent.UserDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final UserBuilder builder;
    
            UserDockerImageMetadataNestedImpl(User item){
                    this.builder = new UserBuilder(this, item);
            }
            UserDockerImageMetadataNestedImpl(){
                    this.builder = new UserBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withUserDockerImageMetadata(builder.build());
    }
    public N endUserDockerImageMetadata(){
            return and();
    }

}
    public class AuthorizationSubjectAccessReviewDockerImageMetadataNestedImpl extends io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewFluentImpl> implements ImageFluent.AuthorizationSubjectAccessReviewDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder builder;
    
            AuthorizationSubjectAccessReviewDockerImageMetadataNestedImpl(io.alauda.kubernetes.api.model.authorization.SubjectAccessReview item){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder(this, item);
            }
            AuthorizationSubjectAccessReviewDockerImageMetadataNestedImpl(){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withSubjectAccessReviewDockerImageMetadata(builder.build());
    }
    public N endAuthorizationSubjectAccessReviewDockerImageMetadata(){
            return and();
    }

}
    public class StorageClassDockerImageMetadataNestedImpl extends StorageClassFluentImpl> implements ImageFluent.StorageClassDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final StorageClassBuilder builder;
    
            StorageClassDockerImageMetadataNestedImpl(StorageClass item){
                    this.builder = new StorageClassBuilder(this, item);
            }
            StorageClassDockerImageMetadataNestedImpl(){
                    this.builder = new StorageClassBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withStorageClassDockerImageMetadata(builder.build());
    }
    public N endStorageClassDockerImageMetadata(){
            return and();
    }

}
    public class PipelineConfigTemplateDockerImageMetadataNestedImpl extends PipelineConfigTemplateFluentImpl> implements ImageFluent.PipelineConfigTemplateDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineConfigTemplateBuilder builder;
    
            PipelineConfigTemplateDockerImageMetadataNestedImpl(PipelineConfigTemplate item){
                    this.builder = new PipelineConfigTemplateBuilder(this, item);
            }
            PipelineConfigTemplateDockerImageMetadataNestedImpl(){
                    this.builder = new PipelineConfigTemplateBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPipelineConfigTemplateDockerImageMetadata(builder.build());
    }
    public N endPipelineConfigTemplateDockerImageMetadata(){
            return and();
    }

}
    public class PipelineConfigDockerImageMetadataNestedImpl extends PipelineConfigFluentImpl> implements ImageFluent.PipelineConfigDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineConfigBuilder builder;
    
            PipelineConfigDockerImageMetadataNestedImpl(PipelineConfig item){
                    this.builder = new PipelineConfigBuilder(this, item);
            }
            PipelineConfigDockerImageMetadataNestedImpl(){
                    this.builder = new PipelineConfigBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPipelineConfigDockerImageMetadata(builder.build());
    }
    public N endPipelineConfigDockerImageMetadata(){
            return and();
    }

}
    public class DeploymentConfigDockerImageMetadataNestedImpl extends DeploymentConfigFluentImpl> implements ImageFluent.DeploymentConfigDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final DeploymentConfigBuilder builder;
    
            DeploymentConfigDockerImageMetadataNestedImpl(DeploymentConfig item){
                    this.builder = new DeploymentConfigBuilder(this, item);
            }
            DeploymentConfigDockerImageMetadataNestedImpl(){
                    this.builder = new DeploymentConfigBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withDeploymentConfigDockerImageMetadata(builder.build());
    }
    public N endDeploymentConfigDockerImageMetadata(){
            return and();
    }

}
    public class OAuthAccessTokenDockerImageMetadataNestedImpl extends OAuthAccessTokenFluentImpl> implements ImageFluent.OAuthAccessTokenDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthAccessTokenBuilder builder;
    
            OAuthAccessTokenDockerImageMetadataNestedImpl(OAuthAccessToken item){
                    this.builder = new OAuthAccessTokenBuilder(this, item);
            }
            OAuthAccessTokenDockerImageMetadataNestedImpl(){
                    this.builder = new OAuthAccessTokenBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withOAuthAccessTokenDockerImageMetadata(builder.build());
    }
    public N endOAuthAccessTokenDockerImageMetadata(){
            return and();
    }

}
    public class PersistentVolumeClaimDockerImageMetadataNestedImpl extends PersistentVolumeClaimFluentImpl> implements ImageFluent.PersistentVolumeClaimDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PersistentVolumeClaimBuilder builder;
    
            PersistentVolumeClaimDockerImageMetadataNestedImpl(PersistentVolumeClaim item){
                    this.builder = new PersistentVolumeClaimBuilder(this, item);
            }
            PersistentVolumeClaimDockerImageMetadataNestedImpl(){
                    this.builder = new PersistentVolumeClaimBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPersistentVolumeClaimDockerImageMetadata(builder.build());
    }
    public N endPersistentVolumeClaimDockerImageMetadata(){
            return and();
    }

}
    public class NetworkPolicyDockerImageMetadataNestedImpl extends NetworkPolicyFluentImpl> implements ImageFluent.NetworkPolicyDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final NetworkPolicyBuilder builder;
    
            NetworkPolicyDockerImageMetadataNestedImpl(NetworkPolicy item){
                    this.builder = new NetworkPolicyBuilder(this, item);
            }
            NetworkPolicyDockerImageMetadataNestedImpl(){
                    this.builder = new NetworkPolicyBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withNetworkPolicyDockerImageMetadata(builder.build());
    }
    public N endNetworkPolicyDockerImageMetadata(){
            return and();
    }

}
    public class ImageDockerImageMetadataNestedImpl extends ImageFluentImpl> implements ImageFluent.ImageDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageBuilder builder;
    
            ImageDockerImageMetadataNestedImpl(Image item){
                    this.builder = new ImageBuilder(this, item);
            }
            ImageDockerImageMetadataNestedImpl(){
                    this.builder = new ImageBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withImageDockerImageMetadata(builder.build());
    }
    public N endImageDockerImageMetadata(){
            return and();
    }

}
    public class ServiceDockerImageMetadataNestedImpl extends ServiceFluentImpl> implements ImageFluent.ServiceDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ServiceBuilder builder;
    
            ServiceDockerImageMetadataNestedImpl(Service item){
                    this.builder = new ServiceBuilder(this, item);
            }
            ServiceDockerImageMetadataNestedImpl(){
                    this.builder = new ServiceBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withServiceDockerImageMetadata(builder.build());
    }
    public N endServiceDockerImageMetadata(){
            return and();
    }

}
    public class JobDockerImageMetadataNestedImpl extends JobFluentImpl> implements ImageFluent.JobDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final JobBuilder builder;
    
            JobDockerImageMetadataNestedImpl(Job item){
                    this.builder = new JobBuilder(this, item);
            }
            JobDockerImageMetadataNestedImpl(){
                    this.builder = new JobBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withJobDockerImageMetadata(builder.build());
    }
    public N endJobDockerImageMetadata(){
            return and();
    }

}
    public class DeploymentDockerImageMetadataNestedImpl extends DeploymentFluentImpl> implements ImageFluent.DeploymentDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final DeploymentBuilder builder;
    
            DeploymentDockerImageMetadataNestedImpl(Deployment item){
                    this.builder = new DeploymentBuilder(this, item);
            }
            DeploymentDockerImageMetadataNestedImpl(){
                    this.builder = new DeploymentBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withDeploymentDockerImageMetadata(builder.build());
    }
    public N endDeploymentDockerImageMetadata(){
            return and();
    }

}
    public class ClusterPolicyBindingDockerImageMetadataNestedImpl extends ClusterPolicyBindingFluentImpl> implements ImageFluent.ClusterPolicyBindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterPolicyBindingBuilder builder;
    
            ClusterPolicyBindingDockerImageMetadataNestedImpl(ClusterPolicyBinding item){
                    this.builder = new ClusterPolicyBindingBuilder(this, item);
            }
            ClusterPolicyBindingDockerImageMetadataNestedImpl(){
                    this.builder = new ClusterPolicyBindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withClusterPolicyBindingDockerImageMetadata(builder.build());
    }
    public N endClusterPolicyBindingDockerImageMetadata(){
            return and();
    }

}
    public class ProjectDockerImageMetadataNestedImpl extends ProjectFluentImpl> implements ImageFluent.ProjectDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ProjectBuilder builder;
    
            ProjectDockerImageMetadataNestedImpl(Project item){
                    this.builder = new ProjectBuilder(this, item);
            }
            ProjectDockerImageMetadataNestedImpl(){
                    this.builder = new ProjectBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withProjectDockerImageMetadata(builder.build());
    }
    public N endProjectDockerImageMetadata(){
            return and();
    }

}
    public class BuildRequestDockerImageMetadataNestedImpl extends BuildRequestFluentImpl> implements ImageFluent.BuildRequestDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildRequestBuilder builder;
    
            BuildRequestDockerImageMetadataNestedImpl(BuildRequest item){
                    this.builder = new BuildRequestBuilder(this, item);
            }
            BuildRequestDockerImageMetadataNestedImpl(){
                    this.builder = new BuildRequestBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withBuildRequestDockerImageMetadata(builder.build());
    }
    public N endBuildRequestDockerImageMetadata(){
            return and();
    }

}
    public class RoleBindingDockerImageMetadataNestedImpl extends RoleBindingFluentImpl> implements ImageFluent.RoleBindingDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBindingBuilder builder;
    
            RoleBindingDockerImageMetadataNestedImpl(RoleBinding item){
                    this.builder = new RoleBindingBuilder(this, item);
            }
            RoleBindingDockerImageMetadataNestedImpl(){
                    this.builder = new RoleBindingBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withRoleBindingDockerImageMetadata(builder.build());
    }
    public N endRoleBindingDockerImageMetadata(){
            return and();
    }

}
    public class PersistentVolumeDockerImageMetadataNestedImpl extends PersistentVolumeFluentImpl> implements ImageFluent.PersistentVolumeDockerImageMetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final PersistentVolumeBuilder builder;
    
            PersistentVolumeDockerImageMetadataNestedImpl(PersistentVolume item){
                    this.builder = new PersistentVolumeBuilder(this, item);
            }
            PersistentVolumeDockerImageMetadataNestedImpl(){
                    this.builder = new PersistentVolumeBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withPersistentVolumeDockerImageMetadata(builder.build());
    }
    public N endPersistentVolumeDockerImageMetadata(){
            return and();
    }

}
    public class MetadataNestedImpl extends ObjectMetaFluentImpl> implements ImageFluent.MetadataNested,io.alauda.kubernetes.api.builder.Nested{

            private final ObjectMetaBuilder builder;
    
            MetadataNestedImpl(ObjectMeta item){
                    this.builder = new ObjectMetaBuilder(this, item);
            }
            MetadataNestedImpl(){
                    this.builder = new ObjectMetaBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.withMetadata(builder.build());
    }
    public N endMetadata(){
            return and();
    }

}
    public class SignaturesNestedImpl extends ImageSignatureFluentImpl> implements ImageFluent.SignaturesNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageSignatureBuilder builder;
        private final int index;
    
            SignaturesNestedImpl(int index,ImageSignature item){
                    this.index = index;
                    this.builder = new ImageSignatureBuilder(this, item);
            }
            SignaturesNestedImpl(){
                    this.index = -1;
                    this.builder = new ImageSignatureBuilder(this);
            }
    
    public N and(){
            return (N) ImageFluentImpl.this.setToSignatures(index, builder.build());
    }
    public N endSignature(){
            return and();
    }

}


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy