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

io.fabric8.openshift.api.model.TemplateFluentImpl Maven / Gradle / Ivy

There is a newer version: 4.1.1
Show newest version
package io.fabric8.openshift.api.model;

import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.String;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotNull;
import java.util.Map;
import javax.validation.Valid;
import java.util.LinkedHashMap;
import io.fabric8.kubernetes.api.builder.VisitableBuilder;
import java.util.List;
import javax.validation.constraints.Size;
import java.util.ArrayList;
import io.fabric8.kubernetes.api.model.ObjectMeta;
import io.fabric8.kubernetes.api.model.validators.CheckObjectMeta;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.LimitRange;
import io.fabric8.kubernetes.api.model.extensions.ThirdPartyResource;
import io.fabric8.kubernetes.api.model.extensions.Job;
import io.fabric8.kubernetes.api.model.SecurityContextConstraints;
import io.fabric8.kubernetes.api.model.Namespace;
import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.ReplicationController;
import io.fabric8.kubernetes.api.model.extensions.Scale;
import io.fabric8.kubernetes.api.model.PodTemplate;
import io.fabric8.kubernetes.api.model.Event;
import io.fabric8.kubernetes.api.model.extensions.Ingress;
import io.fabric8.kubernetes.api.model.PersistentVolume;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaim;
import io.fabric8.kubernetes.api.model.extensions.ReplicaSet;
import io.fabric8.kubernetes.api.model.Endpoints;
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.extensions.DaemonSet;
import io.fabric8.kubernetes.api.model.extensions.Deployment;
import io.fabric8.kubernetes.api.model.ComponentStatus;
import io.fabric8.kubernetes.api.model.Binding;
import io.fabric8.kubernetes.api.model.ResourceQuota;
import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.api.model.Node;
import io.fabric8.kubernetes.api.model.extensions.HorizontalPodAutoscaler;
import io.fabric8.kubernetes.api.model.ServiceAccount;
import java.lang.Object;
import io.fabric8.kubernetes.api.builder.Nested;
import io.fabric8.kubernetes.api.model.ObjectMetaFluentImpl;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
import io.fabric8.kubernetes.api.model.LimitRangeFluentImpl;
import io.fabric8.kubernetes.api.model.LimitRangeBuilder;
import io.fabric8.kubernetes.api.model.extensions.ThirdPartyResourceFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.ThirdPartyResourceBuilder;
import io.fabric8.kubernetes.api.model.extensions.JobFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.JobBuilder;
import io.fabric8.kubernetes.api.model.SecurityContextConstraintsFluentImpl;
import io.fabric8.kubernetes.api.model.SecurityContextConstraintsBuilder;
import io.fabric8.kubernetes.api.model.NamespaceFluentImpl;
import io.fabric8.kubernetes.api.model.NamespaceBuilder;
import io.fabric8.kubernetes.api.model.ServiceFluentImpl;
import io.fabric8.kubernetes.api.model.ServiceBuilder;
import io.fabric8.kubernetes.api.model.ReplicationControllerFluentImpl;
import io.fabric8.kubernetes.api.model.ReplicationControllerBuilder;
import io.fabric8.kubernetes.api.model.extensions.ScaleFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.ScaleBuilder;
import io.fabric8.kubernetes.api.model.PodTemplateFluentImpl;
import io.fabric8.kubernetes.api.model.PodTemplateBuilder;
import io.fabric8.kubernetes.api.model.EventFluentImpl;
import io.fabric8.kubernetes.api.model.EventBuilder;
import io.fabric8.kubernetes.api.model.extensions.IngressFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.IngressBuilder;
import io.fabric8.kubernetes.api.model.PersistentVolumeFluentImpl;
import io.fabric8.kubernetes.api.model.PersistentVolumeBuilder;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaimFluentImpl;
import io.fabric8.kubernetes.api.model.PersistentVolumeClaimBuilder;
import io.fabric8.kubernetes.api.model.extensions.ReplicaSetFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.ReplicaSetBuilder;
import io.fabric8.kubernetes.api.model.EndpointsFluentImpl;
import io.fabric8.kubernetes.api.model.EndpointsBuilder;
import io.fabric8.kubernetes.api.model.PodFluentImpl;
import io.fabric8.kubernetes.api.model.PodBuilder;
import io.fabric8.kubernetes.api.model.ConfigMapFluentImpl;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
import io.fabric8.kubernetes.api.model.extensions.DaemonSetFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.DaemonSetBuilder;
import io.fabric8.kubernetes.api.model.extensions.DeploymentFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.DeploymentBuilder;
import io.fabric8.kubernetes.api.model.ComponentStatusFluentImpl;
import io.fabric8.kubernetes.api.model.ComponentStatusBuilder;
import io.fabric8.kubernetes.api.model.BindingFluentImpl;
import io.fabric8.kubernetes.api.model.BindingBuilder;
import io.fabric8.kubernetes.api.model.ResourceQuotaFluentImpl;
import io.fabric8.kubernetes.api.model.ResourceQuotaBuilder;
import io.fabric8.kubernetes.api.model.SecretFluentImpl;
import io.fabric8.kubernetes.api.model.SecretBuilder;
import io.fabric8.kubernetes.api.model.NodeFluentImpl;
import io.fabric8.kubernetes.api.model.NodeBuilder;
import io.fabric8.kubernetes.api.model.extensions.HorizontalPodAutoscalerFluentImpl;
import io.fabric8.kubernetes.api.model.extensions.HorizontalPodAutoscalerBuilder;
import io.fabric8.kubernetes.api.model.ServiceAccountFluentImpl;
import io.fabric8.kubernetes.api.model.ServiceAccountBuilder;

public class TemplateFluentImpl> extends BaseFluent implements TemplateFluent{

    private String apiVersion;
    private String kind;
    private Map labels = new LinkedHashMap();
    private VisitableBuilder metadata;
    private List> objects =  new ArrayList>();
    private List> parameters =  new ArrayList>();

    public TemplateFluentImpl(){
    }
    public TemplateFluentImpl(Template instance){
            this.withApiVersion(instance.getApiVersion()); 
            this.withKind(instance.getKind()); 
            this.withLabels(instance.getLabels()); 
            this.withMetadata(instance.getMetadata()); 
            this.withObjects(instance.getObjects()); 
            this.withParameters(instance.getParameters()); 
    }

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

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

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

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

    public A addToLabels(String key,String value){
            if(key != null && value != null) {this.labels.put(key, value);} return (A)this;
    }

    public A addToLabels(Map map){
            if(map != null) { this.labels.putAll(map);} return (A)this;
    }

    public A removeFromLabels(String key){
            if(key != null) {this.labels.remove(key);} return (A)this;
    }

    public A removeFromLabels(Map map){
            if(map != null) { for(Object key : map.keySet()) {this.labels.remove(key);}} return (A)this;
    }

    public Map getLabels(){
            return this.labels;
    }

    public A withLabels(Map labels){
            this.labels.clear();
            if (labels != null) {this.labels.putAll(labels);} return (A) this;
    }

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

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

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

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

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

    public A addToObjects(HasMetadata... items){
            for (HasMetadata item : items) {if (item instanceof LimitRange){addToLimitRangeObjects((LimitRange)item);}
 else if (item instanceof ThirdPartyResource){addToThirdPartyResourceObjects((ThirdPartyResource)item);}
 else if (item instanceof Job){addToJobObjects((Job)item);}
 else if (item instanceof Project){addToProjectObjects((Project)item);}
 else if (item instanceof SecurityContextConstraints){addToSecurityContextConstraintsObjects((SecurityContextConstraints)item);}
 else if (item instanceof BuildConfig){addToBuildConfigObjects((BuildConfig)item);}
 else if (item instanceof Route){addToRouteObjects((Route)item);}
 else if (item instanceof OAuthAuthorizeToken){addToOAuthAuthorizeTokenObjects((OAuthAuthorizeToken)item);}
 else if (item instanceof Namespace){addToNamespaceObjects((Namespace)item);}
 else if (item instanceof ClusterRoleBinding){addToClusterRoleBindingObjects((ClusterRoleBinding)item);}
 else if (item instanceof Service){addToServiceObjects((Service)item);}
 else if (item instanceof ReplicationController){addToReplicationControllerObjects((ReplicationController)item);}
 else if (item instanceof ProjectRequest){addToProjectRequestObjects((ProjectRequest)item);}
 else if (item instanceof Template){addToTemplateObjects((Template)item);}
 else if (item instanceof OAuthClientAuthorization){addToOAuthClientAuthorizationObjects((OAuthClientAuthorization)item);}
 else if (item instanceof PolicyBinding){addToPolicyBindingObjects((PolicyBinding)item);}
 else if (item instanceof ClusterRole){addToClusterRoleObjects((ClusterRole)item);}
 else if (item instanceof Scale){addToScaleObjects((Scale)item);}
 else if (item instanceof PodTemplate){addToPodTemplateObjects((PodTemplate)item);}
 else if (item instanceof Event){addToEventObjects((Event)item);}
 else if (item instanceof Ingress){addToIngressObjects((Ingress)item);}
 else if (item instanceof DeploymentConfig){addToDeploymentConfigObjects((DeploymentConfig)item);}
 else if (item instanceof OAuthAccessToken){addToOAuthAccessTokenObjects((OAuthAccessToken)item);}
 else if (item instanceof RoleBinding){addToRoleBindingObjects((RoleBinding)item);}
 else if (item instanceof Image){addToImageObjects((Image)item);}
 else if (item instanceof PersistentVolume){addToPersistentVolumeObjects((PersistentVolume)item);}
 else if (item instanceof PersistentVolumeClaim){addToPersistentVolumeClaimObjects((PersistentVolumeClaim)item);}
 else if (item instanceof ReplicaSet){addToReplicaSetObjects((ReplicaSet)item);}
 else if (item instanceof Role){addToRoleObjects((Role)item);}
 else if (item instanceof Endpoints){addToEndpointsObjects((Endpoints)item);}
 else if (item instanceof Pod){addToPodObjects((Pod)item);}
 else if (item instanceof ConfigMap){addToConfigMapObjects((ConfigMap)item);}
 else if (item instanceof ClusterPolicy){addToClusterPolicyObjects((ClusterPolicy)item);}
 else if (item instanceof DaemonSet){addToDaemonSetObjects((DaemonSet)item);}
 else if (item instanceof Deployment){addToDeploymentObjects((Deployment)item);}
 else if (item instanceof User){addToUserObjects((User)item);}
 else if (item instanceof ComponentStatus){addToComponentStatusObjects((ComponentStatus)item);}
 else if (item instanceof Build){addToBuildObjects((Build)item);}
 else if (item instanceof Group){addToGroupObjects((Group)item);}
 else if (item instanceof Policy){addToPolicyObjects((Policy)item);}
 else if (item instanceof Binding){addToBindingObjects((Binding)item);}
 else if (item instanceof ResourceQuota){addToResourceQuotaObjects((ResourceQuota)item);}
 else if (item instanceof Secret){addToSecretObjects((Secret)item);}
 else if (item instanceof BuildRequest){addToBuildRequestObjects((BuildRequest)item);}
 else if (item instanceof ClusterPolicyBinding){addToClusterPolicyBindingObjects((ClusterPolicyBinding)item);}
 else if (item instanceof Node){addToNodeObjects((Node)item);}
 else if (item instanceof ImageStream){addToImageStreamObjects((ImageStream)item);}
 else if (item instanceof HorizontalPodAutoscaler){addToHorizontalPodAutoscalerObjects((HorizontalPodAutoscaler)item);}
 else if (item instanceof OAuthClient){addToOAuthClientObjects((OAuthClient)item);}
 else if (item instanceof Identity){addToIdentityObjects((Identity)item);}
 else if (item instanceof ServiceAccount){addToServiceAccountObjects((ServiceAccount)item);}
} return (A)this;
    }

    public A removeFromObjects(HasMetadata... items){
            for (HasMetadata item : items) {if (item instanceof LimitRange){removeFromLimitRangeObjects((LimitRange)item);}
 else if (item instanceof ThirdPartyResource){removeFromThirdPartyResourceObjects((ThirdPartyResource)item);}
 else if (item instanceof Job){removeFromJobObjects((Job)item);}
 else if (item instanceof Project){removeFromProjectObjects((Project)item);}
 else if (item instanceof SecurityContextConstraints){removeFromSecurityContextConstraintsObjects((SecurityContextConstraints)item);}
 else if (item instanceof BuildConfig){removeFromBuildConfigObjects((BuildConfig)item);}
 else if (item instanceof Route){removeFromRouteObjects((Route)item);}
 else if (item instanceof OAuthAuthorizeToken){removeFromOAuthAuthorizeTokenObjects((OAuthAuthorizeToken)item);}
 else if (item instanceof Namespace){removeFromNamespaceObjects((Namespace)item);}
 else if (item instanceof ClusterRoleBinding){removeFromClusterRoleBindingObjects((ClusterRoleBinding)item);}
 else if (item instanceof Service){removeFromServiceObjects((Service)item);}
 else if (item instanceof ReplicationController){removeFromReplicationControllerObjects((ReplicationController)item);}
 else if (item instanceof ProjectRequest){removeFromProjectRequestObjects((ProjectRequest)item);}
 else if (item instanceof Template){removeFromTemplateObjects((Template)item);}
 else if (item instanceof OAuthClientAuthorization){removeFromOAuthClientAuthorizationObjects((OAuthClientAuthorization)item);}
 else if (item instanceof PolicyBinding){removeFromPolicyBindingObjects((PolicyBinding)item);}
 else if (item instanceof ClusterRole){removeFromClusterRoleObjects((ClusterRole)item);}
 else if (item instanceof Scale){removeFromScaleObjects((Scale)item);}
 else if (item instanceof PodTemplate){removeFromPodTemplateObjects((PodTemplate)item);}
 else if (item instanceof Event){removeFromEventObjects((Event)item);}
 else if (item instanceof Ingress){removeFromIngressObjects((Ingress)item);}
 else if (item instanceof DeploymentConfig){removeFromDeploymentConfigObjects((DeploymentConfig)item);}
 else if (item instanceof OAuthAccessToken){removeFromOAuthAccessTokenObjects((OAuthAccessToken)item);}
 else if (item instanceof RoleBinding){removeFromRoleBindingObjects((RoleBinding)item);}
 else if (item instanceof Image){removeFromImageObjects((Image)item);}
 else if (item instanceof PersistentVolume){removeFromPersistentVolumeObjects((PersistentVolume)item);}
 else if (item instanceof PersistentVolumeClaim){removeFromPersistentVolumeClaimObjects((PersistentVolumeClaim)item);}
 else if (item instanceof ReplicaSet){removeFromReplicaSetObjects((ReplicaSet)item);}
 else if (item instanceof Role){removeFromRoleObjects((Role)item);}
 else if (item instanceof Endpoints){removeFromEndpointsObjects((Endpoints)item);}
 else if (item instanceof Pod){removeFromPodObjects((Pod)item);}
 else if (item instanceof ConfigMap){removeFromConfigMapObjects((ConfigMap)item);}
 else if (item instanceof ClusterPolicy){removeFromClusterPolicyObjects((ClusterPolicy)item);}
 else if (item instanceof DaemonSet){removeFromDaemonSetObjects((DaemonSet)item);}
 else if (item instanceof Deployment){removeFromDeploymentObjects((Deployment)item);}
 else if (item instanceof User){removeFromUserObjects((User)item);}
 else if (item instanceof ComponentStatus){removeFromComponentStatusObjects((ComponentStatus)item);}
 else if (item instanceof Build){removeFromBuildObjects((Build)item);}
 else if (item instanceof Group){removeFromGroupObjects((Group)item);}
 else if (item instanceof Policy){removeFromPolicyObjects((Policy)item);}
 else if (item instanceof Binding){removeFromBindingObjects((Binding)item);}
 else if (item instanceof ResourceQuota){removeFromResourceQuotaObjects((ResourceQuota)item);}
 else if (item instanceof Secret){removeFromSecretObjects((Secret)item);}
 else if (item instanceof BuildRequest){removeFromBuildRequestObjects((BuildRequest)item);}
 else if (item instanceof ClusterPolicyBinding){removeFromClusterPolicyBindingObjects((ClusterPolicyBinding)item);}
 else if (item instanceof Node){removeFromNodeObjects((Node)item);}
 else if (item instanceof ImageStream){removeFromImageStreamObjects((ImageStream)item);}
 else if (item instanceof HorizontalPodAutoscaler){removeFromHorizontalPodAutoscalerObjects((HorizontalPodAutoscaler)item);}
 else if (item instanceof OAuthClient){removeFromOAuthClientObjects((OAuthClient)item);}
 else if (item instanceof Identity){removeFromIdentityObjects((Identity)item);}
 else if (item instanceof ServiceAccount){removeFromServiceAccountObjects((ServiceAccount)item);}
} return (A)this;
    }

    public List getObjects(){
            return build(objects);
    }

    public A withObjects(List objects){
            this.objects.clear();
            if (objects != null) {for (HasMetadata item : objects){this.addToObjects(item);}} return (A) this;
    }

    public A withObjects(HasMetadata... objects){
            this.objects.clear(); if (objects != null) {for (HasMetadata item :objects){ this.addToObjects(item);}} return (A) this;
    }

    public A addToLimitRangeObjects(LimitRange... items){
            for (LimitRange item : items) {LimitRangeBuilder builder = new LimitRangeBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromLimitRangeObjects(LimitRange... items){
            for (LimitRange item : items) {LimitRangeBuilder builder = new LimitRangeBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.LimitRangeObjectsNested addNewLimitRangeObject(){
            return new LimitRangeObjectsNestedImpl();
    }

    public TemplateFluent.LimitRangeObjectsNested addNewLimitRangeObjectLike(LimitRange item){
            return new LimitRangeObjectsNestedImpl(item);
    }

    public A addToThirdPartyResourceObjects(ThirdPartyResource... items){
            for (ThirdPartyResource item : items) {ThirdPartyResourceBuilder builder = new ThirdPartyResourceBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromThirdPartyResourceObjects(ThirdPartyResource... items){
            for (ThirdPartyResource item : items) {ThirdPartyResourceBuilder builder = new ThirdPartyResourceBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ThirdPartyResourceObjectsNested addNewThirdPartyResourceObject(){
            return new ThirdPartyResourceObjectsNestedImpl();
    }

    public TemplateFluent.ThirdPartyResourceObjectsNested addNewThirdPartyResourceObjectLike(ThirdPartyResource item){
            return new ThirdPartyResourceObjectsNestedImpl(item);
    }

    public A addToJobObjects(Job... items){
            for (Job item : items) {JobBuilder builder = new JobBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromJobObjects(Job... items){
            for (Job item : items) {JobBuilder builder = new JobBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.JobObjectsNested addNewJobObject(){
            return new JobObjectsNestedImpl();
    }

    public TemplateFluent.JobObjectsNested addNewJobObjectLike(Job item){
            return new JobObjectsNestedImpl(item);
    }

    public A addToProjectObjects(Project... items){
            for (Project item : items) {ProjectBuilder builder = new ProjectBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromProjectObjects(Project... items){
            for (Project item : items) {ProjectBuilder builder = new ProjectBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ProjectObjectsNested addNewProjectObject(){
            return new ProjectObjectsNestedImpl();
    }

    public TemplateFluent.ProjectObjectsNested addNewProjectObjectLike(Project item){
            return new ProjectObjectsNestedImpl(item);
    }

    public A addToSecurityContextConstraintsObjects(SecurityContextConstraints... items){
            for (SecurityContextConstraints item : items) {SecurityContextConstraintsBuilder builder = new SecurityContextConstraintsBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromSecurityContextConstraintsObjects(SecurityContextConstraints... items){
            for (SecurityContextConstraints item : items) {SecurityContextConstraintsBuilder builder = new SecurityContextConstraintsBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.SecurityContextConstraintsObjectsNested addNewSecurityContextConstraintsObject(){
            return new SecurityContextConstraintsObjectsNestedImpl();
    }

    public TemplateFluent.SecurityContextConstraintsObjectsNested addNewSecurityContextConstraintsObjectLike(SecurityContextConstraints item){
            return new SecurityContextConstraintsObjectsNestedImpl(item);
    }

    public A addToBuildConfigObjects(BuildConfig... items){
            for (BuildConfig item : items) {BuildConfigBuilder builder = new BuildConfigBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromBuildConfigObjects(BuildConfig... items){
            for (BuildConfig item : items) {BuildConfigBuilder builder = new BuildConfigBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.BuildConfigObjectsNested addNewBuildConfigObject(){
            return new BuildConfigObjectsNestedImpl();
    }

    public TemplateFluent.BuildConfigObjectsNested addNewBuildConfigObjectLike(BuildConfig item){
            return new BuildConfigObjectsNestedImpl(item);
    }

    public A addToRouteObjects(Route... items){
            for (Route item : items) {RouteBuilder builder = new RouteBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromRouteObjects(Route... items){
            for (Route item : items) {RouteBuilder builder = new RouteBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.RouteObjectsNested addNewRouteObject(){
            return new RouteObjectsNestedImpl();
    }

    public TemplateFluent.RouteObjectsNested addNewRouteObjectLike(Route item){
            return new RouteObjectsNestedImpl(item);
    }

    public A addToOAuthAuthorizeTokenObjects(OAuthAuthorizeToken... items){
            for (OAuthAuthorizeToken item : items) {OAuthAuthorizeTokenBuilder builder = new OAuthAuthorizeTokenBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromOAuthAuthorizeTokenObjects(OAuthAuthorizeToken... items){
            for (OAuthAuthorizeToken item : items) {OAuthAuthorizeTokenBuilder builder = new OAuthAuthorizeTokenBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.OAuthAuthorizeTokenObjectsNested addNewOAuthAuthorizeTokenObject(){
            return new OAuthAuthorizeTokenObjectsNestedImpl();
    }

    public TemplateFluent.OAuthAuthorizeTokenObjectsNested addNewOAuthAuthorizeTokenObjectLike(OAuthAuthorizeToken item){
            return new OAuthAuthorizeTokenObjectsNestedImpl(item);
    }

    public A addToNamespaceObjects(Namespace... items){
            for (Namespace item : items) {NamespaceBuilder builder = new NamespaceBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromNamespaceObjects(Namespace... items){
            for (Namespace item : items) {NamespaceBuilder builder = new NamespaceBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.NamespaceObjectsNested addNewNamespaceObject(){
            return new NamespaceObjectsNestedImpl();
    }

    public TemplateFluent.NamespaceObjectsNested addNewNamespaceObjectLike(Namespace item){
            return new NamespaceObjectsNestedImpl(item);
    }

    public A addToClusterRoleBindingObjects(ClusterRoleBinding... items){
            for (ClusterRoleBinding item : items) {ClusterRoleBindingBuilder builder = new ClusterRoleBindingBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromClusterRoleBindingObjects(ClusterRoleBinding... items){
            for (ClusterRoleBinding item : items) {ClusterRoleBindingBuilder builder = new ClusterRoleBindingBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ClusterRoleBindingObjectsNested addNewClusterRoleBindingObject(){
            return new ClusterRoleBindingObjectsNestedImpl();
    }

    public TemplateFluent.ClusterRoleBindingObjectsNested addNewClusterRoleBindingObjectLike(ClusterRoleBinding item){
            return new ClusterRoleBindingObjectsNestedImpl(item);
    }

    public A addToServiceObjects(Service... items){
            for (Service item : items) {ServiceBuilder builder = new ServiceBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromServiceObjects(Service... items){
            for (Service item : items) {ServiceBuilder builder = new ServiceBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ServiceObjectsNested addNewServiceObject(){
            return new ServiceObjectsNestedImpl();
    }

    public TemplateFluent.ServiceObjectsNested addNewServiceObjectLike(Service item){
            return new ServiceObjectsNestedImpl(item);
    }

    public A addToReplicationControllerObjects(ReplicationController... items){
            for (ReplicationController item : items) {ReplicationControllerBuilder builder = new ReplicationControllerBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromReplicationControllerObjects(ReplicationController... items){
            for (ReplicationController item : items) {ReplicationControllerBuilder builder = new ReplicationControllerBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ReplicationControllerObjectsNested addNewReplicationControllerObject(){
            return new ReplicationControllerObjectsNestedImpl();
    }

    public TemplateFluent.ReplicationControllerObjectsNested addNewReplicationControllerObjectLike(ReplicationController item){
            return new ReplicationControllerObjectsNestedImpl(item);
    }

    public A addToProjectRequestObjects(ProjectRequest... items){
            for (ProjectRequest item : items) {ProjectRequestBuilder builder = new ProjectRequestBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromProjectRequestObjects(ProjectRequest... items){
            for (ProjectRequest item : items) {ProjectRequestBuilder builder = new ProjectRequestBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ProjectRequestObjectsNested addNewProjectRequestObject(){
            return new ProjectRequestObjectsNestedImpl();
    }

    public TemplateFluent.ProjectRequestObjectsNested addNewProjectRequestObjectLike(ProjectRequest item){
            return new ProjectRequestObjectsNestedImpl(item);
    }

    public A addToTemplateObjects(Template... items){
            for (Template item : items) {TemplateBuilder builder = new TemplateBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromTemplateObjects(Template... items){
            for (Template item : items) {TemplateBuilder builder = new TemplateBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.TemplateObjectsNested addNewTemplateObject(){
            return new TemplateObjectsNestedImpl();
    }

    public TemplateFluent.TemplateObjectsNested addNewTemplateObjectLike(Template item){
            return new TemplateObjectsNestedImpl(item);
    }

    public A addToOAuthClientAuthorizationObjects(OAuthClientAuthorization... items){
            for (OAuthClientAuthorization item : items) {OAuthClientAuthorizationBuilder builder = new OAuthClientAuthorizationBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromOAuthClientAuthorizationObjects(OAuthClientAuthorization... items){
            for (OAuthClientAuthorization item : items) {OAuthClientAuthorizationBuilder builder = new OAuthClientAuthorizationBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.OAuthClientAuthorizationObjectsNested addNewOAuthClientAuthorizationObject(){
            return new OAuthClientAuthorizationObjectsNestedImpl();
    }

    public TemplateFluent.OAuthClientAuthorizationObjectsNested addNewOAuthClientAuthorizationObjectLike(OAuthClientAuthorization item){
            return new OAuthClientAuthorizationObjectsNestedImpl(item);
    }

    public A addToPolicyBindingObjects(PolicyBinding... items){
            for (PolicyBinding item : items) {PolicyBindingBuilder builder = new PolicyBindingBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPolicyBindingObjects(PolicyBinding... items){
            for (PolicyBinding item : items) {PolicyBindingBuilder builder = new PolicyBindingBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PolicyBindingObjectsNested addNewPolicyBindingObject(){
            return new PolicyBindingObjectsNestedImpl();
    }

    public TemplateFluent.PolicyBindingObjectsNested addNewPolicyBindingObjectLike(PolicyBinding item){
            return new PolicyBindingObjectsNestedImpl(item);
    }

    public A addToClusterRoleObjects(ClusterRole... items){
            for (ClusterRole item : items) {ClusterRoleBuilder builder = new ClusterRoleBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromClusterRoleObjects(ClusterRole... items){
            for (ClusterRole item : items) {ClusterRoleBuilder builder = new ClusterRoleBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ClusterRoleObjectsNested addNewClusterRoleObject(){
            return new ClusterRoleObjectsNestedImpl();
    }

    public TemplateFluent.ClusterRoleObjectsNested addNewClusterRoleObjectLike(ClusterRole item){
            return new ClusterRoleObjectsNestedImpl(item);
    }

    public A addToScaleObjects(Scale... items){
            for (Scale item : items) {ScaleBuilder builder = new ScaleBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromScaleObjects(Scale... items){
            for (Scale item : items) {ScaleBuilder builder = new ScaleBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ScaleObjectsNested addNewScaleObject(){
            return new ScaleObjectsNestedImpl();
    }

    public TemplateFluent.ScaleObjectsNested addNewScaleObjectLike(Scale item){
            return new ScaleObjectsNestedImpl(item);
    }

    public A addToPodTemplateObjects(PodTemplate... items){
            for (PodTemplate item : items) {PodTemplateBuilder builder = new PodTemplateBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPodTemplateObjects(PodTemplate... items){
            for (PodTemplate item : items) {PodTemplateBuilder builder = new PodTemplateBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PodTemplateObjectsNested addNewPodTemplateObject(){
            return new PodTemplateObjectsNestedImpl();
    }

    public TemplateFluent.PodTemplateObjectsNested addNewPodTemplateObjectLike(PodTemplate item){
            return new PodTemplateObjectsNestedImpl(item);
    }

    public A addToEventObjects(Event... items){
            for (Event item : items) {EventBuilder builder = new EventBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromEventObjects(Event... items){
            for (Event item : items) {EventBuilder builder = new EventBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.EventObjectsNested addNewEventObject(){
            return new EventObjectsNestedImpl();
    }

    public TemplateFluent.EventObjectsNested addNewEventObjectLike(Event item){
            return new EventObjectsNestedImpl(item);
    }

    public A addToIngressObjects(Ingress... items){
            for (Ingress item : items) {IngressBuilder builder = new IngressBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromIngressObjects(Ingress... items){
            for (Ingress item : items) {IngressBuilder builder = new IngressBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.IngressObjectsNested addNewIngressObject(){
            return new IngressObjectsNestedImpl();
    }

    public TemplateFluent.IngressObjectsNested addNewIngressObjectLike(Ingress item){
            return new IngressObjectsNestedImpl(item);
    }

    public A addToDeploymentConfigObjects(DeploymentConfig... items){
            for (DeploymentConfig item : items) {DeploymentConfigBuilder builder = new DeploymentConfigBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromDeploymentConfigObjects(DeploymentConfig... items){
            for (DeploymentConfig item : items) {DeploymentConfigBuilder builder = new DeploymentConfigBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.DeploymentConfigObjectsNested addNewDeploymentConfigObject(){
            return new DeploymentConfigObjectsNestedImpl();
    }

    public TemplateFluent.DeploymentConfigObjectsNested addNewDeploymentConfigObjectLike(DeploymentConfig item){
            return new DeploymentConfigObjectsNestedImpl(item);
    }

    public A addToOAuthAccessTokenObjects(OAuthAccessToken... items){
            for (OAuthAccessToken item : items) {OAuthAccessTokenBuilder builder = new OAuthAccessTokenBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromOAuthAccessTokenObjects(OAuthAccessToken... items){
            for (OAuthAccessToken item : items) {OAuthAccessTokenBuilder builder = new OAuthAccessTokenBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.OAuthAccessTokenObjectsNested addNewOAuthAccessTokenObject(){
            return new OAuthAccessTokenObjectsNestedImpl();
    }

    public TemplateFluent.OAuthAccessTokenObjectsNested addNewOAuthAccessTokenObjectLike(OAuthAccessToken item){
            return new OAuthAccessTokenObjectsNestedImpl(item);
    }

    public A addToRoleBindingObjects(RoleBinding... items){
            for (RoleBinding item : items) {RoleBindingBuilder builder = new RoleBindingBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromRoleBindingObjects(RoleBinding... items){
            for (RoleBinding item : items) {RoleBindingBuilder builder = new RoleBindingBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.RoleBindingObjectsNested addNewRoleBindingObject(){
            return new RoleBindingObjectsNestedImpl();
    }

    public TemplateFluent.RoleBindingObjectsNested addNewRoleBindingObjectLike(RoleBinding item){
            return new RoleBindingObjectsNestedImpl(item);
    }

    public A addToImageObjects(Image... items){
            for (Image item : items) {ImageBuilder builder = new ImageBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromImageObjects(Image... items){
            for (Image item : items) {ImageBuilder builder = new ImageBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ImageObjectsNested addNewImageObject(){
            return new ImageObjectsNestedImpl();
    }

    public TemplateFluent.ImageObjectsNested addNewImageObjectLike(Image item){
            return new ImageObjectsNestedImpl(item);
    }

    public A addToPersistentVolumeObjects(PersistentVolume... items){
            for (PersistentVolume item : items) {PersistentVolumeBuilder builder = new PersistentVolumeBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPersistentVolumeObjects(PersistentVolume... items){
            for (PersistentVolume item : items) {PersistentVolumeBuilder builder = new PersistentVolumeBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PersistentVolumeObjectsNested addNewPersistentVolumeObject(){
            return new PersistentVolumeObjectsNestedImpl();
    }

    public TemplateFluent.PersistentVolumeObjectsNested addNewPersistentVolumeObjectLike(PersistentVolume item){
            return new PersistentVolumeObjectsNestedImpl(item);
    }

    public A addToPersistentVolumeClaimObjects(PersistentVolumeClaim... items){
            for (PersistentVolumeClaim item : items) {PersistentVolumeClaimBuilder builder = new PersistentVolumeClaimBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPersistentVolumeClaimObjects(PersistentVolumeClaim... items){
            for (PersistentVolumeClaim item : items) {PersistentVolumeClaimBuilder builder = new PersistentVolumeClaimBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PersistentVolumeClaimObjectsNested addNewPersistentVolumeClaimObject(){
            return new PersistentVolumeClaimObjectsNestedImpl();
    }

    public TemplateFluent.PersistentVolumeClaimObjectsNested addNewPersistentVolumeClaimObjectLike(PersistentVolumeClaim item){
            return new PersistentVolumeClaimObjectsNestedImpl(item);
    }

    public A addToReplicaSetObjects(ReplicaSet... items){
            for (ReplicaSet item : items) {ReplicaSetBuilder builder = new ReplicaSetBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromReplicaSetObjects(ReplicaSet... items){
            for (ReplicaSet item : items) {ReplicaSetBuilder builder = new ReplicaSetBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ReplicaSetObjectsNested addNewReplicaSetObject(){
            return new ReplicaSetObjectsNestedImpl();
    }

    public TemplateFluent.ReplicaSetObjectsNested addNewReplicaSetObjectLike(ReplicaSet item){
            return new ReplicaSetObjectsNestedImpl(item);
    }

    public A addToRoleObjects(Role... items){
            for (Role item : items) {RoleBuilder builder = new RoleBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromRoleObjects(Role... items){
            for (Role item : items) {RoleBuilder builder = new RoleBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.RoleObjectsNested addNewRoleObject(){
            return new RoleObjectsNestedImpl();
    }

    public TemplateFluent.RoleObjectsNested addNewRoleObjectLike(Role item){
            return new RoleObjectsNestedImpl(item);
    }

    public A addToEndpointsObjects(Endpoints... items){
            for (Endpoints item : items) {EndpointsBuilder builder = new EndpointsBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromEndpointsObjects(Endpoints... items){
            for (Endpoints item : items) {EndpointsBuilder builder = new EndpointsBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.EndpointsObjectsNested addNewEndpointsObject(){
            return new EndpointsObjectsNestedImpl();
    }

    public TemplateFluent.EndpointsObjectsNested addNewEndpointsObjectLike(Endpoints item){
            return new EndpointsObjectsNestedImpl(item);
    }

    public A addToPodObjects(Pod... items){
            for (Pod item : items) {PodBuilder builder = new PodBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPodObjects(Pod... items){
            for (Pod item : items) {PodBuilder builder = new PodBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PodObjectsNested addNewPodObject(){
            return new PodObjectsNestedImpl();
    }

    public TemplateFluent.PodObjectsNested addNewPodObjectLike(Pod item){
            return new PodObjectsNestedImpl(item);
    }

    public A addToConfigMapObjects(ConfigMap... items){
            for (ConfigMap item : items) {ConfigMapBuilder builder = new ConfigMapBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromConfigMapObjects(ConfigMap... items){
            for (ConfigMap item : items) {ConfigMapBuilder builder = new ConfigMapBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ConfigMapObjectsNested addNewConfigMapObject(){
            return new ConfigMapObjectsNestedImpl();
    }

    public TemplateFluent.ConfigMapObjectsNested addNewConfigMapObjectLike(ConfigMap item){
            return new ConfigMapObjectsNestedImpl(item);
    }

    public A addToClusterPolicyObjects(ClusterPolicy... items){
            for (ClusterPolicy item : items) {ClusterPolicyBuilder builder = new ClusterPolicyBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromClusterPolicyObjects(ClusterPolicy... items){
            for (ClusterPolicy item : items) {ClusterPolicyBuilder builder = new ClusterPolicyBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ClusterPolicyObjectsNested addNewClusterPolicyObject(){
            return new ClusterPolicyObjectsNestedImpl();
    }

    public TemplateFluent.ClusterPolicyObjectsNested addNewClusterPolicyObjectLike(ClusterPolicy item){
            return new ClusterPolicyObjectsNestedImpl(item);
    }

    public A addToDaemonSetObjects(DaemonSet... items){
            for (DaemonSet item : items) {DaemonSetBuilder builder = new DaemonSetBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromDaemonSetObjects(DaemonSet... items){
            for (DaemonSet item : items) {DaemonSetBuilder builder = new DaemonSetBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.DaemonSetObjectsNested addNewDaemonSetObject(){
            return new DaemonSetObjectsNestedImpl();
    }

    public TemplateFluent.DaemonSetObjectsNested addNewDaemonSetObjectLike(DaemonSet item){
            return new DaemonSetObjectsNestedImpl(item);
    }

    public A addToDeploymentObjects(Deployment... items){
            for (Deployment item : items) {DeploymentBuilder builder = new DeploymentBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromDeploymentObjects(Deployment... items){
            for (Deployment item : items) {DeploymentBuilder builder = new DeploymentBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.DeploymentObjectsNested addNewDeploymentObject(){
            return new DeploymentObjectsNestedImpl();
    }

    public TemplateFluent.DeploymentObjectsNested addNewDeploymentObjectLike(Deployment item){
            return new DeploymentObjectsNestedImpl(item);
    }

    public A addToUserObjects(User... items){
            for (User item : items) {UserBuilder builder = new UserBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromUserObjects(User... items){
            for (User item : items) {UserBuilder builder = new UserBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.UserObjectsNested addNewUserObject(){
            return new UserObjectsNestedImpl();
    }

    public TemplateFluent.UserObjectsNested addNewUserObjectLike(User item){
            return new UserObjectsNestedImpl(item);
    }

    public A addToComponentStatusObjects(ComponentStatus... items){
            for (ComponentStatus item : items) {ComponentStatusBuilder builder = new ComponentStatusBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromComponentStatusObjects(ComponentStatus... items){
            for (ComponentStatus item : items) {ComponentStatusBuilder builder = new ComponentStatusBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ComponentStatusObjectsNested addNewComponentStatusObject(){
            return new ComponentStatusObjectsNestedImpl();
    }

    public TemplateFluent.ComponentStatusObjectsNested addNewComponentStatusObjectLike(ComponentStatus item){
            return new ComponentStatusObjectsNestedImpl(item);
    }

    public A addToBuildObjects(Build... items){
            for (Build item : items) {BuildBuilder builder = new BuildBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromBuildObjects(Build... items){
            for (Build item : items) {BuildBuilder builder = new BuildBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.BuildObjectsNested addNewBuildObject(){
            return new BuildObjectsNestedImpl();
    }

    public TemplateFluent.BuildObjectsNested addNewBuildObjectLike(Build item){
            return new BuildObjectsNestedImpl(item);
    }

    public A addToGroupObjects(Group... items){
            for (Group item : items) {GroupBuilder builder = new GroupBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromGroupObjects(Group... items){
            for (Group item : items) {GroupBuilder builder = new GroupBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.GroupObjectsNested addNewGroupObject(){
            return new GroupObjectsNestedImpl();
    }

    public TemplateFluent.GroupObjectsNested addNewGroupObjectLike(Group item){
            return new GroupObjectsNestedImpl(item);
    }

    public A addToPolicyObjects(Policy... items){
            for (Policy item : items) {PolicyBuilder builder = new PolicyBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromPolicyObjects(Policy... items){
            for (Policy item : items) {PolicyBuilder builder = new PolicyBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.PolicyObjectsNested addNewPolicyObject(){
            return new PolicyObjectsNestedImpl();
    }

    public TemplateFluent.PolicyObjectsNested addNewPolicyObjectLike(Policy item){
            return new PolicyObjectsNestedImpl(item);
    }

    public A addToBindingObjects(Binding... items){
            for (Binding item : items) {BindingBuilder builder = new BindingBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromBindingObjects(Binding... items){
            for (Binding item : items) {BindingBuilder builder = new BindingBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.BindingObjectsNested addNewBindingObject(){
            return new BindingObjectsNestedImpl();
    }

    public TemplateFluent.BindingObjectsNested addNewBindingObjectLike(Binding item){
            return new BindingObjectsNestedImpl(item);
    }

    public A addToResourceQuotaObjects(ResourceQuota... items){
            for (ResourceQuota item : items) {ResourceQuotaBuilder builder = new ResourceQuotaBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromResourceQuotaObjects(ResourceQuota... items){
            for (ResourceQuota item : items) {ResourceQuotaBuilder builder = new ResourceQuotaBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ResourceQuotaObjectsNested addNewResourceQuotaObject(){
            return new ResourceQuotaObjectsNestedImpl();
    }

    public TemplateFluent.ResourceQuotaObjectsNested addNewResourceQuotaObjectLike(ResourceQuota item){
            return new ResourceQuotaObjectsNestedImpl(item);
    }

    public A addToSecretObjects(Secret... items){
            for (Secret item : items) {SecretBuilder builder = new SecretBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromSecretObjects(Secret... items){
            for (Secret item : items) {SecretBuilder builder = new SecretBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.SecretObjectsNested addNewSecretObject(){
            return new SecretObjectsNestedImpl();
    }

    public TemplateFluent.SecretObjectsNested addNewSecretObjectLike(Secret item){
            return new SecretObjectsNestedImpl(item);
    }

    public A addToBuildRequestObjects(BuildRequest... items){
            for (BuildRequest item : items) {BuildRequestBuilder builder = new BuildRequestBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromBuildRequestObjects(BuildRequest... items){
            for (BuildRequest item : items) {BuildRequestBuilder builder = new BuildRequestBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.BuildRequestObjectsNested addNewBuildRequestObject(){
            return new BuildRequestObjectsNestedImpl();
    }

    public TemplateFluent.BuildRequestObjectsNested addNewBuildRequestObjectLike(BuildRequest item){
            return new BuildRequestObjectsNestedImpl(item);
    }

    public A addToClusterPolicyBindingObjects(ClusterPolicyBinding... items){
            for (ClusterPolicyBinding item : items) {ClusterPolicyBindingBuilder builder = new ClusterPolicyBindingBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromClusterPolicyBindingObjects(ClusterPolicyBinding... items){
            for (ClusterPolicyBinding item : items) {ClusterPolicyBindingBuilder builder = new ClusterPolicyBindingBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ClusterPolicyBindingObjectsNested addNewClusterPolicyBindingObject(){
            return new ClusterPolicyBindingObjectsNestedImpl();
    }

    public TemplateFluent.ClusterPolicyBindingObjectsNested addNewClusterPolicyBindingObjectLike(ClusterPolicyBinding item){
            return new ClusterPolicyBindingObjectsNestedImpl(item);
    }

    public A addToNodeObjects(Node... items){
            for (Node item : items) {NodeBuilder builder = new NodeBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromNodeObjects(Node... items){
            for (Node item : items) {NodeBuilder builder = new NodeBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.NodeObjectsNested addNewNodeObject(){
            return new NodeObjectsNestedImpl();
    }

    public TemplateFluent.NodeObjectsNested addNewNodeObjectLike(Node item){
            return new NodeObjectsNestedImpl(item);
    }

    public A addToImageStreamObjects(ImageStream... items){
            for (ImageStream item : items) {ImageStreamBuilder builder = new ImageStreamBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromImageStreamObjects(ImageStream... items){
            for (ImageStream item : items) {ImageStreamBuilder builder = new ImageStreamBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ImageStreamObjectsNested addNewImageStreamObject(){
            return new ImageStreamObjectsNestedImpl();
    }

    public TemplateFluent.ImageStreamObjectsNested addNewImageStreamObjectLike(ImageStream item){
            return new ImageStreamObjectsNestedImpl(item);
    }

    public A addToHorizontalPodAutoscalerObjects(HorizontalPodAutoscaler... items){
            for (HorizontalPodAutoscaler item : items) {HorizontalPodAutoscalerBuilder builder = new HorizontalPodAutoscalerBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromHorizontalPodAutoscalerObjects(HorizontalPodAutoscaler... items){
            for (HorizontalPodAutoscaler item : items) {HorizontalPodAutoscalerBuilder builder = new HorizontalPodAutoscalerBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.HorizontalPodAutoscalerObjectsNested addNewHorizontalPodAutoscalerObject(){
            return new HorizontalPodAutoscalerObjectsNestedImpl();
    }

    public TemplateFluent.HorizontalPodAutoscalerObjectsNested addNewHorizontalPodAutoscalerObjectLike(HorizontalPodAutoscaler item){
            return new HorizontalPodAutoscalerObjectsNestedImpl(item);
    }

    public A addToOAuthClientObjects(OAuthClient... items){
            for (OAuthClient item : items) {OAuthClientBuilder builder = new OAuthClientBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromOAuthClientObjects(OAuthClient... items){
            for (OAuthClient item : items) {OAuthClientBuilder builder = new OAuthClientBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.OAuthClientObjectsNested addNewOAuthClientObject(){
            return new OAuthClientObjectsNestedImpl();
    }

    public TemplateFluent.OAuthClientObjectsNested addNewOAuthClientObjectLike(OAuthClient item){
            return new OAuthClientObjectsNestedImpl(item);
    }

    public A addToIdentityObjects(Identity... items){
            for (Identity item : items) {IdentityBuilder builder = new IdentityBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromIdentityObjects(Identity... items){
            for (Identity item : items) {IdentityBuilder builder = new IdentityBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.IdentityObjectsNested addNewIdentityObject(){
            return new IdentityObjectsNestedImpl();
    }

    public TemplateFluent.IdentityObjectsNested addNewIdentityObjectLike(Identity item){
            return new IdentityObjectsNestedImpl(item);
    }

    public A addToServiceAccountObjects(ServiceAccount... items){
            for (ServiceAccount item : items) {ServiceAccountBuilder builder = new ServiceAccountBuilder(item);_visitables.add(builder);this.objects.add(builder);} return (A)this;
    }

    public A removeFromServiceAccountObjects(ServiceAccount... items){
            for (ServiceAccount item : items) {ServiceAccountBuilder builder = new ServiceAccountBuilder(item);_visitables.remove(builder);this.objects.remove(builder);} return (A)this;
    }

    public TemplateFluent.ServiceAccountObjectsNested addNewServiceAccountObject(){
            return new ServiceAccountObjectsNestedImpl();
    }

    public TemplateFluent.ServiceAccountObjectsNested addNewServiceAccountObjectLike(ServiceAccount item){
            return new ServiceAccountObjectsNestedImpl(item);
    }

    public A addToParameters(Parameter... items){
            for (Parameter item : items) {ParameterBuilder builder = new ParameterBuilder(item);_visitables.add(builder);this.parameters.add(builder);} return (A)this;
    }

    public A removeFromParameters(Parameter... items){
            for (Parameter item : items) {ParameterBuilder builder = new ParameterBuilder(item);_visitables.remove(builder);this.parameters.remove(builder);} return (A)this;
    }

    public List getParameters(){
            return build(parameters);
    }

    public A withParameters(List parameters){
            this.parameters.clear();
            if (parameters != null) {for (Parameter item : parameters){this.addToParameters(item);}} return (A) this;
    }

    public A withParameters(Parameter... parameters){
            this.parameters.clear(); if (parameters != null) {for (Parameter item :parameters){ this.addToParameters(item);}} return (A) this;
    }

    public TemplateFluent.ParametersNested addNewParameter(){
            return new ParametersNestedImpl();
    }

    public TemplateFluent.ParametersNested addNewParameterLike(Parameter item){
            return new ParametersNestedImpl(item);
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            TemplateFluentImpl that = (TemplateFluentImpl) o;
            if (apiVersion != null ? !apiVersion.equals(that.apiVersion) :that.apiVersion != null) return false;
            if (kind != null ? !kind.equals(that.kind) :that.kind != null) return false;
            if (labels != null ? !labels.equals(that.labels) :that.labels != null) return false;
            if (metadata != null ? !metadata.equals(that.metadata) :that.metadata != null) return false;
            if (objects != null ? !objects.equals(that.objects) :that.objects != null) return false;
            if (parameters != null ? !parameters.equals(that.parameters) :that.parameters != null) return false;
            return true;
    }


    public class MetadataNestedImpl extends ObjectMetaFluentImpl> implements TemplateFluent.MetadataNested,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) TemplateFluentImpl.this.withMetadata(builder.build());
    }
    public N endMetadata(){
            return and();
    }

}
    public class LimitRangeObjectsNestedImpl extends LimitRangeFluentImpl> implements TemplateFluent.LimitRangeObjectsNested,Nested{

            private final LimitRangeBuilder builder;
    
            LimitRangeObjectsNestedImpl(){
                    this.builder = new LimitRangeBuilder(this);
            }
            LimitRangeObjectsNestedImpl(LimitRange item){
                    this.builder = new LimitRangeBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToLimitRangeObjects(builder.build());
    }
    public N endLimitRangeObject(){
            return and();
    }

}
    public class ThirdPartyResourceObjectsNestedImpl extends ThirdPartyResourceFluentImpl> implements TemplateFluent.ThirdPartyResourceObjectsNested,Nested{

            private final ThirdPartyResourceBuilder builder;
    
            ThirdPartyResourceObjectsNestedImpl(){
                    this.builder = new ThirdPartyResourceBuilder(this);
            }
            ThirdPartyResourceObjectsNestedImpl(ThirdPartyResource item){
                    this.builder = new ThirdPartyResourceBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToThirdPartyResourceObjects(builder.build());
    }
    public N endThirdPartyResourceObject(){
            return and();
    }

}
    public class JobObjectsNestedImpl extends JobFluentImpl> implements TemplateFluent.JobObjectsNested,Nested{

            private final JobBuilder builder;
    
            JobObjectsNestedImpl(){
                    this.builder = new JobBuilder(this);
            }
            JobObjectsNestedImpl(Job item){
                    this.builder = new JobBuilder(this, item);
            }
    
    public N endJobObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToJobObjects(builder.build());
    }

}
    public class ProjectObjectsNestedImpl extends ProjectFluentImpl> implements TemplateFluent.ProjectObjectsNested,Nested{

            private final ProjectBuilder builder;
    
            ProjectObjectsNestedImpl(){
                    this.builder = new ProjectBuilder(this);
            }
            ProjectObjectsNestedImpl(Project item){
                    this.builder = new ProjectBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToProjectObjects(builder.build());
    }
    public N endProjectObject(){
            return and();
    }

}
    public class SecurityContextConstraintsObjectsNestedImpl extends SecurityContextConstraintsFluentImpl> implements TemplateFluent.SecurityContextConstraintsObjectsNested,Nested{

            private final SecurityContextConstraintsBuilder builder;
    
            SecurityContextConstraintsObjectsNestedImpl(){
                    this.builder = new SecurityContextConstraintsBuilder(this);
            }
            SecurityContextConstraintsObjectsNestedImpl(SecurityContextConstraints item){
                    this.builder = new SecurityContextConstraintsBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToSecurityContextConstraintsObjects(builder.build());
    }
    public N endSecurityContextConstraintsObject(){
            return and();
    }

}
    public class BuildConfigObjectsNestedImpl extends BuildConfigFluentImpl> implements TemplateFluent.BuildConfigObjectsNested,Nested{

            private final BuildConfigBuilder builder;
    
            BuildConfigObjectsNestedImpl(){
                    this.builder = new BuildConfigBuilder(this);
            }
            BuildConfigObjectsNestedImpl(BuildConfig item){
                    this.builder = new BuildConfigBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToBuildConfigObjects(builder.build());
    }
    public N endBuildConfigObject(){
            return and();
    }

}
    public class RouteObjectsNestedImpl extends RouteFluentImpl> implements TemplateFluent.RouteObjectsNested,Nested{

            private final RouteBuilder builder;
    
            RouteObjectsNestedImpl(){
                    this.builder = new RouteBuilder(this);
            }
            RouteObjectsNestedImpl(Route item){
                    this.builder = new RouteBuilder(this, item);
            }
    
    public N endRouteObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToRouteObjects(builder.build());
    }

}
    public class OAuthAuthorizeTokenObjectsNestedImpl extends OAuthAuthorizeTokenFluentImpl> implements TemplateFluent.OAuthAuthorizeTokenObjectsNested,Nested{

            private final OAuthAuthorizeTokenBuilder builder;
    
            OAuthAuthorizeTokenObjectsNestedImpl(){
                    this.builder = new OAuthAuthorizeTokenBuilder(this);
            }
            OAuthAuthorizeTokenObjectsNestedImpl(OAuthAuthorizeToken item){
                    this.builder = new OAuthAuthorizeTokenBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToOAuthAuthorizeTokenObjects(builder.build());
    }
    public N endOAuthAuthorizeTokenObject(){
            return and();
    }

}
    public class NamespaceObjectsNestedImpl extends NamespaceFluentImpl> implements TemplateFluent.NamespaceObjectsNested,Nested{

            private final NamespaceBuilder builder;
    
            NamespaceObjectsNestedImpl(){
                    this.builder = new NamespaceBuilder(this);
            }
            NamespaceObjectsNestedImpl(Namespace item){
                    this.builder = new NamespaceBuilder(this, item);
            }
    
    public N endNamespaceObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToNamespaceObjects(builder.build());
    }

}
    public class ClusterRoleBindingObjectsNestedImpl extends ClusterRoleBindingFluentImpl> implements TemplateFluent.ClusterRoleBindingObjectsNested,Nested{

            private final ClusterRoleBindingBuilder builder;
    
            ClusterRoleBindingObjectsNestedImpl(){
                    this.builder = new ClusterRoleBindingBuilder(this);
            }
            ClusterRoleBindingObjectsNestedImpl(ClusterRoleBinding item){
                    this.builder = new ClusterRoleBindingBuilder(this, item);
            }
    
    public N endClusterRoleBindingObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToClusterRoleBindingObjects(builder.build());
    }

}
    public class ServiceObjectsNestedImpl extends ServiceFluentImpl> implements TemplateFluent.ServiceObjectsNested,Nested{

            private final ServiceBuilder builder;
    
            ServiceObjectsNestedImpl(Service item){
                    this.builder = new ServiceBuilder(this, item);
            }
            ServiceObjectsNestedImpl(){
                    this.builder = new ServiceBuilder(this);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToServiceObjects(builder.build());
    }
    public N endServiceObject(){
            return and();
    }

}
    public class ReplicationControllerObjectsNestedImpl extends ReplicationControllerFluentImpl> implements TemplateFluent.ReplicationControllerObjectsNested,Nested{

            private final ReplicationControllerBuilder builder;
    
            ReplicationControllerObjectsNestedImpl(){
                    this.builder = new ReplicationControllerBuilder(this);
            }
            ReplicationControllerObjectsNestedImpl(ReplicationController item){
                    this.builder = new ReplicationControllerBuilder(this, item);
            }
    
    public N endReplicationControllerObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToReplicationControllerObjects(builder.build());
    }

}
    public class ProjectRequestObjectsNestedImpl extends ProjectRequestFluentImpl> implements TemplateFluent.ProjectRequestObjectsNested,Nested{

            private final ProjectRequestBuilder builder;
    
            ProjectRequestObjectsNestedImpl(){
                    this.builder = new ProjectRequestBuilder(this);
            }
            ProjectRequestObjectsNestedImpl(ProjectRequest item){
                    this.builder = new ProjectRequestBuilder(this, item);
            }
    
    public N endProjectRequestObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToProjectRequestObjects(builder.build());
    }

}
    public class TemplateObjectsNestedImpl extends TemplateFluentImpl> implements TemplateFluent.TemplateObjectsNested,Nested{

            private final TemplateBuilder builder;
    
            TemplateObjectsNestedImpl(){
                    this.builder = new TemplateBuilder(this);
            }
            TemplateObjectsNestedImpl(Template item){
                    this.builder = new TemplateBuilder(this, item);
            }
    
    public N endTemplateObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToTemplateObjects(builder.build());
    }

}
    public class OAuthClientAuthorizationObjectsNestedImpl extends OAuthClientAuthorizationFluentImpl> implements TemplateFluent.OAuthClientAuthorizationObjectsNested,Nested{

            private final OAuthClientAuthorizationBuilder builder;
    
            OAuthClientAuthorizationObjectsNestedImpl(){
                    this.builder = new OAuthClientAuthorizationBuilder(this);
            }
            OAuthClientAuthorizationObjectsNestedImpl(OAuthClientAuthorization item){
                    this.builder = new OAuthClientAuthorizationBuilder(this, item);
            }
    
    public N endOAuthClientAuthorizationObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToOAuthClientAuthorizationObjects(builder.build());
    }

}
    public class PolicyBindingObjectsNestedImpl extends PolicyBindingFluentImpl> implements TemplateFluent.PolicyBindingObjectsNested,Nested{

            private final PolicyBindingBuilder builder;
    
            PolicyBindingObjectsNestedImpl(){
                    this.builder = new PolicyBindingBuilder(this);
            }
            PolicyBindingObjectsNestedImpl(PolicyBinding item){
                    this.builder = new PolicyBindingBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToPolicyBindingObjects(builder.build());
    }
    public N endPolicyBindingObject(){
            return and();
    }

}
    public class ClusterRoleObjectsNestedImpl extends ClusterRoleFluentImpl> implements TemplateFluent.ClusterRoleObjectsNested,Nested{

            private final ClusterRoleBuilder builder;
    
            ClusterRoleObjectsNestedImpl(){
                    this.builder = new ClusterRoleBuilder(this);
            }
            ClusterRoleObjectsNestedImpl(ClusterRole item){
                    this.builder = new ClusterRoleBuilder(this, item);
            }
    
    public N endClusterRoleObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToClusterRoleObjects(builder.build());
    }

}
    public class ScaleObjectsNestedImpl extends ScaleFluentImpl> implements TemplateFluent.ScaleObjectsNested,Nested{

            private final ScaleBuilder builder;
    
            ScaleObjectsNestedImpl(){
                    this.builder = new ScaleBuilder(this);
            }
            ScaleObjectsNestedImpl(Scale item){
                    this.builder = new ScaleBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToScaleObjects(builder.build());
    }
    public N endScaleObject(){
            return and();
    }

}
    public class PodTemplateObjectsNestedImpl extends PodTemplateFluentImpl> implements TemplateFluent.PodTemplateObjectsNested,Nested{

            private final PodTemplateBuilder builder;
    
            PodTemplateObjectsNestedImpl(){
                    this.builder = new PodTemplateBuilder(this);
            }
            PodTemplateObjectsNestedImpl(PodTemplate item){
                    this.builder = new PodTemplateBuilder(this, item);
            }
    
    public N endPodTemplateObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToPodTemplateObjects(builder.build());
    }

}
    public class EventObjectsNestedImpl extends EventFluentImpl> implements TemplateFluent.EventObjectsNested,Nested{

            private final EventBuilder builder;
    
            EventObjectsNestedImpl(Event item){
                    this.builder = new EventBuilder(this, item);
            }
            EventObjectsNestedImpl(){
                    this.builder = new EventBuilder(this);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToEventObjects(builder.build());
    }
    public N endEventObject(){
            return and();
    }

}
    public class IngressObjectsNestedImpl extends IngressFluentImpl> implements TemplateFluent.IngressObjectsNested,Nested{

            private final IngressBuilder builder;
    
            IngressObjectsNestedImpl(){
                    this.builder = new IngressBuilder(this);
            }
            IngressObjectsNestedImpl(Ingress item){
                    this.builder = new IngressBuilder(this, item);
            }
    
    public N endIngressObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToIngressObjects(builder.build());
    }

}
    public class DeploymentConfigObjectsNestedImpl extends DeploymentConfigFluentImpl> implements TemplateFluent.DeploymentConfigObjectsNested,Nested{

            private final DeploymentConfigBuilder builder;
    
            DeploymentConfigObjectsNestedImpl(){
                    this.builder = new DeploymentConfigBuilder(this);
            }
            DeploymentConfigObjectsNestedImpl(DeploymentConfig item){
                    this.builder = new DeploymentConfigBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToDeploymentConfigObjects(builder.build());
    }
    public N endDeploymentConfigObject(){
            return and();
    }

}
    public class OAuthAccessTokenObjectsNestedImpl extends OAuthAccessTokenFluentImpl> implements TemplateFluent.OAuthAccessTokenObjectsNested,Nested{

            private final OAuthAccessTokenBuilder builder;
    
            OAuthAccessTokenObjectsNestedImpl(){
                    this.builder = new OAuthAccessTokenBuilder(this);
            }
            OAuthAccessTokenObjectsNestedImpl(OAuthAccessToken item){
                    this.builder = new OAuthAccessTokenBuilder(this, item);
            }
    
    public N endOAuthAccessTokenObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToOAuthAccessTokenObjects(builder.build());
    }

}
    public class RoleBindingObjectsNestedImpl extends RoleBindingFluentImpl> implements TemplateFluent.RoleBindingObjectsNested,Nested{

            private final RoleBindingBuilder builder;
    
            RoleBindingObjectsNestedImpl(){
                    this.builder = new RoleBindingBuilder(this);
            }
            RoleBindingObjectsNestedImpl(RoleBinding item){
                    this.builder = new RoleBindingBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToRoleBindingObjects(builder.build());
    }
    public N endRoleBindingObject(){
            return and();
    }

}
    public class ImageObjectsNestedImpl extends ImageFluentImpl> implements TemplateFluent.ImageObjectsNested,Nested{

            private final ImageBuilder builder;
    
            ImageObjectsNestedImpl(){
                    this.builder = new ImageBuilder(this);
            }
            ImageObjectsNestedImpl(Image item){
                    this.builder = new ImageBuilder(this, item);
            }
    
    public N endImageObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToImageObjects(builder.build());
    }

}
    public class PersistentVolumeObjectsNestedImpl extends PersistentVolumeFluentImpl> implements TemplateFluent.PersistentVolumeObjectsNested,Nested{

            private final PersistentVolumeBuilder builder;
    
            PersistentVolumeObjectsNestedImpl(){
                    this.builder = new PersistentVolumeBuilder(this);
            }
            PersistentVolumeObjectsNestedImpl(PersistentVolume item){
                    this.builder = new PersistentVolumeBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToPersistentVolumeObjects(builder.build());
    }
    public N endPersistentVolumeObject(){
            return and();
    }

}
    public class PersistentVolumeClaimObjectsNestedImpl extends PersistentVolumeClaimFluentImpl> implements TemplateFluent.PersistentVolumeClaimObjectsNested,Nested{

            private final PersistentVolumeClaimBuilder builder;
    
            PersistentVolumeClaimObjectsNestedImpl(){
                    this.builder = new PersistentVolumeClaimBuilder(this);
            }
            PersistentVolumeClaimObjectsNestedImpl(PersistentVolumeClaim item){
                    this.builder = new PersistentVolumeClaimBuilder(this, item);
            }
    
    public N endPersistentVolumeClaimObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToPersistentVolumeClaimObjects(builder.build());
    }

}
    public class ReplicaSetObjectsNestedImpl extends ReplicaSetFluentImpl> implements TemplateFluent.ReplicaSetObjectsNested,Nested{

            private final ReplicaSetBuilder builder;
    
            ReplicaSetObjectsNestedImpl(){
                    this.builder = new ReplicaSetBuilder(this);
            }
            ReplicaSetObjectsNestedImpl(ReplicaSet item){
                    this.builder = new ReplicaSetBuilder(this, item);
            }
    
    public N endReplicaSetObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToReplicaSetObjects(builder.build());
    }

}
    public class RoleObjectsNestedImpl extends RoleFluentImpl> implements TemplateFluent.RoleObjectsNested,Nested{

            private final RoleBuilder builder;
    
            RoleObjectsNestedImpl(){
                    this.builder = new RoleBuilder(this);
            }
            RoleObjectsNestedImpl(Role item){
                    this.builder = new RoleBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToRoleObjects(builder.build());
    }
    public N endRoleObject(){
            return and();
    }

}
    public class EndpointsObjectsNestedImpl extends EndpointsFluentImpl> implements TemplateFluent.EndpointsObjectsNested,Nested{

            private final EndpointsBuilder builder;
    
            EndpointsObjectsNestedImpl(){
                    this.builder = new EndpointsBuilder(this);
            }
            EndpointsObjectsNestedImpl(Endpoints item){
                    this.builder = new EndpointsBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToEndpointsObjects(builder.build());
    }
    public N endEndpointsObject(){
            return and();
    }

}
    public class PodObjectsNestedImpl extends PodFluentImpl> implements TemplateFluent.PodObjectsNested,Nested{

            private final PodBuilder builder;
    
            PodObjectsNestedImpl(){
                    this.builder = new PodBuilder(this);
            }
            PodObjectsNestedImpl(Pod item){
                    this.builder = new PodBuilder(this, item);
            }
    
    public N endPodObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToPodObjects(builder.build());
    }

}
    public class ConfigMapObjectsNestedImpl extends ConfigMapFluentImpl> implements TemplateFluent.ConfigMapObjectsNested,Nested{

            private final ConfigMapBuilder builder;
    
            ConfigMapObjectsNestedImpl(){
                    this.builder = new ConfigMapBuilder(this);
            }
            ConfigMapObjectsNestedImpl(ConfigMap item){
                    this.builder = new ConfigMapBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToConfigMapObjects(builder.build());
    }
    public N endConfigMapObject(){
            return and();
    }

}
    public class ClusterPolicyObjectsNestedImpl extends ClusterPolicyFluentImpl> implements TemplateFluent.ClusterPolicyObjectsNested,Nested{

            private final ClusterPolicyBuilder builder;
    
            ClusterPolicyObjectsNestedImpl(){
                    this.builder = new ClusterPolicyBuilder(this);
            }
            ClusterPolicyObjectsNestedImpl(ClusterPolicy item){
                    this.builder = new ClusterPolicyBuilder(this, item);
            }
    
    public N endClusterPolicyObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToClusterPolicyObjects(builder.build());
    }

}
    public class DaemonSetObjectsNestedImpl extends DaemonSetFluentImpl> implements TemplateFluent.DaemonSetObjectsNested,Nested{

            private final DaemonSetBuilder builder;
    
            DaemonSetObjectsNestedImpl(){
                    this.builder = new DaemonSetBuilder(this);
            }
            DaemonSetObjectsNestedImpl(DaemonSet item){
                    this.builder = new DaemonSetBuilder(this, item);
            }
    
    public N endDaemonSetObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToDaemonSetObjects(builder.build());
    }

}
    public class DeploymentObjectsNestedImpl extends DeploymentFluentImpl> implements TemplateFluent.DeploymentObjectsNested,Nested{

            private final DeploymentBuilder builder;
    
            DeploymentObjectsNestedImpl(){
                    this.builder = new DeploymentBuilder(this);
            }
            DeploymentObjectsNestedImpl(Deployment item){
                    this.builder = new DeploymentBuilder(this, item);
            }
    
    public N endDeploymentObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToDeploymentObjects(builder.build());
    }

}
    public class UserObjectsNestedImpl extends UserFluentImpl> implements TemplateFluent.UserObjectsNested,Nested{

            private final UserBuilder builder;
    
            UserObjectsNestedImpl(){
                    this.builder = new UserBuilder(this);
            }
            UserObjectsNestedImpl(User item){
                    this.builder = new UserBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToUserObjects(builder.build());
    }
    public N endUserObject(){
            return and();
    }

}
    public class ComponentStatusObjectsNestedImpl extends ComponentStatusFluentImpl> implements TemplateFluent.ComponentStatusObjectsNested,Nested{

            private final ComponentStatusBuilder builder;
    
            ComponentStatusObjectsNestedImpl(){
                    this.builder = new ComponentStatusBuilder(this);
            }
            ComponentStatusObjectsNestedImpl(ComponentStatus item){
                    this.builder = new ComponentStatusBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToComponentStatusObjects(builder.build());
    }
    public N endComponentStatusObject(){
            return and();
    }

}
    public class BuildObjectsNestedImpl extends BuildFluentImpl> implements TemplateFluent.BuildObjectsNested,Nested{

            private final BuildBuilder builder;
    
            BuildObjectsNestedImpl(Build item){
                    this.builder = new BuildBuilder(this, item);
            }
            BuildObjectsNestedImpl(){
                    this.builder = new BuildBuilder(this);
            }
    
    public N endBuildObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToBuildObjects(builder.build());
    }

}
    public class GroupObjectsNestedImpl extends GroupFluentImpl> implements TemplateFluent.GroupObjectsNested,Nested{

            private final GroupBuilder builder;
    
            GroupObjectsNestedImpl(){
                    this.builder = new GroupBuilder(this);
            }
            GroupObjectsNestedImpl(Group item){
                    this.builder = new GroupBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToGroupObjects(builder.build());
    }
    public N endGroupObject(){
            return and();
    }

}
    public class PolicyObjectsNestedImpl extends PolicyFluentImpl> implements TemplateFluent.PolicyObjectsNested,Nested{

            private final PolicyBuilder builder;
    
            PolicyObjectsNestedImpl(){
                    this.builder = new PolicyBuilder(this);
            }
            PolicyObjectsNestedImpl(Policy item){
                    this.builder = new PolicyBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToPolicyObjects(builder.build());
    }
    public N endPolicyObject(){
            return and();
    }

}
    public class BindingObjectsNestedImpl extends BindingFluentImpl> implements TemplateFluent.BindingObjectsNested,Nested{

            private final BindingBuilder builder;
    
            BindingObjectsNestedImpl(){
                    this.builder = new BindingBuilder(this);
            }
            BindingObjectsNestedImpl(Binding item){
                    this.builder = new BindingBuilder(this, item);
            }
    
    public N endBindingObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToBindingObjects(builder.build());
    }

}
    public class ResourceQuotaObjectsNestedImpl extends ResourceQuotaFluentImpl> implements TemplateFluent.ResourceQuotaObjectsNested,Nested{

            private final ResourceQuotaBuilder builder;
    
            ResourceQuotaObjectsNestedImpl(){
                    this.builder = new ResourceQuotaBuilder(this);
            }
            ResourceQuotaObjectsNestedImpl(ResourceQuota item){
                    this.builder = new ResourceQuotaBuilder(this, item);
            }
    
    public N endResourceQuotaObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToResourceQuotaObjects(builder.build());
    }

}
    public class SecretObjectsNestedImpl extends SecretFluentImpl> implements TemplateFluent.SecretObjectsNested,Nested{

            private final SecretBuilder builder;
    
            SecretObjectsNestedImpl(){
                    this.builder = new SecretBuilder(this);
            }
            SecretObjectsNestedImpl(Secret item){
                    this.builder = new SecretBuilder(this, item);
            }
    
    public N endSecretObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToSecretObjects(builder.build());
    }

}
    public class BuildRequestObjectsNestedImpl extends BuildRequestFluentImpl> implements TemplateFluent.BuildRequestObjectsNested,Nested{

            private final BuildRequestBuilder builder;
    
            BuildRequestObjectsNestedImpl(){
                    this.builder = new BuildRequestBuilder(this);
            }
            BuildRequestObjectsNestedImpl(BuildRequest item){
                    this.builder = new BuildRequestBuilder(this, item);
            }
    
    public N endBuildRequestObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToBuildRequestObjects(builder.build());
    }

}
    public class ClusterPolicyBindingObjectsNestedImpl extends ClusterPolicyBindingFluentImpl> implements TemplateFluent.ClusterPolicyBindingObjectsNested,Nested{

            private final ClusterPolicyBindingBuilder builder;
    
            ClusterPolicyBindingObjectsNestedImpl(){
                    this.builder = new ClusterPolicyBindingBuilder(this);
            }
            ClusterPolicyBindingObjectsNestedImpl(ClusterPolicyBinding item){
                    this.builder = new ClusterPolicyBindingBuilder(this, item);
            }
    
    public N endClusterPolicyBindingObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToClusterPolicyBindingObjects(builder.build());
    }

}
    public class NodeObjectsNestedImpl extends NodeFluentImpl> implements TemplateFluent.NodeObjectsNested,Nested{

            private final NodeBuilder builder;
    
            NodeObjectsNestedImpl(){
                    this.builder = new NodeBuilder(this);
            }
            NodeObjectsNestedImpl(Node item){
                    this.builder = new NodeBuilder(this, item);
            }
    
    public N endNodeObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToNodeObjects(builder.build());
    }

}
    public class ImageStreamObjectsNestedImpl extends ImageStreamFluentImpl> implements TemplateFluent.ImageStreamObjectsNested,Nested{

            private final ImageStreamBuilder builder;
    
            ImageStreamObjectsNestedImpl(ImageStream item){
                    this.builder = new ImageStreamBuilder(this, item);
            }
            ImageStreamObjectsNestedImpl(){
                    this.builder = new ImageStreamBuilder(this);
            }
    
    public N endImageStreamObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToImageStreamObjects(builder.build());
    }

}
    public class HorizontalPodAutoscalerObjectsNestedImpl extends HorizontalPodAutoscalerFluentImpl> implements TemplateFluent.HorizontalPodAutoscalerObjectsNested,Nested{

            private final HorizontalPodAutoscalerBuilder builder;
    
            HorizontalPodAutoscalerObjectsNestedImpl(){
                    this.builder = new HorizontalPodAutoscalerBuilder(this);
            }
            HorizontalPodAutoscalerObjectsNestedImpl(HorizontalPodAutoscaler item){
                    this.builder = new HorizontalPodAutoscalerBuilder(this, item);
            }
    
    public N endHorizontalPodAutoscalerObject(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToHorizontalPodAutoscalerObjects(builder.build());
    }

}
    public class OAuthClientObjectsNestedImpl extends OAuthClientFluentImpl> implements TemplateFluent.OAuthClientObjectsNested,Nested{

            private final OAuthClientBuilder builder;
    
            OAuthClientObjectsNestedImpl(){
                    this.builder = new OAuthClientBuilder(this);
            }
            OAuthClientObjectsNestedImpl(OAuthClient item){
                    this.builder = new OAuthClientBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToOAuthClientObjects(builder.build());
    }
    public N endOAuthClientObject(){
            return and();
    }

}
    public class IdentityObjectsNestedImpl extends IdentityFluentImpl> implements TemplateFluent.IdentityObjectsNested,Nested{

            private final IdentityBuilder builder;
    
            IdentityObjectsNestedImpl(){
                    this.builder = new IdentityBuilder(this);
            }
            IdentityObjectsNestedImpl(Identity item){
                    this.builder = new IdentityBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToIdentityObjects(builder.build());
    }
    public N endIdentityObject(){
            return and();
    }

}
    public class ServiceAccountObjectsNestedImpl extends ServiceAccountFluentImpl> implements TemplateFluent.ServiceAccountObjectsNested,Nested{

            private final ServiceAccountBuilder builder;
    
            ServiceAccountObjectsNestedImpl(){
                    this.builder = new ServiceAccountBuilder(this);
            }
            ServiceAccountObjectsNestedImpl(ServiceAccount item){
                    this.builder = new ServiceAccountBuilder(this, item);
            }
    
    public N and(){
            return (N) TemplateFluentImpl.this.addToServiceAccountObjects(builder.build());
    }
    public N endServiceAccountObject(){
            return and();
    }

}
    public class ParametersNestedImpl extends ParameterFluentImpl> implements TemplateFluent.ParametersNested,Nested{

            private final ParameterBuilder builder;
    
            ParametersNestedImpl(Parameter item){
                    this.builder = new ParameterBuilder(this, item);
            }
            ParametersNestedImpl(){
                    this.builder = new ParameterBuilder(this);
            }
    
    public N endParameter(){
            return and();
    }
    public N and(){
            return (N) TemplateFluentImpl.this.addToParameters(builder.build());
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy