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

io.alauda.kubernetes.api.model.NamedExtensionFluentImpl Maven / Gradle / Ivy

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

import io.alauda.devops.api.model.ClusterRoleBinding;
import io.alauda.devops.api.model.DeploymentConfigBuilder;
import java.lang.String;
import io.alauda.devops.api.model.OAuthAccessTokenBuilder;
import io.alauda.devops.api.model.OAuthAccessTokenFluentImpl;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinitionFluentImpl;
import io.alauda.devops.api.model.UserBuilder;
import io.alauda.devops.api.model.ClusterRole;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicyBuilder;
import io.alauda.devops.api.model.Project;
import io.alauda.devops.api.model.PolicyBindingBuilder;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder;
import io.alauda.devops.api.model.OAuthAccessToken;
import io.alauda.devops.api.model.DeploymentConfig;
import io.alauda.devops.api.model.OAuthClientAuthorization;
import io.alauda.devops.api.model.OAuthClientBuilder;
import io.alauda.devops.api.model.Group;
import io.alauda.devops.api.model.RouteBuilder;
import io.alauda.devops.api.model.BuildRequestFluentImpl;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReview;
import io.alauda.kubernetes.api.model.extensions.StatefulSetBuilder;
import io.alauda.devops.api.model.IdentityFluentImpl;
import java.lang.Deprecated;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicy;
import io.alauda.kubernetes.api.model.extensions.ReplicaSet;
import io.alauda.devops.api.model.BuildConfigFluentImpl;
import io.alauda.devops.api.model.SecurityContextConstraints;
import io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewFluentImpl;
import io.alauda.devops.api.model.OAuthAuthorizeTokenBuilder;
import io.alauda.devops.api.model.ImageSignatureBuilder;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder;
import io.alauda.devops.api.model.ImageSignatureFluentImpl;
import io.alauda.kubernetes.api.model.authentication.TokenReviewFluentImpl;
import io.alauda.kubernetes.api.model.extensions.IngressFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ScaleFluentImpl;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudgetFluentImpl;
import io.alauda.devops.api.model.GroupBuilder;
import io.alauda.kubernetes.api.model.extensions.Deployment;
import io.alauda.devops.api.model.Route;
import io.alauda.devops.api.model.RouteFluentImpl;
import io.alauda.devops.api.model.SecurityContextConstraintsFluentImpl;
import io.alauda.devops.api.model.ClusterRoleBindingBuilder;
import io.alauda.devops.api.model.ProjectRequestFluentImpl;
import io.alauda.devops.api.model.ClusterPolicyBindingFluentImpl;
import io.alauda.devops.api.model.OAuthAuthorizeToken;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResourceFluentImpl;
import io.alauda.devops.api.model.Role;
import io.alauda.devops.api.model.ImageFluentImpl;
import io.alauda.devops.api.model.ProjectBuilder;
import io.alauda.devops.api.model.OAuthClientAuthorizationBuilder;
import io.alauda.kubernetes.api.model.extensions.DaemonSet;
import io.alauda.devops.api.model.ProjectFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ReplicaSetFluentImpl;
import io.alauda.devops.api.model.ImageBuilder;
import io.alauda.devops.api.model.ImageStreamTagBuilder;
import io.alauda.devops.api.model.ClusterRoleBindingFluentImpl;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicyFluentImpl;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview;
import io.alauda.devops.api.model.PolicyBinding;
import io.alauda.devops.api.model.RoleBuilder;
import io.alauda.kubernetes.api.model.extensions.IngressBuilder;
import io.alauda.devops.api.model.UserFluentImpl;
import io.alauda.devops.api.model.ClusterPolicyFluentImpl;
import io.alauda.devops.api.model.ProjectRequestBuilder;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.alauda.devops.api.model.ClusterRoleFluentImpl;
import io.alauda.devops.api.model.ImageStreamTag;
import io.alauda.devops.api.model.Image;
import io.alauda.devops.api.model.ImageStreamBuilder;
import io.alauda.devops.api.model.BuildRequestBuilder;
import io.alauda.kubernetes.api.builder.BaseFluent;
import io.alauda.devops.api.model.BuildConfig;
import io.alauda.devops.api.model.SecurityContextConstraintsBuilder;
import io.alauda.devops.api.model.Identity;
import java.lang.Boolean;
import io.alauda.devops.api.model.ClusterRoleBuilder;
import io.alauda.devops.api.model.OAuthClientAuthorizationFluentImpl;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicy;
import io.alauda.devops.api.model.RoleBindingRestrictionBuilder;
import io.alauda.kubernetes.api.model.extensions.DaemonSetFluentImpl;
import io.alauda.devops.api.model.BuildBuilder;
import javax.validation.Valid;
import io.alauda.devops.api.model.ProjectRequest;
import java.lang.Object;
import io.alauda.kubernetes.api.model.extensions.DeploymentBuilder;
import io.alauda.devops.api.model.ImageStreamTagFluentImpl;
import io.alauda.devops.api.model.PolicyBindingFluentImpl;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResource;
import io.alauda.devops.api.model.TemplateFluentImpl;
import io.alauda.devops.api.model.DeploymentConfigFluentImpl;
import io.alauda.kubernetes.api.model.authentication.TokenReviewBuilder;
import io.alauda.devops.api.model.RoleBindingRestrictionFluentImpl;
import io.alauda.devops.api.model.RoleBindingRestriction;
import io.alauda.devops.api.model.ClusterPolicyBuilder;
import io.alauda.devops.api.model.ClusterPolicy;
import io.alauda.devops.api.model.RoleFluentImpl;
import io.alauda.kubernetes.api.model.authentication.TokenReview;
import io.alauda.devops.api.model.ImageSignature;
import io.alauda.devops.api.model.OAuthAuthorizeTokenFluentImpl;
import io.alauda.devops.api.model.Policy;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder;
import io.alauda.devops.api.model.GroupFluentImpl;
import io.alauda.kubernetes.api.builder.VisitableBuilder;
import io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewFluentImpl;
import io.alauda.devops.api.model.TemplateBuilder;
import io.alauda.devops.api.model.ImageStream;
import io.alauda.kubernetes.api.model.extensions.DeploymentFluentImpl;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudgetBuilder;
import io.alauda.devops.api.model.BuildConfigBuilder;
import io.alauda.devops.api.model.Template;
import io.alauda.devops.api.model.Build;
import io.alauda.devops.api.model.RoleBinding;
import io.alauda.devops.api.model.PolicyBuilder;
import io.alauda.kubernetes.api.model.extensions.ThirdPartyResourceBuilder;
import io.alauda.kubernetes.api.model.extensions.ScaleBuilder;
import io.alauda.devops.api.model.ClusterPolicyBindingBuilder;
import io.alauda.devops.api.model.RoleBindingBuilder;
import io.alauda.kubernetes.api.model.extensions.NetworkPolicyFluentImpl;
import io.alauda.kubernetes.api.model.extensions.Ingress;
import io.alauda.devops.api.model.BuildFluentImpl;
import io.alauda.devops.api.model.BuildRequest;
import io.alauda.devops.api.model.OAuthClientFluentImpl;
import io.alauda.devops.api.model.IdentityBuilder;
import io.alauda.kubernetes.api.model.extensions.StatefulSet;
import io.alauda.devops.api.model.ImageStreamFluentImpl;
import io.alauda.devops.api.model.User;
import io.alauda.kubernetes.api.model.policy.PodDisruptionBudget;
import io.alauda.devops.api.model.OAuthClient;
import io.alauda.kubernetes.api.builder.Nested;
import io.alauda.kubernetes.api.model.extensions.DaemonSetBuilder;
import io.alauda.devops.api.model.ClusterPolicyBinding;
import io.alauda.kubernetes.api.model.extensions.ReplicaSetBuilder;
import io.alauda.kubernetes.api.model.extensions.StatefulSetFluentImpl;
import io.alauda.kubernetes.api.model.apiextensions.CustomResourceDefinition;
import io.alauda.kubernetes.api.model.extensions.Scale;
import io.alauda.devops.api.model.RoleBindingFluentImpl;
import io.alauda.kubernetes.api.model.extensions.PodSecurityPolicyBuilder;
import io.alauda.devops.api.model.PolicyFluentImpl;

public class NamedExtensionFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements NamedExtensionFluent{

    private VisitableBuilder extension;
    private String name;

    public NamedExtensionFluentImpl(){
    }
    public NamedExtensionFluentImpl(NamedExtension instance){
            this.withExtension(instance.getExtension()); 
            this.withName(instance.getName()); 
    }

    
/**
 * This method has been deprecated, please use method buildExtension instead.
 */
@Deprecated public HasMetadata getExtension(){
            return this.extension!=null?this.extension.build():null;
    }

    public HasMetadata buildExtension(){
            return this.extension!=null?this.extension.build():null;
    }

    public A withExtension(HasMetadata extension){
            if (extension instanceof Ingress){ this.extension= new IngressBuilder((Ingress)extension); _visitables.add(this.extension);}
            if (extension instanceof Route){ this.extension= new RouteBuilder((Route)extension); _visitables.add(this.extension);}
            if (extension instanceof PolicyBinding){ this.extension= new PolicyBindingBuilder((PolicyBinding)extension); _visitables.add(this.extension);}
            if (extension instanceof ResourceQuota){ this.extension= new ResourceQuotaBuilder((ResourceQuota)extension); _visitables.add(this.extension);}
            if (extension instanceof ServiceAccount){ this.extension= new ServiceAccountBuilder((ServiceAccount)extension); _visitables.add(this.extension);}
            if (extension instanceof ConfigMap){ this.extension= new ConfigMapBuilder((ConfigMap)extension); _visitables.add(this.extension);}
            if (extension instanceof OAuthClientAuthorization){ this.extension= new OAuthClientAuthorizationBuilder((OAuthClientAuthorization)extension); _visitables.add(this.extension);}
            if (extension instanceof Policy){ this.extension= new PolicyBuilder((Policy)extension); _visitables.add(this.extension);}
            if (extension instanceof OAuthAuthorizeToken){ this.extension= new OAuthAuthorizeTokenBuilder((OAuthAuthorizeToken)extension); _visitables.add(this.extension);}
            if (extension instanceof JenkinsBinding){ this.extension= new JenkinsBindingBuilder((JenkinsBinding)extension); _visitables.add(this.extension);}
            if (extension instanceof Identity){ this.extension= new IdentityBuilder((Identity)extension); _visitables.add(this.extension);}
            if (extension instanceof PodTemplate){ this.extension= new PodTemplateBuilder((PodTemplate)extension); _visitables.add(this.extension);}
            if (extension instanceof TokenReview){ this.extension= new TokenReviewBuilder((TokenReview)extension); _visitables.add(this.extension);}
            if (extension instanceof CustomResourceDefinition){ this.extension= new CustomResourceDefinitionBuilder((CustomResourceDefinition)extension); _visitables.add(this.extension);}
            if (extension instanceof ImageSignature){ this.extension= new ImageSignatureBuilder((ImageSignature)extension); _visitables.add(this.extension);}
            if (extension instanceof ClusterRole){ this.extension= new ClusterRoleBuilder((ClusterRole)extension); _visitables.add(this.extension);}
            if (extension instanceof Namespace){ this.extension= new NamespaceBuilder((Namespace)extension); _visitables.add(this.extension);}
            if (extension instanceof ClusterPolicy){ this.extension= new ClusterPolicyBuilder((ClusterPolicy)extension); _visitables.add(this.extension);}
            if (extension instanceof Project){ this.extension= new ProjectBuilder((Project)extension); _visitables.add(this.extension);}
            if (extension instanceof Build){ this.extension= new BuildBuilder((Build)extension); _visitables.add(this.extension);}
            if (extension instanceof Scale){ this.extension= new ScaleBuilder((Scale)extension); _visitables.add(this.extension);}
            if (extension instanceof Pod){ this.extension= new PodBuilder((Pod)extension); _visitables.add(this.extension);}
            if (extension instanceof HorizontalPodAutoscaler){ this.extension= new HorizontalPodAutoscalerBuilder((HorizontalPodAutoscaler)extension); _visitables.add(this.extension);}
            if (extension instanceof ProjectRequest){ this.extension= new ProjectRequestBuilder((ProjectRequest)extension); _visitables.add(this.extension);}
            if (extension instanceof ThirdPartyResource){ this.extension= new ThirdPartyResourceBuilder((ThirdPartyResource)extension); _visitables.add(this.extension);}
            if (extension instanceof ImageStreamTag){ this.extension= new ImageStreamTagBuilder((ImageStreamTag)extension); _visitables.add(this.extension);}
            if (extension instanceof ComponentStatus){ this.extension= new ComponentStatusBuilder((ComponentStatus)extension); _visitables.add(this.extension);}
            if (extension instanceof Secret){ this.extension= new SecretBuilder((Secret)extension); _visitables.add(this.extension);}
            if (extension instanceof ReplicationController){ this.extension= new ReplicationControllerBuilder((ReplicationController)extension); _visitables.add(this.extension);}
            if (extension instanceof LimitRange){ this.extension= new LimitRangeBuilder((LimitRange)extension); _visitables.add(this.extension);}
            if (extension instanceof Endpoints){ this.extension= new EndpointsBuilder((Endpoints)extension); _visitables.add(this.extension);}
            if (extension instanceof SecurityContextConstraints){ this.extension= new SecurityContextConstraintsBuilder((SecurityContextConstraints)extension); _visitables.add(this.extension);}
            if (extension instanceof Group){ this.extension= new GroupBuilder((Group)extension); _visitables.add(this.extension);}
            if (extension instanceof Event){ this.extension= new EventBuilder((Event)extension); _visitables.add(this.extension);}
            if (extension instanceof Node){ this.extension= new NodeBuilder((Node)extension); _visitables.add(this.extension);}
            if (extension instanceof ReplicaSet){ this.extension= new ReplicaSetBuilder((ReplicaSet)extension); _visitables.add(this.extension);}
            if (extension instanceof ClusterRoleBinding){ this.extension= new ClusterRoleBindingBuilder((ClusterRoleBinding)extension); _visitables.add(this.extension);}
            if (extension instanceof Jenkins){ this.extension= new JenkinsBuilder((Jenkins)extension); _visitables.add(this.extension);}
            if (extension instanceof DaemonSet){ this.extension= new DaemonSetBuilder((DaemonSet)extension); _visitables.add(this.extension);}
            if (extension instanceof PodDisruptionBudget){ this.extension= new PodDisruptionBudgetBuilder((PodDisruptionBudget)extension); _visitables.add(this.extension);}
            if (extension instanceof ImageStream){ this.extension= new ImageStreamBuilder((ImageStream)extension); _visitables.add(this.extension);}
            if (extension instanceof RoleBindingRestriction){ this.extension= new RoleBindingRestrictionBuilder((RoleBindingRestriction)extension); _visitables.add(this.extension);}
            if (extension instanceof Binding){ this.extension= new BindingBuilder((Binding)extension); _visitables.add(this.extension);}
            if (extension instanceof io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview){ this.extension= new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder((io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview)extension); _visitables.add(this.extension);}
            if (extension instanceof StatefulSet){ this.extension= new StatefulSetBuilder((StatefulSet)extension); _visitables.add(this.extension);}
            if (extension instanceof OAuthClient){ this.extension= new OAuthClientBuilder((OAuthClient)extension); _visitables.add(this.extension);}
            if (extension instanceof Template){ this.extension= new TemplateBuilder((Template)extension); _visitables.add(this.extension);}
            if (extension instanceof BuildConfig){ this.extension= new BuildConfigBuilder((BuildConfig)extension); _visitables.add(this.extension);}
            if (extension instanceof PodSecurityPolicy){ this.extension= new PodSecurityPolicyBuilder((PodSecurityPolicy)extension); _visitables.add(this.extension);}
            if (extension instanceof Pipeline){ this.extension= new PipelineBuilder((Pipeline)extension); _visitables.add(this.extension);}
            if (extension instanceof Role){ this.extension= new RoleBuilder((Role)extension); _visitables.add(this.extension);}
            if (extension instanceof CronJob){ this.extension= new CronJobBuilder((CronJob)extension); _visitables.add(this.extension);}
            if (extension instanceof User){ this.extension= new UserBuilder((User)extension); _visitables.add(this.extension);}
            if (extension instanceof io.alauda.kubernetes.api.model.authorization.SubjectAccessReview){ this.extension= new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder((io.alauda.kubernetes.api.model.authorization.SubjectAccessReview)extension); _visitables.add(this.extension);}
            if (extension instanceof StorageClass){ this.extension= new StorageClassBuilder((StorageClass)extension); _visitables.add(this.extension);}
            if (extension instanceof PipelineConfig){ this.extension= new PipelineConfigBuilder((PipelineConfig)extension); _visitables.add(this.extension);}
            if (extension instanceof DeploymentConfig){ this.extension= new DeploymentConfigBuilder((DeploymentConfig)extension); _visitables.add(this.extension);}
            if (extension instanceof OAuthAccessToken){ this.extension= new OAuthAccessTokenBuilder((OAuthAccessToken)extension); _visitables.add(this.extension);}
            if (extension instanceof PersistentVolumeClaim){ this.extension= new PersistentVolumeClaimBuilder((PersistentVolumeClaim)extension); _visitables.add(this.extension);}
            if (extension instanceof NetworkPolicy){ this.extension= new NetworkPolicyBuilder((NetworkPolicy)extension); _visitables.add(this.extension);}
            if (extension instanceof Image){ this.extension= new ImageBuilder((Image)extension); _visitables.add(this.extension);}
            if (extension instanceof Service){ this.extension= new ServiceBuilder((Service)extension); _visitables.add(this.extension);}
            if (extension instanceof Job){ this.extension= new JobBuilder((Job)extension); _visitables.add(this.extension);}
            if (extension instanceof Deployment){ this.extension= new DeploymentBuilder((Deployment)extension); _visitables.add(this.extension);}
            if (extension instanceof ClusterPolicyBinding){ this.extension= new ClusterPolicyBindingBuilder((ClusterPolicyBinding)extension); _visitables.add(this.extension);}
            if (extension instanceof BuildRequest){ this.extension= new BuildRequestBuilder((BuildRequest)extension); _visitables.add(this.extension);}
            if (extension instanceof RoleBinding){ this.extension= new RoleBindingBuilder((RoleBinding)extension); _visitables.add(this.extension);}
            if (extension instanceof PersistentVolume){ this.extension= new PersistentVolumeBuilder((PersistentVolume)extension); _visitables.add(this.extension);}
            return (A) this;
    }

    public Boolean hasExtension(){
            return this.extension!=null;
    }

    public A withIngressExtension(Ingress ingressExtension){
            _visitables.remove(this.extension);
            if (ingressExtension!=null){ this.extension= new IngressBuilder(ingressExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.IngressExtensionNested withNewIngressExtension(){
            return new IngressExtensionNestedImpl();
    }

    public NamedExtensionFluent.IngressExtensionNested withNewIngressExtensionLike(Ingress item){
            return new IngressExtensionNestedImpl(item);
    }

    public A withRouteExtension(Route routeExtension){
            _visitables.remove(this.extension);
            if (routeExtension!=null){ this.extension= new RouteBuilder(routeExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.RouteExtensionNested withNewRouteExtension(){
            return new RouteExtensionNestedImpl();
    }

    public NamedExtensionFluent.RouteExtensionNested withNewRouteExtensionLike(Route item){
            return new RouteExtensionNestedImpl(item);
    }

    public A withPolicyBindingExtension(PolicyBinding policyBindingExtension){
            _visitables.remove(this.extension);
            if (policyBindingExtension!=null){ this.extension= new PolicyBindingBuilder(policyBindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PolicyBindingExtensionNested withNewPolicyBindingExtension(){
            return new PolicyBindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.PolicyBindingExtensionNested withNewPolicyBindingExtensionLike(PolicyBinding item){
            return new PolicyBindingExtensionNestedImpl(item);
    }

    public A withResourceQuotaExtension(ResourceQuota resourceQuotaExtension){
            _visitables.remove(this.extension);
            if (resourceQuotaExtension!=null){ this.extension= new ResourceQuotaBuilder(resourceQuotaExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ResourceQuotaExtensionNested withNewResourceQuotaExtension(){
            return new ResourceQuotaExtensionNestedImpl();
    }

    public NamedExtensionFluent.ResourceQuotaExtensionNested withNewResourceQuotaExtensionLike(ResourceQuota item){
            return new ResourceQuotaExtensionNestedImpl(item);
    }

    public A withServiceAccountExtension(ServiceAccount serviceAccountExtension){
            _visitables.remove(this.extension);
            if (serviceAccountExtension!=null){ this.extension= new ServiceAccountBuilder(serviceAccountExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ServiceAccountExtensionNested withNewServiceAccountExtension(){
            return new ServiceAccountExtensionNestedImpl();
    }

    public NamedExtensionFluent.ServiceAccountExtensionNested withNewServiceAccountExtensionLike(ServiceAccount item){
            return new ServiceAccountExtensionNestedImpl(item);
    }

    public A withConfigMapExtension(ConfigMap configMapExtension){
            _visitables.remove(this.extension);
            if (configMapExtension!=null){ this.extension= new ConfigMapBuilder(configMapExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ConfigMapExtensionNested withNewConfigMapExtension(){
            return new ConfigMapExtensionNestedImpl();
    }

    public NamedExtensionFluent.ConfigMapExtensionNested withNewConfigMapExtensionLike(ConfigMap item){
            return new ConfigMapExtensionNestedImpl(item);
    }

    public A withOAuthClientAuthorizationExtension(OAuthClientAuthorization oAuthClientAuthorizationExtension){
            _visitables.remove(this.extension);
            if (oAuthClientAuthorizationExtension!=null){ this.extension= new OAuthClientAuthorizationBuilder(oAuthClientAuthorizationExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.OAuthClientAuthorizationExtensionNested withNewOAuthClientAuthorizationExtension(){
            return new OAuthClientAuthorizationExtensionNestedImpl();
    }

    public NamedExtensionFluent.OAuthClientAuthorizationExtensionNested withNewOAuthClientAuthorizationExtensionLike(OAuthClientAuthorization item){
            return new OAuthClientAuthorizationExtensionNestedImpl(item);
    }

    public A withPolicyExtension(Policy policyExtension){
            _visitables.remove(this.extension);
            if (policyExtension!=null){ this.extension= new PolicyBuilder(policyExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PolicyExtensionNested withNewPolicyExtension(){
            return new PolicyExtensionNestedImpl();
    }

    public NamedExtensionFluent.PolicyExtensionNested withNewPolicyExtensionLike(Policy item){
            return new PolicyExtensionNestedImpl(item);
    }

    public A withOAuthAuthorizeTokenExtension(OAuthAuthorizeToken oAuthAuthorizeTokenExtension){
            _visitables.remove(this.extension);
            if (oAuthAuthorizeTokenExtension!=null){ this.extension= new OAuthAuthorizeTokenBuilder(oAuthAuthorizeTokenExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.OAuthAuthorizeTokenExtensionNested withNewOAuthAuthorizeTokenExtension(){
            return new OAuthAuthorizeTokenExtensionNestedImpl();
    }

    public NamedExtensionFluent.OAuthAuthorizeTokenExtensionNested withNewOAuthAuthorizeTokenExtensionLike(OAuthAuthorizeToken item){
            return new OAuthAuthorizeTokenExtensionNestedImpl(item);
    }

    public A withJenkinsBindingExtension(JenkinsBinding jenkinsBindingExtension){
            _visitables.remove(this.extension);
            if (jenkinsBindingExtension!=null){ this.extension= new JenkinsBindingBuilder(jenkinsBindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.JenkinsBindingExtensionNested withNewJenkinsBindingExtension(){
            return new JenkinsBindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.JenkinsBindingExtensionNested withNewJenkinsBindingExtensionLike(JenkinsBinding item){
            return new JenkinsBindingExtensionNestedImpl(item);
    }

    public A withIdentityExtension(Identity identityExtension){
            _visitables.remove(this.extension);
            if (identityExtension!=null){ this.extension= new IdentityBuilder(identityExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.IdentityExtensionNested withNewIdentityExtension(){
            return new IdentityExtensionNestedImpl();
    }

    public NamedExtensionFluent.IdentityExtensionNested withNewIdentityExtensionLike(Identity item){
            return new IdentityExtensionNestedImpl(item);
    }

    public A withPodTemplateExtension(PodTemplate podTemplateExtension){
            _visitables.remove(this.extension);
            if (podTemplateExtension!=null){ this.extension= new PodTemplateBuilder(podTemplateExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PodTemplateExtensionNested withNewPodTemplateExtension(){
            return new PodTemplateExtensionNestedImpl();
    }

    public NamedExtensionFluent.PodTemplateExtensionNested withNewPodTemplateExtensionLike(PodTemplate item){
            return new PodTemplateExtensionNestedImpl(item);
    }

    public A withTokenReviewExtension(TokenReview tokenReviewExtension){
            _visitables.remove(this.extension);
            if (tokenReviewExtension!=null){ this.extension= new TokenReviewBuilder(tokenReviewExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.TokenReviewExtensionNested withNewTokenReviewExtension(){
            return new TokenReviewExtensionNestedImpl();
    }

    public NamedExtensionFluent.TokenReviewExtensionNested withNewTokenReviewExtensionLike(TokenReview item){
            return new TokenReviewExtensionNestedImpl(item);
    }

    public A withCustomResourceDefinitionExtension(CustomResourceDefinition customResourceDefinitionExtension){
            _visitables.remove(this.extension);
            if (customResourceDefinitionExtension!=null){ this.extension= new CustomResourceDefinitionBuilder(customResourceDefinitionExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.CustomResourceDefinitionExtensionNested withNewCustomResourceDefinitionExtension(){
            return new CustomResourceDefinitionExtensionNestedImpl();
    }

    public NamedExtensionFluent.CustomResourceDefinitionExtensionNested withNewCustomResourceDefinitionExtensionLike(CustomResourceDefinition item){
            return new CustomResourceDefinitionExtensionNestedImpl(item);
    }

    public A withImageSignatureExtension(ImageSignature imageSignatureExtension){
            _visitables.remove(this.extension);
            if (imageSignatureExtension!=null){ this.extension= new ImageSignatureBuilder(imageSignatureExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ImageSignatureExtensionNested withNewImageSignatureExtension(){
            return new ImageSignatureExtensionNestedImpl();
    }

    public NamedExtensionFluent.ImageSignatureExtensionNested withNewImageSignatureExtensionLike(ImageSignature item){
            return new ImageSignatureExtensionNestedImpl(item);
    }

    public A withClusterRoleExtension(ClusterRole clusterRoleExtension){
            _visitables.remove(this.extension);
            if (clusterRoleExtension!=null){ this.extension= new ClusterRoleBuilder(clusterRoleExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ClusterRoleExtensionNested withNewClusterRoleExtension(){
            return new ClusterRoleExtensionNestedImpl();
    }

    public NamedExtensionFluent.ClusterRoleExtensionNested withNewClusterRoleExtensionLike(ClusterRole item){
            return new ClusterRoleExtensionNestedImpl(item);
    }

    public A withNamespaceExtension(Namespace namespaceExtension){
            _visitables.remove(this.extension);
            if (namespaceExtension!=null){ this.extension= new NamespaceBuilder(namespaceExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.NamespaceExtensionNested withNewNamespaceExtension(){
            return new NamespaceExtensionNestedImpl();
    }

    public NamedExtensionFluent.NamespaceExtensionNested withNewNamespaceExtensionLike(Namespace item){
            return new NamespaceExtensionNestedImpl(item);
    }

    public A withClusterPolicyExtension(ClusterPolicy clusterPolicyExtension){
            _visitables.remove(this.extension);
            if (clusterPolicyExtension!=null){ this.extension= new ClusterPolicyBuilder(clusterPolicyExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ClusterPolicyExtensionNested withNewClusterPolicyExtension(){
            return new ClusterPolicyExtensionNestedImpl();
    }

    public NamedExtensionFluent.ClusterPolicyExtensionNested withNewClusterPolicyExtensionLike(ClusterPolicy item){
            return new ClusterPolicyExtensionNestedImpl(item);
    }

    public A withProjectExtension(Project projectExtension){
            _visitables.remove(this.extension);
            if (projectExtension!=null){ this.extension= new ProjectBuilder(projectExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ProjectExtensionNested withNewProjectExtension(){
            return new ProjectExtensionNestedImpl();
    }

    public NamedExtensionFluent.ProjectExtensionNested withNewProjectExtensionLike(Project item){
            return new ProjectExtensionNestedImpl(item);
    }

    public A withBuildExtension(Build buildExtension){
            _visitables.remove(this.extension);
            if (buildExtension!=null){ this.extension= new BuildBuilder(buildExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.BuildExtensionNested withNewBuildExtension(){
            return new BuildExtensionNestedImpl();
    }

    public NamedExtensionFluent.BuildExtensionNested withNewBuildExtensionLike(Build item){
            return new BuildExtensionNestedImpl(item);
    }

    public A withScaleExtension(Scale scaleExtension){
            _visitables.remove(this.extension);
            if (scaleExtension!=null){ this.extension= new ScaleBuilder(scaleExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ScaleExtensionNested withNewScaleExtension(){
            return new ScaleExtensionNestedImpl();
    }

    public NamedExtensionFluent.ScaleExtensionNested withNewScaleExtensionLike(Scale item){
            return new ScaleExtensionNestedImpl(item);
    }

    public A withPodExtension(Pod podExtension){
            _visitables.remove(this.extension);
            if (podExtension!=null){ this.extension= new PodBuilder(podExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PodExtensionNested withNewPodExtension(){
            return new PodExtensionNestedImpl();
    }

    public NamedExtensionFluent.PodExtensionNested withNewPodExtensionLike(Pod item){
            return new PodExtensionNestedImpl(item);
    }

    public A withHorizontalPodAutoscalerExtension(HorizontalPodAutoscaler horizontalPodAutoscalerExtension){
            _visitables.remove(this.extension);
            if (horizontalPodAutoscalerExtension!=null){ this.extension= new HorizontalPodAutoscalerBuilder(horizontalPodAutoscalerExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.HorizontalPodAutoscalerExtensionNested withNewHorizontalPodAutoscalerExtension(){
            return new HorizontalPodAutoscalerExtensionNestedImpl();
    }

    public NamedExtensionFluent.HorizontalPodAutoscalerExtensionNested withNewHorizontalPodAutoscalerExtensionLike(HorizontalPodAutoscaler item){
            return new HorizontalPodAutoscalerExtensionNestedImpl(item);
    }

    public A withProjectRequestExtension(ProjectRequest projectRequestExtension){
            _visitables.remove(this.extension);
            if (projectRequestExtension!=null){ this.extension= new ProjectRequestBuilder(projectRequestExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ProjectRequestExtensionNested withNewProjectRequestExtension(){
            return new ProjectRequestExtensionNestedImpl();
    }

    public NamedExtensionFluent.ProjectRequestExtensionNested withNewProjectRequestExtensionLike(ProjectRequest item){
            return new ProjectRequestExtensionNestedImpl(item);
    }

    public A withThirdPartyResourceExtension(ThirdPartyResource thirdPartyResourceExtension){
            _visitables.remove(this.extension);
            if (thirdPartyResourceExtension!=null){ this.extension= new ThirdPartyResourceBuilder(thirdPartyResourceExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ThirdPartyResourceExtensionNested withNewThirdPartyResourceExtension(){
            return new ThirdPartyResourceExtensionNestedImpl();
    }

    public NamedExtensionFluent.ThirdPartyResourceExtensionNested withNewThirdPartyResourceExtensionLike(ThirdPartyResource item){
            return new ThirdPartyResourceExtensionNestedImpl(item);
    }

    public A withImageStreamTagExtension(ImageStreamTag imageStreamTagExtension){
            _visitables.remove(this.extension);
            if (imageStreamTagExtension!=null){ this.extension= new ImageStreamTagBuilder(imageStreamTagExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ImageStreamTagExtensionNested withNewImageStreamTagExtension(){
            return new ImageStreamTagExtensionNestedImpl();
    }

    public NamedExtensionFluent.ImageStreamTagExtensionNested withNewImageStreamTagExtensionLike(ImageStreamTag item){
            return new ImageStreamTagExtensionNestedImpl(item);
    }

    public A withComponentStatusExtension(ComponentStatus componentStatusExtension){
            _visitables.remove(this.extension);
            if (componentStatusExtension!=null){ this.extension= new ComponentStatusBuilder(componentStatusExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ComponentStatusExtensionNested withNewComponentStatusExtension(){
            return new ComponentStatusExtensionNestedImpl();
    }

    public NamedExtensionFluent.ComponentStatusExtensionNested withNewComponentStatusExtensionLike(ComponentStatus item){
            return new ComponentStatusExtensionNestedImpl(item);
    }

    public A withSecretExtension(Secret secretExtension){
            _visitables.remove(this.extension);
            if (secretExtension!=null){ this.extension= new SecretBuilder(secretExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.SecretExtensionNested withNewSecretExtension(){
            return new SecretExtensionNestedImpl();
    }

    public NamedExtensionFluent.SecretExtensionNested withNewSecretExtensionLike(Secret item){
            return new SecretExtensionNestedImpl(item);
    }

    public A withReplicationControllerExtension(ReplicationController replicationControllerExtension){
            _visitables.remove(this.extension);
            if (replicationControllerExtension!=null){ this.extension= new ReplicationControllerBuilder(replicationControllerExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ReplicationControllerExtensionNested withNewReplicationControllerExtension(){
            return new ReplicationControllerExtensionNestedImpl();
    }

    public NamedExtensionFluent.ReplicationControllerExtensionNested withNewReplicationControllerExtensionLike(ReplicationController item){
            return new ReplicationControllerExtensionNestedImpl(item);
    }

    public A withLimitRangeExtension(LimitRange limitRangeExtension){
            _visitables.remove(this.extension);
            if (limitRangeExtension!=null){ this.extension= new LimitRangeBuilder(limitRangeExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.LimitRangeExtensionNested withNewLimitRangeExtension(){
            return new LimitRangeExtensionNestedImpl();
    }

    public NamedExtensionFluent.LimitRangeExtensionNested withNewLimitRangeExtensionLike(LimitRange item){
            return new LimitRangeExtensionNestedImpl(item);
    }

    public A withEndpointsExtension(Endpoints endpointsExtension){
            _visitables.remove(this.extension);
            if (endpointsExtension!=null){ this.extension= new EndpointsBuilder(endpointsExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.EndpointsExtensionNested withNewEndpointsExtension(){
            return new EndpointsExtensionNestedImpl();
    }

    public NamedExtensionFluent.EndpointsExtensionNested withNewEndpointsExtensionLike(Endpoints item){
            return new EndpointsExtensionNestedImpl(item);
    }

    public A withSecurityContextConstraintsExtension(SecurityContextConstraints securityContextConstraintsExtension){
            _visitables.remove(this.extension);
            if (securityContextConstraintsExtension!=null){ this.extension= new SecurityContextConstraintsBuilder(securityContextConstraintsExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.SecurityContextConstraintsExtensionNested withNewSecurityContextConstraintsExtension(){
            return new SecurityContextConstraintsExtensionNestedImpl();
    }

    public NamedExtensionFluent.SecurityContextConstraintsExtensionNested withNewSecurityContextConstraintsExtensionLike(SecurityContextConstraints item){
            return new SecurityContextConstraintsExtensionNestedImpl(item);
    }

    public A withGroupExtension(Group groupExtension){
            _visitables.remove(this.extension);
            if (groupExtension!=null){ this.extension= new GroupBuilder(groupExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.GroupExtensionNested withNewGroupExtension(){
            return new GroupExtensionNestedImpl();
    }

    public NamedExtensionFluent.GroupExtensionNested withNewGroupExtensionLike(Group item){
            return new GroupExtensionNestedImpl(item);
    }

    public A withEventExtension(Event eventExtension){
            _visitables.remove(this.extension);
            if (eventExtension!=null){ this.extension= new EventBuilder(eventExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.EventExtensionNested withNewEventExtension(){
            return new EventExtensionNestedImpl();
    }

    public NamedExtensionFluent.EventExtensionNested withNewEventExtensionLike(Event item){
            return new EventExtensionNestedImpl(item);
    }

    public A withNodeExtension(Node nodeExtension){
            _visitables.remove(this.extension);
            if (nodeExtension!=null){ this.extension= new NodeBuilder(nodeExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.NodeExtensionNested withNewNodeExtension(){
            return new NodeExtensionNestedImpl();
    }

    public NamedExtensionFluent.NodeExtensionNested withNewNodeExtensionLike(Node item){
            return new NodeExtensionNestedImpl(item);
    }

    public A withReplicaSetExtension(ReplicaSet replicaSetExtension){
            _visitables.remove(this.extension);
            if (replicaSetExtension!=null){ this.extension= new ReplicaSetBuilder(replicaSetExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ReplicaSetExtensionNested withNewReplicaSetExtension(){
            return new ReplicaSetExtensionNestedImpl();
    }

    public NamedExtensionFluent.ReplicaSetExtensionNested withNewReplicaSetExtensionLike(ReplicaSet item){
            return new ReplicaSetExtensionNestedImpl(item);
    }

    public A withClusterRoleBindingExtension(ClusterRoleBinding clusterRoleBindingExtension){
            _visitables.remove(this.extension);
            if (clusterRoleBindingExtension!=null){ this.extension= new ClusterRoleBindingBuilder(clusterRoleBindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ClusterRoleBindingExtensionNested withNewClusterRoleBindingExtension(){
            return new ClusterRoleBindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.ClusterRoleBindingExtensionNested withNewClusterRoleBindingExtensionLike(ClusterRoleBinding item){
            return new ClusterRoleBindingExtensionNestedImpl(item);
    }

    public A withJenkinsExtension(Jenkins jenkinsExtension){
            _visitables.remove(this.extension);
            if (jenkinsExtension!=null){ this.extension= new JenkinsBuilder(jenkinsExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.JenkinsExtensionNested withNewJenkinsExtension(){
            return new JenkinsExtensionNestedImpl();
    }

    public NamedExtensionFluent.JenkinsExtensionNested withNewJenkinsExtensionLike(Jenkins item){
            return new JenkinsExtensionNestedImpl(item);
    }

    public A withDaemonSetExtension(DaemonSet daemonSetExtension){
            _visitables.remove(this.extension);
            if (daemonSetExtension!=null){ this.extension= new DaemonSetBuilder(daemonSetExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.DaemonSetExtensionNested withNewDaemonSetExtension(){
            return new DaemonSetExtensionNestedImpl();
    }

    public NamedExtensionFluent.DaemonSetExtensionNested withNewDaemonSetExtensionLike(DaemonSet item){
            return new DaemonSetExtensionNestedImpl(item);
    }

    public A withPodDisruptionBudgetExtension(PodDisruptionBudget podDisruptionBudgetExtension){
            _visitables.remove(this.extension);
            if (podDisruptionBudgetExtension!=null){ this.extension= new PodDisruptionBudgetBuilder(podDisruptionBudgetExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PodDisruptionBudgetExtensionNested withNewPodDisruptionBudgetExtension(){
            return new PodDisruptionBudgetExtensionNestedImpl();
    }

    public NamedExtensionFluent.PodDisruptionBudgetExtensionNested withNewPodDisruptionBudgetExtensionLike(PodDisruptionBudget item){
            return new PodDisruptionBudgetExtensionNestedImpl(item);
    }

    public A withImageStreamExtension(ImageStream imageStreamExtension){
            _visitables.remove(this.extension);
            if (imageStreamExtension!=null){ this.extension= new ImageStreamBuilder(imageStreamExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ImageStreamExtensionNested withNewImageStreamExtension(){
            return new ImageStreamExtensionNestedImpl();
    }

    public NamedExtensionFluent.ImageStreamExtensionNested withNewImageStreamExtensionLike(ImageStream item){
            return new ImageStreamExtensionNestedImpl(item);
    }

    public A withRoleBindingRestrictionExtension(RoleBindingRestriction roleBindingRestrictionExtension){
            _visitables.remove(this.extension);
            if (roleBindingRestrictionExtension!=null){ this.extension= new RoleBindingRestrictionBuilder(roleBindingRestrictionExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.RoleBindingRestrictionExtensionNested withNewRoleBindingRestrictionExtension(){
            return new RoleBindingRestrictionExtensionNestedImpl();
    }

    public NamedExtensionFluent.RoleBindingRestrictionExtensionNested withNewRoleBindingRestrictionExtensionLike(RoleBindingRestriction item){
            return new RoleBindingRestrictionExtensionNestedImpl(item);
    }

    public A withBindingExtension(Binding bindingExtension){
            _visitables.remove(this.extension);
            if (bindingExtension!=null){ this.extension= new BindingBuilder(bindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.BindingExtensionNested withNewBindingExtension(){
            return new BindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.BindingExtensionNested withNewBindingExtensionLike(Binding item){
            return new BindingExtensionNestedImpl(item);
    }

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

    public NamedExtensionFluent.AuthorizationLocalSubjectAccessReviewExtensionNested withNewAuthorizationLocalSubjectAccessReviewExtension(){
            return new AuthorizationLocalSubjectAccessReviewExtensionNestedImpl();
    }

    public NamedExtensionFluent.AuthorizationLocalSubjectAccessReviewExtensionNested withNewLocalSubjectAccessReviewExtensionLike(io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview item){
            return new AuthorizationLocalSubjectAccessReviewExtensionNestedImpl(item);
    }

    public A withStatefulSetExtension(StatefulSet statefulSetExtension){
            _visitables.remove(this.extension);
            if (statefulSetExtension!=null){ this.extension= new StatefulSetBuilder(statefulSetExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.StatefulSetExtensionNested withNewStatefulSetExtension(){
            return new StatefulSetExtensionNestedImpl();
    }

    public NamedExtensionFluent.StatefulSetExtensionNested withNewStatefulSetExtensionLike(StatefulSet item){
            return new StatefulSetExtensionNestedImpl(item);
    }

    public A withOAuthClientExtension(OAuthClient oAuthClientExtension){
            _visitables.remove(this.extension);
            if (oAuthClientExtension!=null){ this.extension= new OAuthClientBuilder(oAuthClientExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.OAuthClientExtensionNested withNewOAuthClientExtension(){
            return new OAuthClientExtensionNestedImpl();
    }

    public NamedExtensionFluent.OAuthClientExtensionNested withNewOAuthClientExtensionLike(OAuthClient item){
            return new OAuthClientExtensionNestedImpl(item);
    }

    public A withTemplateExtension(Template templateExtension){
            _visitables.remove(this.extension);
            if (templateExtension!=null){ this.extension= new TemplateBuilder(templateExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.TemplateExtensionNested withNewTemplateExtension(){
            return new TemplateExtensionNestedImpl();
    }

    public NamedExtensionFluent.TemplateExtensionNested withNewTemplateExtensionLike(Template item){
            return new TemplateExtensionNestedImpl(item);
    }

    public A withBuildConfigExtension(BuildConfig buildConfigExtension){
            _visitables.remove(this.extension);
            if (buildConfigExtension!=null){ this.extension= new BuildConfigBuilder(buildConfigExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.BuildConfigExtensionNested withNewBuildConfigExtension(){
            return new BuildConfigExtensionNestedImpl();
    }

    public NamedExtensionFluent.BuildConfigExtensionNested withNewBuildConfigExtensionLike(BuildConfig item){
            return new BuildConfigExtensionNestedImpl(item);
    }

    public A withPodSecurityPolicyExtension(PodSecurityPolicy podSecurityPolicyExtension){
            _visitables.remove(this.extension);
            if (podSecurityPolicyExtension!=null){ this.extension= new PodSecurityPolicyBuilder(podSecurityPolicyExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PodSecurityPolicyExtensionNested withNewPodSecurityPolicyExtension(){
            return new PodSecurityPolicyExtensionNestedImpl();
    }

    public NamedExtensionFluent.PodSecurityPolicyExtensionNested withNewPodSecurityPolicyExtensionLike(PodSecurityPolicy item){
            return new PodSecurityPolicyExtensionNestedImpl(item);
    }

    public A withPipelineExtension(Pipeline pipelineExtension){
            _visitables.remove(this.extension);
            if (pipelineExtension!=null){ this.extension= new PipelineBuilder(pipelineExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PipelineExtensionNested withNewPipelineExtension(){
            return new PipelineExtensionNestedImpl();
    }

    public NamedExtensionFluent.PipelineExtensionNested withNewPipelineExtensionLike(Pipeline item){
            return new PipelineExtensionNestedImpl(item);
    }

    public A withRoleExtension(Role roleExtension){
            _visitables.remove(this.extension);
            if (roleExtension!=null){ this.extension= new RoleBuilder(roleExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.RoleExtensionNested withNewRoleExtension(){
            return new RoleExtensionNestedImpl();
    }

    public NamedExtensionFluent.RoleExtensionNested withNewRoleExtensionLike(Role item){
            return new RoleExtensionNestedImpl(item);
    }

    public A withCronJobExtension(CronJob cronJobExtension){
            _visitables.remove(this.extension);
            if (cronJobExtension!=null){ this.extension= new CronJobBuilder(cronJobExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.CronJobExtensionNested withNewCronJobExtension(){
            return new CronJobExtensionNestedImpl();
    }

    public NamedExtensionFluent.CronJobExtensionNested withNewCronJobExtensionLike(CronJob item){
            return new CronJobExtensionNestedImpl(item);
    }

    public A withUserExtension(User userExtension){
            _visitables.remove(this.extension);
            if (userExtension!=null){ this.extension= new UserBuilder(userExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.UserExtensionNested withNewUserExtension(){
            return new UserExtensionNestedImpl();
    }

    public NamedExtensionFluent.UserExtensionNested withNewUserExtensionLike(User item){
            return new UserExtensionNestedImpl(item);
    }

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

    public NamedExtensionFluent.AuthorizationSubjectAccessReviewExtensionNested withNewAuthorizationSubjectAccessReviewExtension(){
            return new AuthorizationSubjectAccessReviewExtensionNestedImpl();
    }

    public NamedExtensionFluent.AuthorizationSubjectAccessReviewExtensionNested withNewSubjectAccessReviewExtensionLike(io.alauda.kubernetes.api.model.authorization.SubjectAccessReview item){
            return new AuthorizationSubjectAccessReviewExtensionNestedImpl(item);
    }

    public A withStorageClassExtension(StorageClass storageClassExtension){
            _visitables.remove(this.extension);
            if (storageClassExtension!=null){ this.extension= new StorageClassBuilder(storageClassExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.StorageClassExtensionNested withNewStorageClassExtension(){
            return new StorageClassExtensionNestedImpl();
    }

    public NamedExtensionFluent.StorageClassExtensionNested withNewStorageClassExtensionLike(StorageClass item){
            return new StorageClassExtensionNestedImpl(item);
    }

    public A withPipelineConfigExtension(PipelineConfig pipelineConfigExtension){
            _visitables.remove(this.extension);
            if (pipelineConfigExtension!=null){ this.extension= new PipelineConfigBuilder(pipelineConfigExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PipelineConfigExtensionNested withNewPipelineConfigExtension(){
            return new PipelineConfigExtensionNestedImpl();
    }

    public NamedExtensionFluent.PipelineConfigExtensionNested withNewPipelineConfigExtensionLike(PipelineConfig item){
            return new PipelineConfigExtensionNestedImpl(item);
    }

    public A withDeploymentConfigExtension(DeploymentConfig deploymentConfigExtension){
            _visitables.remove(this.extension);
            if (deploymentConfigExtension!=null){ this.extension= new DeploymentConfigBuilder(deploymentConfigExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.DeploymentConfigExtensionNested withNewDeploymentConfigExtension(){
            return new DeploymentConfigExtensionNestedImpl();
    }

    public NamedExtensionFluent.DeploymentConfigExtensionNested withNewDeploymentConfigExtensionLike(DeploymentConfig item){
            return new DeploymentConfigExtensionNestedImpl(item);
    }

    public A withOAuthAccessTokenExtension(OAuthAccessToken oAuthAccessTokenExtension){
            _visitables.remove(this.extension);
            if (oAuthAccessTokenExtension!=null){ this.extension= new OAuthAccessTokenBuilder(oAuthAccessTokenExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.OAuthAccessTokenExtensionNested withNewOAuthAccessTokenExtension(){
            return new OAuthAccessTokenExtensionNestedImpl();
    }

    public NamedExtensionFluent.OAuthAccessTokenExtensionNested withNewOAuthAccessTokenExtensionLike(OAuthAccessToken item){
            return new OAuthAccessTokenExtensionNestedImpl(item);
    }

    public A withPersistentVolumeClaimExtension(PersistentVolumeClaim persistentVolumeClaimExtension){
            _visitables.remove(this.extension);
            if (persistentVolumeClaimExtension!=null){ this.extension= new PersistentVolumeClaimBuilder(persistentVolumeClaimExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PersistentVolumeClaimExtensionNested withNewPersistentVolumeClaimExtension(){
            return new PersistentVolumeClaimExtensionNestedImpl();
    }

    public NamedExtensionFluent.PersistentVolumeClaimExtensionNested withNewPersistentVolumeClaimExtensionLike(PersistentVolumeClaim item){
            return new PersistentVolumeClaimExtensionNestedImpl(item);
    }

    public A withNetworkPolicyExtension(NetworkPolicy networkPolicyExtension){
            _visitables.remove(this.extension);
            if (networkPolicyExtension!=null){ this.extension= new NetworkPolicyBuilder(networkPolicyExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.NetworkPolicyExtensionNested withNewNetworkPolicyExtension(){
            return new NetworkPolicyExtensionNestedImpl();
    }

    public NamedExtensionFluent.NetworkPolicyExtensionNested withNewNetworkPolicyExtensionLike(NetworkPolicy item){
            return new NetworkPolicyExtensionNestedImpl(item);
    }

    public A withImageExtension(Image imageExtension){
            _visitables.remove(this.extension);
            if (imageExtension!=null){ this.extension= new ImageBuilder(imageExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ImageExtensionNested withNewImageExtension(){
            return new ImageExtensionNestedImpl();
    }

    public NamedExtensionFluent.ImageExtensionNested withNewImageExtensionLike(Image item){
            return new ImageExtensionNestedImpl(item);
    }

    public A withServiceExtension(Service serviceExtension){
            _visitables.remove(this.extension);
            if (serviceExtension!=null){ this.extension= new ServiceBuilder(serviceExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ServiceExtensionNested withNewServiceExtension(){
            return new ServiceExtensionNestedImpl();
    }

    public NamedExtensionFluent.ServiceExtensionNested withNewServiceExtensionLike(Service item){
            return new ServiceExtensionNestedImpl(item);
    }

    public A withJobExtension(Job jobExtension){
            _visitables.remove(this.extension);
            if (jobExtension!=null){ this.extension= new JobBuilder(jobExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.JobExtensionNested withNewJobExtension(){
            return new JobExtensionNestedImpl();
    }

    public NamedExtensionFluent.JobExtensionNested withNewJobExtensionLike(Job item){
            return new JobExtensionNestedImpl(item);
    }

    public A withDeploymentExtension(Deployment deploymentExtension){
            _visitables.remove(this.extension);
            if (deploymentExtension!=null){ this.extension= new DeploymentBuilder(deploymentExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.DeploymentExtensionNested withNewDeploymentExtension(){
            return new DeploymentExtensionNestedImpl();
    }

    public NamedExtensionFluent.DeploymentExtensionNested withNewDeploymentExtensionLike(Deployment item){
            return new DeploymentExtensionNestedImpl(item);
    }

    public A withClusterPolicyBindingExtension(ClusterPolicyBinding clusterPolicyBindingExtension){
            _visitables.remove(this.extension);
            if (clusterPolicyBindingExtension!=null){ this.extension= new ClusterPolicyBindingBuilder(clusterPolicyBindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.ClusterPolicyBindingExtensionNested withNewClusterPolicyBindingExtension(){
            return new ClusterPolicyBindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.ClusterPolicyBindingExtensionNested withNewClusterPolicyBindingExtensionLike(ClusterPolicyBinding item){
            return new ClusterPolicyBindingExtensionNestedImpl(item);
    }

    public A withBuildRequestExtension(BuildRequest buildRequestExtension){
            _visitables.remove(this.extension);
            if (buildRequestExtension!=null){ this.extension= new BuildRequestBuilder(buildRequestExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.BuildRequestExtensionNested withNewBuildRequestExtension(){
            return new BuildRequestExtensionNestedImpl();
    }

    public NamedExtensionFluent.BuildRequestExtensionNested withNewBuildRequestExtensionLike(BuildRequest item){
            return new BuildRequestExtensionNestedImpl(item);
    }

    public A withRoleBindingExtension(RoleBinding roleBindingExtension){
            _visitables.remove(this.extension);
            if (roleBindingExtension!=null){ this.extension= new RoleBindingBuilder(roleBindingExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.RoleBindingExtensionNested withNewRoleBindingExtension(){
            return new RoleBindingExtensionNestedImpl();
    }

    public NamedExtensionFluent.RoleBindingExtensionNested withNewRoleBindingExtensionLike(RoleBinding item){
            return new RoleBindingExtensionNestedImpl(item);
    }

    public A withPersistentVolumeExtension(PersistentVolume persistentVolumeExtension){
            _visitables.remove(this.extension);
            if (persistentVolumeExtension!=null){ this.extension= new PersistentVolumeBuilder(persistentVolumeExtension); _visitables.add(this.extension);} return (A) this;
    }

    public NamedExtensionFluent.PersistentVolumeExtensionNested withNewPersistentVolumeExtension(){
            return new PersistentVolumeExtensionNestedImpl();
    }

    public NamedExtensionFluent.PersistentVolumeExtensionNested withNewPersistentVolumeExtensionLike(PersistentVolume item){
            return new PersistentVolumeExtensionNestedImpl(item);
    }

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

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

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

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            NamedExtensionFluentImpl that = (NamedExtensionFluentImpl) o;
            if (extension != null ? !extension.equals(that.extension) :that.extension != null) return false;
            if (name != null ? !name.equals(that.name) :that.name != null) return false;
            return true;
    }


    public class IngressExtensionNestedImpl extends IngressFluentImpl> implements NamedExtensionFluent.IngressExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final IngressBuilder builder;
    
            IngressExtensionNestedImpl(Ingress item){
                    this.builder = new IngressBuilder(this, item);
            }
            IngressExtensionNestedImpl(){
                    this.builder = new IngressBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withIngressExtension(builder.build());
    }
    public N endIngressExtension(){
            return and();
    }

}
    public class RouteExtensionNestedImpl extends RouteFluentImpl> implements NamedExtensionFluent.RouteExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final RouteBuilder builder;
    
            RouteExtensionNestedImpl(Route item){
                    this.builder = new RouteBuilder(this, item);
            }
            RouteExtensionNestedImpl(){
                    this.builder = new RouteBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withRouteExtension(builder.build());
    }
    public N endRouteExtension(){
            return and();
    }

}
    public class PolicyBindingExtensionNestedImpl extends PolicyBindingFluentImpl> implements NamedExtensionFluent.PolicyBindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PolicyBindingBuilder builder;
    
            PolicyBindingExtensionNestedImpl(PolicyBinding item){
                    this.builder = new PolicyBindingBuilder(this, item);
            }
            PolicyBindingExtensionNestedImpl(){
                    this.builder = new PolicyBindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPolicyBindingExtension(builder.build());
    }
    public N endPolicyBindingExtension(){
            return and();
    }

}
    public class ResourceQuotaExtensionNestedImpl extends ResourceQuotaFluentImpl> implements NamedExtensionFluent.ResourceQuotaExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ResourceQuotaBuilder builder;
    
            ResourceQuotaExtensionNestedImpl(ResourceQuota item){
                    this.builder = new ResourceQuotaBuilder(this, item);
            }
            ResourceQuotaExtensionNestedImpl(){
                    this.builder = new ResourceQuotaBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withResourceQuotaExtension(builder.build());
    }
    public N endResourceQuotaExtension(){
            return and();
    }

}
    public class ServiceAccountExtensionNestedImpl extends ServiceAccountFluentImpl> implements NamedExtensionFluent.ServiceAccountExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ServiceAccountBuilder builder;
    
            ServiceAccountExtensionNestedImpl(ServiceAccount item){
                    this.builder = new ServiceAccountBuilder(this, item);
            }
            ServiceAccountExtensionNestedImpl(){
                    this.builder = new ServiceAccountBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withServiceAccountExtension(builder.build());
    }
    public N endServiceAccountExtension(){
            return and();
    }

}
    public class ConfigMapExtensionNestedImpl extends ConfigMapFluentImpl> implements NamedExtensionFluent.ConfigMapExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ConfigMapBuilder builder;
    
            ConfigMapExtensionNestedImpl(ConfigMap item){
                    this.builder = new ConfigMapBuilder(this, item);
            }
            ConfigMapExtensionNestedImpl(){
                    this.builder = new ConfigMapBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withConfigMapExtension(builder.build());
    }
    public N endConfigMapExtension(){
            return and();
    }

}
    public class OAuthClientAuthorizationExtensionNestedImpl extends OAuthClientAuthorizationFluentImpl> implements NamedExtensionFluent.OAuthClientAuthorizationExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthClientAuthorizationBuilder builder;
    
            OAuthClientAuthorizationExtensionNestedImpl(OAuthClientAuthorization item){
                    this.builder = new OAuthClientAuthorizationBuilder(this, item);
            }
            OAuthClientAuthorizationExtensionNestedImpl(){
                    this.builder = new OAuthClientAuthorizationBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withOAuthClientAuthorizationExtension(builder.build());
    }
    public N endOAuthClientAuthorizationExtension(){
            return and();
    }

}
    public class PolicyExtensionNestedImpl extends PolicyFluentImpl> implements NamedExtensionFluent.PolicyExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PolicyBuilder builder;
    
            PolicyExtensionNestedImpl(Policy item){
                    this.builder = new PolicyBuilder(this, item);
            }
            PolicyExtensionNestedImpl(){
                    this.builder = new PolicyBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPolicyExtension(builder.build());
    }
    public N endPolicyExtension(){
            return and();
    }

}
    public class OAuthAuthorizeTokenExtensionNestedImpl extends OAuthAuthorizeTokenFluentImpl> implements NamedExtensionFluent.OAuthAuthorizeTokenExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthAuthorizeTokenBuilder builder;
    
            OAuthAuthorizeTokenExtensionNestedImpl(OAuthAuthorizeToken item){
                    this.builder = new OAuthAuthorizeTokenBuilder(this, item);
            }
            OAuthAuthorizeTokenExtensionNestedImpl(){
                    this.builder = new OAuthAuthorizeTokenBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withOAuthAuthorizeTokenExtension(builder.build());
    }
    public N endOAuthAuthorizeTokenExtension(){
            return and();
    }

}
    public class JenkinsBindingExtensionNestedImpl extends JenkinsBindingFluentImpl> implements NamedExtensionFluent.JenkinsBindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final JenkinsBindingBuilder builder;
    
            JenkinsBindingExtensionNestedImpl(JenkinsBinding item){
                    this.builder = new JenkinsBindingBuilder(this, item);
            }
            JenkinsBindingExtensionNestedImpl(){
                    this.builder = new JenkinsBindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withJenkinsBindingExtension(builder.build());
    }
    public N endJenkinsBindingExtension(){
            return and();
    }

}
    public class IdentityExtensionNestedImpl extends IdentityFluentImpl> implements NamedExtensionFluent.IdentityExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final IdentityBuilder builder;
    
            IdentityExtensionNestedImpl(Identity item){
                    this.builder = new IdentityBuilder(this, item);
            }
            IdentityExtensionNestedImpl(){
                    this.builder = new IdentityBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withIdentityExtension(builder.build());
    }
    public N endIdentityExtension(){
            return and();
    }

}
    public class PodTemplateExtensionNestedImpl extends PodTemplateFluentImpl> implements NamedExtensionFluent.PodTemplateExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodTemplateBuilder builder;
    
            PodTemplateExtensionNestedImpl(PodTemplate item){
                    this.builder = new PodTemplateBuilder(this, item);
            }
            PodTemplateExtensionNestedImpl(){
                    this.builder = new PodTemplateBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPodTemplateExtension(builder.build());
    }
    public N endPodTemplateExtension(){
            return and();
    }

}
    public class TokenReviewExtensionNestedImpl extends TokenReviewFluentImpl> implements NamedExtensionFluent.TokenReviewExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final TokenReviewBuilder builder;
    
            TokenReviewExtensionNestedImpl(TokenReview item){
                    this.builder = new TokenReviewBuilder(this, item);
            }
            TokenReviewExtensionNestedImpl(){
                    this.builder = new TokenReviewBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withTokenReviewExtension(builder.build());
    }
    public N endTokenReviewExtension(){
            return and();
    }

}
    public class CustomResourceDefinitionExtensionNestedImpl extends CustomResourceDefinitionFluentImpl> implements NamedExtensionFluent.CustomResourceDefinitionExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final CustomResourceDefinitionBuilder builder;
    
            CustomResourceDefinitionExtensionNestedImpl(CustomResourceDefinition item){
                    this.builder = new CustomResourceDefinitionBuilder(this, item);
            }
            CustomResourceDefinitionExtensionNestedImpl(){
                    this.builder = new CustomResourceDefinitionBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withCustomResourceDefinitionExtension(builder.build());
    }
    public N endCustomResourceDefinitionExtension(){
            return and();
    }

}
    public class ImageSignatureExtensionNestedImpl extends ImageSignatureFluentImpl> implements NamedExtensionFluent.ImageSignatureExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageSignatureBuilder builder;
    
            ImageSignatureExtensionNestedImpl(ImageSignature item){
                    this.builder = new ImageSignatureBuilder(this, item);
            }
            ImageSignatureExtensionNestedImpl(){
                    this.builder = new ImageSignatureBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withImageSignatureExtension(builder.build());
    }
    public N endImageSignatureExtension(){
            return and();
    }

}
    public class ClusterRoleExtensionNestedImpl extends ClusterRoleFluentImpl> implements NamedExtensionFluent.ClusterRoleExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterRoleBuilder builder;
    
            ClusterRoleExtensionNestedImpl(ClusterRole item){
                    this.builder = new ClusterRoleBuilder(this, item);
            }
            ClusterRoleExtensionNestedImpl(){
                    this.builder = new ClusterRoleBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withClusterRoleExtension(builder.build());
    }
    public N endClusterRoleExtension(){
            return and();
    }

}
    public class NamespaceExtensionNestedImpl extends NamespaceFluentImpl> implements NamedExtensionFluent.NamespaceExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final NamespaceBuilder builder;
    
            NamespaceExtensionNestedImpl(Namespace item){
                    this.builder = new NamespaceBuilder(this, item);
            }
            NamespaceExtensionNestedImpl(){
                    this.builder = new NamespaceBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withNamespaceExtension(builder.build());
    }
    public N endNamespaceExtension(){
            return and();
    }

}
    public class ClusterPolicyExtensionNestedImpl extends ClusterPolicyFluentImpl> implements NamedExtensionFluent.ClusterPolicyExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterPolicyBuilder builder;
    
            ClusterPolicyExtensionNestedImpl(ClusterPolicy item){
                    this.builder = new ClusterPolicyBuilder(this, item);
            }
            ClusterPolicyExtensionNestedImpl(){
                    this.builder = new ClusterPolicyBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withClusterPolicyExtension(builder.build());
    }
    public N endClusterPolicyExtension(){
            return and();
    }

}
    public class ProjectExtensionNestedImpl extends ProjectFluentImpl> implements NamedExtensionFluent.ProjectExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ProjectBuilder builder;
    
            ProjectExtensionNestedImpl(Project item){
                    this.builder = new ProjectBuilder(this, item);
            }
            ProjectExtensionNestedImpl(){
                    this.builder = new ProjectBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withProjectExtension(builder.build());
    }
    public N endProjectExtension(){
            return and();
    }

}
    public class BuildExtensionNestedImpl extends BuildFluentImpl> implements NamedExtensionFluent.BuildExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildBuilder builder;
    
            BuildExtensionNestedImpl(Build item){
                    this.builder = new BuildBuilder(this, item);
            }
            BuildExtensionNestedImpl(){
                    this.builder = new BuildBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withBuildExtension(builder.build());
    }
    public N endBuildExtension(){
            return and();
    }

}
    public class ScaleExtensionNestedImpl extends ScaleFluentImpl> implements NamedExtensionFluent.ScaleExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ScaleBuilder builder;
    
            ScaleExtensionNestedImpl(Scale item){
                    this.builder = new ScaleBuilder(this, item);
            }
            ScaleExtensionNestedImpl(){
                    this.builder = new ScaleBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withScaleExtension(builder.build());
    }
    public N endScaleExtension(){
            return and();
    }

}
    public class PodExtensionNestedImpl extends PodFluentImpl> implements NamedExtensionFluent.PodExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodBuilder builder;
    
            PodExtensionNestedImpl(Pod item){
                    this.builder = new PodBuilder(this, item);
            }
            PodExtensionNestedImpl(){
                    this.builder = new PodBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPodExtension(builder.build());
    }
    public N endPodExtension(){
            return and();
    }

}
    public class HorizontalPodAutoscalerExtensionNestedImpl extends HorizontalPodAutoscalerFluentImpl> implements NamedExtensionFluent.HorizontalPodAutoscalerExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final HorizontalPodAutoscalerBuilder builder;
    
            HorizontalPodAutoscalerExtensionNestedImpl(HorizontalPodAutoscaler item){
                    this.builder = new HorizontalPodAutoscalerBuilder(this, item);
            }
            HorizontalPodAutoscalerExtensionNestedImpl(){
                    this.builder = new HorizontalPodAutoscalerBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withHorizontalPodAutoscalerExtension(builder.build());
    }
    public N endHorizontalPodAutoscalerExtension(){
            return and();
    }

}
    public class ProjectRequestExtensionNestedImpl extends ProjectRequestFluentImpl> implements NamedExtensionFluent.ProjectRequestExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ProjectRequestBuilder builder;
    
            ProjectRequestExtensionNestedImpl(ProjectRequest item){
                    this.builder = new ProjectRequestBuilder(this, item);
            }
            ProjectRequestExtensionNestedImpl(){
                    this.builder = new ProjectRequestBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withProjectRequestExtension(builder.build());
    }
    public N endProjectRequestExtension(){
            return and();
    }

}
    public class ThirdPartyResourceExtensionNestedImpl extends ThirdPartyResourceFluentImpl> implements NamedExtensionFluent.ThirdPartyResourceExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ThirdPartyResourceBuilder builder;
    
            ThirdPartyResourceExtensionNestedImpl(ThirdPartyResource item){
                    this.builder = new ThirdPartyResourceBuilder(this, item);
            }
            ThirdPartyResourceExtensionNestedImpl(){
                    this.builder = new ThirdPartyResourceBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withThirdPartyResourceExtension(builder.build());
    }
    public N endThirdPartyResourceExtension(){
            return and();
    }

}
    public class ImageStreamTagExtensionNestedImpl extends ImageStreamTagFluentImpl> implements NamedExtensionFluent.ImageStreamTagExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageStreamTagBuilder builder;
    
            ImageStreamTagExtensionNestedImpl(ImageStreamTag item){
                    this.builder = new ImageStreamTagBuilder(this, item);
            }
            ImageStreamTagExtensionNestedImpl(){
                    this.builder = new ImageStreamTagBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withImageStreamTagExtension(builder.build());
    }
    public N endImageStreamTagExtension(){
            return and();
    }

}
    public class ComponentStatusExtensionNestedImpl extends ComponentStatusFluentImpl> implements NamedExtensionFluent.ComponentStatusExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ComponentStatusBuilder builder;
    
            ComponentStatusExtensionNestedImpl(ComponentStatus item){
                    this.builder = new ComponentStatusBuilder(this, item);
            }
            ComponentStatusExtensionNestedImpl(){
                    this.builder = new ComponentStatusBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withComponentStatusExtension(builder.build());
    }
    public N endComponentStatusExtension(){
            return and();
    }

}
    public class SecretExtensionNestedImpl extends SecretFluentImpl> implements NamedExtensionFluent.SecretExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final SecretBuilder builder;
    
            SecretExtensionNestedImpl(Secret item){
                    this.builder = new SecretBuilder(this, item);
            }
            SecretExtensionNestedImpl(){
                    this.builder = new SecretBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withSecretExtension(builder.build());
    }
    public N endSecretExtension(){
            return and();
    }

}
    public class ReplicationControllerExtensionNestedImpl extends ReplicationControllerFluentImpl> implements NamedExtensionFluent.ReplicationControllerExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ReplicationControllerBuilder builder;
    
            ReplicationControllerExtensionNestedImpl(ReplicationController item){
                    this.builder = new ReplicationControllerBuilder(this, item);
            }
            ReplicationControllerExtensionNestedImpl(){
                    this.builder = new ReplicationControllerBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withReplicationControllerExtension(builder.build());
    }
    public N endReplicationControllerExtension(){
            return and();
    }

}
    public class LimitRangeExtensionNestedImpl extends LimitRangeFluentImpl> implements NamedExtensionFluent.LimitRangeExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final LimitRangeBuilder builder;
    
            LimitRangeExtensionNestedImpl(LimitRange item){
                    this.builder = new LimitRangeBuilder(this, item);
            }
            LimitRangeExtensionNestedImpl(){
                    this.builder = new LimitRangeBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withLimitRangeExtension(builder.build());
    }
    public N endLimitRangeExtension(){
            return and();
    }

}
    public class EndpointsExtensionNestedImpl extends EndpointsFluentImpl> implements NamedExtensionFluent.EndpointsExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final EndpointsBuilder builder;
    
            EndpointsExtensionNestedImpl(Endpoints item){
                    this.builder = new EndpointsBuilder(this, item);
            }
            EndpointsExtensionNestedImpl(){
                    this.builder = new EndpointsBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withEndpointsExtension(builder.build());
    }
    public N endEndpointsExtension(){
            return and();
    }

}
    public class SecurityContextConstraintsExtensionNestedImpl extends SecurityContextConstraintsFluentImpl> implements NamedExtensionFluent.SecurityContextConstraintsExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final SecurityContextConstraintsBuilder builder;
    
            SecurityContextConstraintsExtensionNestedImpl(SecurityContextConstraints item){
                    this.builder = new SecurityContextConstraintsBuilder(this, item);
            }
            SecurityContextConstraintsExtensionNestedImpl(){
                    this.builder = new SecurityContextConstraintsBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withSecurityContextConstraintsExtension(builder.build());
    }
    public N endSecurityContextConstraintsExtension(){
            return and();
    }

}
    public class GroupExtensionNestedImpl extends GroupFluentImpl> implements NamedExtensionFluent.GroupExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final GroupBuilder builder;
    
            GroupExtensionNestedImpl(Group item){
                    this.builder = new GroupBuilder(this, item);
            }
            GroupExtensionNestedImpl(){
                    this.builder = new GroupBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withGroupExtension(builder.build());
    }
    public N endGroupExtension(){
            return and();
    }

}
    public class EventExtensionNestedImpl extends EventFluentImpl> implements NamedExtensionFluent.EventExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final EventBuilder builder;
    
            EventExtensionNestedImpl(Event item){
                    this.builder = new EventBuilder(this, item);
            }
            EventExtensionNestedImpl(){
                    this.builder = new EventBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withEventExtension(builder.build());
    }
    public N endEventExtension(){
            return and();
    }

}
    public class NodeExtensionNestedImpl extends NodeFluentImpl> implements NamedExtensionFluent.NodeExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final NodeBuilder builder;
    
            NodeExtensionNestedImpl(Node item){
                    this.builder = new NodeBuilder(this, item);
            }
            NodeExtensionNestedImpl(){
                    this.builder = new NodeBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withNodeExtension(builder.build());
    }
    public N endNodeExtension(){
            return and();
    }

}
    public class ReplicaSetExtensionNestedImpl extends ReplicaSetFluentImpl> implements NamedExtensionFluent.ReplicaSetExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ReplicaSetBuilder builder;
    
            ReplicaSetExtensionNestedImpl(ReplicaSet item){
                    this.builder = new ReplicaSetBuilder(this, item);
            }
            ReplicaSetExtensionNestedImpl(){
                    this.builder = new ReplicaSetBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withReplicaSetExtension(builder.build());
    }
    public N endReplicaSetExtension(){
            return and();
    }

}
    public class ClusterRoleBindingExtensionNestedImpl extends ClusterRoleBindingFluentImpl> implements NamedExtensionFluent.ClusterRoleBindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterRoleBindingBuilder builder;
    
            ClusterRoleBindingExtensionNestedImpl(ClusterRoleBinding item){
                    this.builder = new ClusterRoleBindingBuilder(this, item);
            }
            ClusterRoleBindingExtensionNestedImpl(){
                    this.builder = new ClusterRoleBindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withClusterRoleBindingExtension(builder.build());
    }
    public N endClusterRoleBindingExtension(){
            return and();
    }

}
    public class JenkinsExtensionNestedImpl extends JenkinsFluentImpl> implements NamedExtensionFluent.JenkinsExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final JenkinsBuilder builder;
    
            JenkinsExtensionNestedImpl(Jenkins item){
                    this.builder = new JenkinsBuilder(this, item);
            }
            JenkinsExtensionNestedImpl(){
                    this.builder = new JenkinsBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withJenkinsExtension(builder.build());
    }
    public N endJenkinsExtension(){
            return and();
    }

}
    public class DaemonSetExtensionNestedImpl extends DaemonSetFluentImpl> implements NamedExtensionFluent.DaemonSetExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final DaemonSetBuilder builder;
    
            DaemonSetExtensionNestedImpl(DaemonSet item){
                    this.builder = new DaemonSetBuilder(this, item);
            }
            DaemonSetExtensionNestedImpl(){
                    this.builder = new DaemonSetBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withDaemonSetExtension(builder.build());
    }
    public N endDaemonSetExtension(){
            return and();
    }

}
    public class PodDisruptionBudgetExtensionNestedImpl extends PodDisruptionBudgetFluentImpl> implements NamedExtensionFluent.PodDisruptionBudgetExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodDisruptionBudgetBuilder builder;
    
            PodDisruptionBudgetExtensionNestedImpl(PodDisruptionBudget item){
                    this.builder = new PodDisruptionBudgetBuilder(this, item);
            }
            PodDisruptionBudgetExtensionNestedImpl(){
                    this.builder = new PodDisruptionBudgetBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPodDisruptionBudgetExtension(builder.build());
    }
    public N endPodDisruptionBudgetExtension(){
            return and();
    }

}
    public class ImageStreamExtensionNestedImpl extends ImageStreamFluentImpl> implements NamedExtensionFluent.ImageStreamExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageStreamBuilder builder;
    
            ImageStreamExtensionNestedImpl(ImageStream item){
                    this.builder = new ImageStreamBuilder(this, item);
            }
            ImageStreamExtensionNestedImpl(){
                    this.builder = new ImageStreamBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withImageStreamExtension(builder.build());
    }
    public N endImageStreamExtension(){
            return and();
    }

}
    public class RoleBindingRestrictionExtensionNestedImpl extends RoleBindingRestrictionFluentImpl> implements NamedExtensionFluent.RoleBindingRestrictionExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBindingRestrictionBuilder builder;
    
            RoleBindingRestrictionExtensionNestedImpl(RoleBindingRestriction item){
                    this.builder = new RoleBindingRestrictionBuilder(this, item);
            }
            RoleBindingRestrictionExtensionNestedImpl(){
                    this.builder = new RoleBindingRestrictionBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withRoleBindingRestrictionExtension(builder.build());
    }
    public N endRoleBindingRestrictionExtension(){
            return and();
    }

}
    public class BindingExtensionNestedImpl extends BindingFluentImpl> implements NamedExtensionFluent.BindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final BindingBuilder builder;
    
            BindingExtensionNestedImpl(Binding item){
                    this.builder = new BindingBuilder(this, item);
            }
            BindingExtensionNestedImpl(){
                    this.builder = new BindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withBindingExtension(builder.build());
    }
    public N endBindingExtension(){
            return and();
    }

}
    public class AuthorizationLocalSubjectAccessReviewExtensionNestedImpl extends io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewFluentImpl> implements NamedExtensionFluent.AuthorizationLocalSubjectAccessReviewExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder builder;
    
            AuthorizationLocalSubjectAccessReviewExtensionNestedImpl(io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReview item){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder(this, item);
            }
            AuthorizationLocalSubjectAccessReviewExtensionNestedImpl(){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.LocalSubjectAccessReviewBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withLocalSubjectAccessReviewExtension(builder.build());
    }
    public N endAuthorizationLocalSubjectAccessReviewExtension(){
            return and();
    }

}
    public class StatefulSetExtensionNestedImpl extends StatefulSetFluentImpl> implements NamedExtensionFluent.StatefulSetExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final StatefulSetBuilder builder;
    
            StatefulSetExtensionNestedImpl(StatefulSet item){
                    this.builder = new StatefulSetBuilder(this, item);
            }
            StatefulSetExtensionNestedImpl(){
                    this.builder = new StatefulSetBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withStatefulSetExtension(builder.build());
    }
    public N endStatefulSetExtension(){
            return and();
    }

}
    public class OAuthClientExtensionNestedImpl extends OAuthClientFluentImpl> implements NamedExtensionFluent.OAuthClientExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthClientBuilder builder;
    
            OAuthClientExtensionNestedImpl(OAuthClient item){
                    this.builder = new OAuthClientBuilder(this, item);
            }
            OAuthClientExtensionNestedImpl(){
                    this.builder = new OAuthClientBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withOAuthClientExtension(builder.build());
    }
    public N endOAuthClientExtension(){
            return and();
    }

}
    public class TemplateExtensionNestedImpl extends TemplateFluentImpl> implements NamedExtensionFluent.TemplateExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final TemplateBuilder builder;
    
            TemplateExtensionNestedImpl(Template item){
                    this.builder = new TemplateBuilder(this, item);
            }
            TemplateExtensionNestedImpl(){
                    this.builder = new TemplateBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withTemplateExtension(builder.build());
    }
    public N endTemplateExtension(){
            return and();
    }

}
    public class BuildConfigExtensionNestedImpl extends BuildConfigFluentImpl> implements NamedExtensionFluent.BuildConfigExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildConfigBuilder builder;
    
            BuildConfigExtensionNestedImpl(BuildConfig item){
                    this.builder = new BuildConfigBuilder(this, item);
            }
            BuildConfigExtensionNestedImpl(){
                    this.builder = new BuildConfigBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withBuildConfigExtension(builder.build());
    }
    public N endBuildConfigExtension(){
            return and();
    }

}
    public class PodSecurityPolicyExtensionNestedImpl extends PodSecurityPolicyFluentImpl> implements NamedExtensionFluent.PodSecurityPolicyExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PodSecurityPolicyBuilder builder;
    
            PodSecurityPolicyExtensionNestedImpl(PodSecurityPolicy item){
                    this.builder = new PodSecurityPolicyBuilder(this, item);
            }
            PodSecurityPolicyExtensionNestedImpl(){
                    this.builder = new PodSecurityPolicyBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPodSecurityPolicyExtension(builder.build());
    }
    public N endPodSecurityPolicyExtension(){
            return and();
    }

}
    public class PipelineExtensionNestedImpl extends PipelineFluentImpl> implements NamedExtensionFluent.PipelineExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineBuilder builder;
    
            PipelineExtensionNestedImpl(Pipeline item){
                    this.builder = new PipelineBuilder(this, item);
            }
            PipelineExtensionNestedImpl(){
                    this.builder = new PipelineBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPipelineExtension(builder.build());
    }
    public N endPipelineExtension(){
            return and();
    }

}
    public class RoleExtensionNestedImpl extends RoleFluentImpl> implements NamedExtensionFluent.RoleExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBuilder builder;
    
            RoleExtensionNestedImpl(Role item){
                    this.builder = new RoleBuilder(this, item);
            }
            RoleExtensionNestedImpl(){
                    this.builder = new RoleBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withRoleExtension(builder.build());
    }
    public N endRoleExtension(){
            return and();
    }

}
    public class CronJobExtensionNestedImpl extends CronJobFluentImpl> implements NamedExtensionFluent.CronJobExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final CronJobBuilder builder;
    
            CronJobExtensionNestedImpl(CronJob item){
                    this.builder = new CronJobBuilder(this, item);
            }
            CronJobExtensionNestedImpl(){
                    this.builder = new CronJobBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withCronJobExtension(builder.build());
    }
    public N endCronJobExtension(){
            return and();
    }

}
    public class UserExtensionNestedImpl extends UserFluentImpl> implements NamedExtensionFluent.UserExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final UserBuilder builder;
    
            UserExtensionNestedImpl(User item){
                    this.builder = new UserBuilder(this, item);
            }
            UserExtensionNestedImpl(){
                    this.builder = new UserBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withUserExtension(builder.build());
    }
    public N endUserExtension(){
            return and();
    }

}
    public class AuthorizationSubjectAccessReviewExtensionNestedImpl extends io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewFluentImpl> implements NamedExtensionFluent.AuthorizationSubjectAccessReviewExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder builder;
    
            AuthorizationSubjectAccessReviewExtensionNestedImpl(io.alauda.kubernetes.api.model.authorization.SubjectAccessReview item){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder(this, item);
            }
            AuthorizationSubjectAccessReviewExtensionNestedImpl(){
                    this.builder = new io.alauda.kubernetes.api.model.authorization.SubjectAccessReviewBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withSubjectAccessReviewExtension(builder.build());
    }
    public N endAuthorizationSubjectAccessReviewExtension(){
            return and();
    }

}
    public class StorageClassExtensionNestedImpl extends StorageClassFluentImpl> implements NamedExtensionFluent.StorageClassExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final StorageClassBuilder builder;
    
            StorageClassExtensionNestedImpl(StorageClass item){
                    this.builder = new StorageClassBuilder(this, item);
            }
            StorageClassExtensionNestedImpl(){
                    this.builder = new StorageClassBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withStorageClassExtension(builder.build());
    }
    public N endStorageClassExtension(){
            return and();
    }

}
    public class PipelineConfigExtensionNestedImpl extends PipelineConfigFluentImpl> implements NamedExtensionFluent.PipelineConfigExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineConfigBuilder builder;
    
            PipelineConfigExtensionNestedImpl(PipelineConfig item){
                    this.builder = new PipelineConfigBuilder(this, item);
            }
            PipelineConfigExtensionNestedImpl(){
                    this.builder = new PipelineConfigBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPipelineConfigExtension(builder.build());
    }
    public N endPipelineConfigExtension(){
            return and();
    }

}
    public class DeploymentConfigExtensionNestedImpl extends DeploymentConfigFluentImpl> implements NamedExtensionFluent.DeploymentConfigExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final DeploymentConfigBuilder builder;
    
            DeploymentConfigExtensionNestedImpl(DeploymentConfig item){
                    this.builder = new DeploymentConfigBuilder(this, item);
            }
            DeploymentConfigExtensionNestedImpl(){
                    this.builder = new DeploymentConfigBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withDeploymentConfigExtension(builder.build());
    }
    public N endDeploymentConfigExtension(){
            return and();
    }

}
    public class OAuthAccessTokenExtensionNestedImpl extends OAuthAccessTokenFluentImpl> implements NamedExtensionFluent.OAuthAccessTokenExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final OAuthAccessTokenBuilder builder;
    
            OAuthAccessTokenExtensionNestedImpl(OAuthAccessToken item){
                    this.builder = new OAuthAccessTokenBuilder(this, item);
            }
            OAuthAccessTokenExtensionNestedImpl(){
                    this.builder = new OAuthAccessTokenBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withOAuthAccessTokenExtension(builder.build());
    }
    public N endOAuthAccessTokenExtension(){
            return and();
    }

}
    public class PersistentVolumeClaimExtensionNestedImpl extends PersistentVolumeClaimFluentImpl> implements NamedExtensionFluent.PersistentVolumeClaimExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PersistentVolumeClaimBuilder builder;
    
            PersistentVolumeClaimExtensionNestedImpl(PersistentVolumeClaim item){
                    this.builder = new PersistentVolumeClaimBuilder(this, item);
            }
            PersistentVolumeClaimExtensionNestedImpl(){
                    this.builder = new PersistentVolumeClaimBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPersistentVolumeClaimExtension(builder.build());
    }
    public N endPersistentVolumeClaimExtension(){
            return and();
    }

}
    public class NetworkPolicyExtensionNestedImpl extends NetworkPolicyFluentImpl> implements NamedExtensionFluent.NetworkPolicyExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final NetworkPolicyBuilder builder;
    
            NetworkPolicyExtensionNestedImpl(NetworkPolicy item){
                    this.builder = new NetworkPolicyBuilder(this, item);
            }
            NetworkPolicyExtensionNestedImpl(){
                    this.builder = new NetworkPolicyBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withNetworkPolicyExtension(builder.build());
    }
    public N endNetworkPolicyExtension(){
            return and();
    }

}
    public class ImageExtensionNestedImpl extends ImageFluentImpl> implements NamedExtensionFluent.ImageExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageBuilder builder;
    
            ImageExtensionNestedImpl(Image item){
                    this.builder = new ImageBuilder(this, item);
            }
            ImageExtensionNestedImpl(){
                    this.builder = new ImageBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withImageExtension(builder.build());
    }
    public N endImageExtension(){
            return and();
    }

}
    public class ServiceExtensionNestedImpl extends ServiceFluentImpl> implements NamedExtensionFluent.ServiceExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ServiceBuilder builder;
    
            ServiceExtensionNestedImpl(Service item){
                    this.builder = new ServiceBuilder(this, item);
            }
            ServiceExtensionNestedImpl(){
                    this.builder = new ServiceBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withServiceExtension(builder.build());
    }
    public N endServiceExtension(){
            return and();
    }

}
    public class JobExtensionNestedImpl extends JobFluentImpl> implements NamedExtensionFluent.JobExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final JobBuilder builder;
    
            JobExtensionNestedImpl(Job item){
                    this.builder = new JobBuilder(this, item);
            }
            JobExtensionNestedImpl(){
                    this.builder = new JobBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withJobExtension(builder.build());
    }
    public N endJobExtension(){
            return and();
    }

}
    public class DeploymentExtensionNestedImpl extends DeploymentFluentImpl> implements NamedExtensionFluent.DeploymentExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final DeploymentBuilder builder;
    
            DeploymentExtensionNestedImpl(Deployment item){
                    this.builder = new DeploymentBuilder(this, item);
            }
            DeploymentExtensionNestedImpl(){
                    this.builder = new DeploymentBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withDeploymentExtension(builder.build());
    }
    public N endDeploymentExtension(){
            return and();
    }

}
    public class ClusterPolicyBindingExtensionNestedImpl extends ClusterPolicyBindingFluentImpl> implements NamedExtensionFluent.ClusterPolicyBindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final ClusterPolicyBindingBuilder builder;
    
            ClusterPolicyBindingExtensionNestedImpl(ClusterPolicyBinding item){
                    this.builder = new ClusterPolicyBindingBuilder(this, item);
            }
            ClusterPolicyBindingExtensionNestedImpl(){
                    this.builder = new ClusterPolicyBindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withClusterPolicyBindingExtension(builder.build());
    }
    public N endClusterPolicyBindingExtension(){
            return and();
    }

}
    public class BuildRequestExtensionNestedImpl extends BuildRequestFluentImpl> implements NamedExtensionFluent.BuildRequestExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final BuildRequestBuilder builder;
    
            BuildRequestExtensionNestedImpl(BuildRequest item){
                    this.builder = new BuildRequestBuilder(this, item);
            }
            BuildRequestExtensionNestedImpl(){
                    this.builder = new BuildRequestBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withBuildRequestExtension(builder.build());
    }
    public N endBuildRequestExtension(){
            return and();
    }

}
    public class RoleBindingExtensionNestedImpl extends RoleBindingFluentImpl> implements NamedExtensionFluent.RoleBindingExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final RoleBindingBuilder builder;
    
            RoleBindingExtensionNestedImpl(RoleBinding item){
                    this.builder = new RoleBindingBuilder(this, item);
            }
            RoleBindingExtensionNestedImpl(){
                    this.builder = new RoleBindingBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withRoleBindingExtension(builder.build());
    }
    public N endRoleBindingExtension(){
            return and();
    }

}
    public class PersistentVolumeExtensionNestedImpl extends PersistentVolumeFluentImpl> implements NamedExtensionFluent.PersistentVolumeExtensionNested,io.alauda.kubernetes.api.builder.Nested{

            private final PersistentVolumeBuilder builder;
    
            PersistentVolumeExtensionNestedImpl(PersistentVolume item){
                    this.builder = new PersistentVolumeBuilder(this, item);
            }
            PersistentVolumeExtensionNestedImpl(){
                    this.builder = new PersistentVolumeBuilder(this);
            }
    
    public N and(){
            return (N) NamedExtensionFluentImpl.this.withPersistentVolumeExtension(builder.build());
    }
    public N endPersistentVolumeExtension(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy