// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto

package io.kubernetes.client.proto;

public final class V1beta1Apiextensions {
  private V1beta1Apiextensions() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface CustomResourceDefinitionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    boolean hasMetadata();
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    io.kubernetes.client.proto.Meta.ObjectMeta getMetadata();
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder getMetadataOrBuilder();

    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    boolean hasSpec();
    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getSpec();
    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder getSpecOrBuilder();

    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    boolean hasStatus();
    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getStatus();
    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder getStatusOrBuilder();
  }
  /**
   * <pre>
   * CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format
   * &lt;.spec.name&gt;.&lt;.spec.group&gt;.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition}
   */
  public  static final class CustomResourceDefinition extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition)
      CustomResourceDefinitionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinition.newBuilder() to construct.
    private CustomResourceDefinition(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinition() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinition(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              io.kubernetes.client.proto.Meta.ObjectMeta.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = metadata_.toBuilder();
              }
              metadata_ = input.readMessage(io.kubernetes.client.proto.Meta.ObjectMeta.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(metadata_);
                metadata_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = spec_.toBuilder();
              }
              spec_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(spec_);
                spec_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 26: {
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = status_.toBuilder();
              }
              status_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(status_);
                status_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder.class);
    }

    private int bitField0_;
    public static final int METADATA_FIELD_NUMBER = 1;
    private io.kubernetes.client.proto.Meta.ObjectMeta metadata_;
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    public boolean hasMetadata() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    public io.kubernetes.client.proto.Meta.ObjectMeta getMetadata() {
      return metadata_ == null ? io.kubernetes.client.proto.Meta.ObjectMeta.getDefaultInstance() : metadata_;
    }
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
     */
    public io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder getMetadataOrBuilder() {
      return metadata_ == null ? io.kubernetes.client.proto.Meta.ObjectMeta.getDefaultInstance() : metadata_;
    }

    public static final int SPEC_FIELD_NUMBER = 2;
    private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec spec_;
    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    public boolean hasSpec() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getSpec() {
      return spec_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance() : spec_;
    }
    /**
     * <pre>
     * Spec describes how the user wants the resources to appear
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder getSpecOrBuilder() {
      return spec_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance() : spec_;
    }

    public static final int STATUS_FIELD_NUMBER = 3;
    private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus status_;
    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getStatus() {
      return status_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance() : status_;
    }
    /**
     * <pre>
     * Status indicates the actual state of the CustomResourceDefinition
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder getStatusOrBuilder() {
      return status_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance() : status_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getMetadata());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, getSpec());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, getStatus());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getMetadata());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getSpec());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getStatus());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition) obj;

      boolean result = true;
      result = result && (hasMetadata() == other.hasMetadata());
      if (hasMetadata()) {
        result = result && getMetadata()
            .equals(other.getMetadata());
      }
      result = result && (hasSpec() == other.hasSpec());
      if (hasSpec()) {
        result = result && getSpec()
            .equals(other.getSpec());
      }
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMetadata()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getMetadata().hashCode();
      }
      if (hasSpec()) {
        hash = (37 * hash) + SPEC_FIELD_NUMBER;
        hash = (53 * hash) + getSpec().hashCode();
      }
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format
     * &lt;.spec.name&gt;.&lt;.spec.group&gt;.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getMetadataFieldBuilder();
          getSpecFieldBuilder();
          getStatusFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (metadataBuilder_ == null) {
          metadata_ = null;
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (specBuilder_ == null) {
          spec_ = null;
        } else {
          specBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (statusBuilder_ == null) {
          status_ = null;
        } else {
          statusBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (metadataBuilder_ == null) {
          result.metadata_ = metadata_;
        } else {
          result.metadata_ = metadataBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (specBuilder_ == null) {
          result.spec_ = spec_;
        } else {
          result.spec_ = specBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (statusBuilder_ == null) {
          result.status_ = status_;
        } else {
          result.status_ = statusBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.getDefaultInstance()) return this;
        if (other.hasMetadata()) {
          mergeMetadata(other.getMetadata());
        }
        if (other.hasSpec()) {
          mergeSpec(other.getSpec());
        }
        if (other.hasStatus()) {
          mergeStatus(other.getStatus());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.kubernetes.client.proto.Meta.ObjectMeta metadata_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.ObjectMeta, io.kubernetes.client.proto.Meta.ObjectMeta.Builder, io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder> metadataBuilder_;
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public boolean hasMetadata() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ObjectMeta getMetadata() {
        if (metadataBuilder_ == null) {
          return metadata_ == null ? io.kubernetes.client.proto.Meta.ObjectMeta.getDefaultInstance() : metadata_;
        } else {
          return metadataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public Builder setMetadata(io.kubernetes.client.proto.Meta.ObjectMeta value) {
        if (metadataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          metadata_ = value;
          onChanged();
        } else {
          metadataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public Builder setMetadata(
          io.kubernetes.client.proto.Meta.ObjectMeta.Builder builderForValue) {
        if (metadataBuilder_ == null) {
          metadata_ = builderForValue.build();
          onChanged();
        } else {
          metadataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public Builder mergeMetadata(io.kubernetes.client.proto.Meta.ObjectMeta value) {
        if (metadataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              metadata_ != null &&
              metadata_ != io.kubernetes.client.proto.Meta.ObjectMeta.getDefaultInstance()) {
            metadata_ =
              io.kubernetes.client.proto.Meta.ObjectMeta.newBuilder(metadata_).mergeFrom(value).buildPartial();
          } else {
            metadata_ = value;
          }
          onChanged();
        } else {
          metadataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public Builder clearMetadata() {
        if (metadataBuilder_ == null) {
          metadata_ = null;
          onChanged();
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ObjectMeta.Builder getMetadataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMetadataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder getMetadataOrBuilder() {
        if (metadataBuilder_ != null) {
          return metadataBuilder_.getMessageOrBuilder();
        } else {
          return metadata_ == null ?
              io.kubernetes.client.proto.Meta.ObjectMeta.getDefaultInstance() : metadata_;
        }
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.ObjectMeta, io.kubernetes.client.proto.Meta.ObjectMeta.Builder, io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder> 
          getMetadataFieldBuilder() {
        if (metadataBuilder_ == null) {
          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.Meta.ObjectMeta, io.kubernetes.client.proto.Meta.ObjectMeta.Builder, io.kubernetes.client.proto.Meta.ObjectMetaOrBuilder>(
                  getMetadata(),
                  getParentForChildren(),
                  isClean());
          metadata_ = null;
        }
        return metadataBuilder_;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec spec_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder> specBuilder_;
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public boolean hasSpec() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getSpec() {
        if (specBuilder_ == null) {
          return spec_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance() : spec_;
        } else {
          return specBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public Builder setSpec(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec value) {
        if (specBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          spec_ = value;
          onChanged();
        } else {
          specBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public Builder setSpec(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder builderForValue) {
        if (specBuilder_ == null) {
          spec_ = builderForValue.build();
          onChanged();
        } else {
          specBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public Builder mergeSpec(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec value) {
        if (specBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              spec_ != null &&
              spec_ != io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance()) {
            spec_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.newBuilder(spec_).mergeFrom(value).buildPartial();
          } else {
            spec_ = value;
          }
          onChanged();
        } else {
          specBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public Builder clearSpec() {
        if (specBuilder_ == null) {
          spec_ = null;
          onChanged();
        } else {
          specBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder getSpecBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getSpecFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder getSpecOrBuilder() {
        if (specBuilder_ != null) {
          return specBuilder_.getMessageOrBuilder();
        } else {
          return spec_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance() : spec_;
        }
      }
      /**
       * <pre>
       * Spec describes how the user wants the resources to appear
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec spec = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder> 
          getSpecFieldBuilder() {
        if (specBuilder_ == null) {
          specBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder>(
                  getSpec(),
                  getParentForChildren(),
                  isClean());
          spec_ = null;
        }
        return specBuilder_;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus status_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder> statusBuilder_;
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public boolean hasStatus() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getStatus() {
        if (statusBuilder_ == null) {
          return status_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance() : status_;
        } else {
          return statusBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public Builder setStatus(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus value) {
        if (statusBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          status_ = value;
          onChanged();
        } else {
          statusBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public Builder setStatus(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder builderForValue) {
        if (statusBuilder_ == null) {
          status_ = builderForValue.build();
          onChanged();
        } else {
          statusBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public Builder mergeStatus(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus value) {
        if (statusBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              status_ != null &&
              status_ != io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance()) {
            status_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.newBuilder(status_).mergeFrom(value).buildPartial();
          } else {
            status_ = value;
          }
          onChanged();
        } else {
          statusBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public Builder clearStatus() {
        if (statusBuilder_ == null) {
          status_ = null;
          onChanged();
        } else {
          statusBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder getStatusBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getStatusFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder getStatusOrBuilder() {
        if (statusBuilder_ != null) {
          return statusBuilder_.getMessageOrBuilder();
        } else {
          return status_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance() : status_;
        }
      }
      /**
       * <pre>
       * Status indicates the actual state of the CustomResourceDefinition
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus status = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder> 
          getStatusFieldBuilder() {
        if (statusBuilder_ == null) {
          statusBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder>(
                  getStatus(),
                  getParentForChildren(),
                  isClean());
          status_ = null;
        }
        return statusBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinition>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinition>() {
      public CustomResourceDefinition parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinition(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinition> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinition> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceDefinitionConditionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    boolean hasType();
    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    java.lang.String getType();
    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    com.google.protobuf.ByteString
        getTypeBytes();

    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    boolean hasStatus();
    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    java.lang.String getStatus();
    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    com.google.protobuf.ByteString
        getStatusBytes();

    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    boolean hasLastTransitionTime();
    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    io.kubernetes.client.proto.Meta.Time getLastTransitionTime();
    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    io.kubernetes.client.proto.Meta.TimeOrBuilder getLastTransitionTimeOrBuilder();

    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    boolean hasReason();
    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    java.lang.String getReason();
    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    com.google.protobuf.ByteString
        getReasonBytes();

    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    boolean hasMessage();
    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    java.lang.String getMessage();
    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    com.google.protobuf.ByteString
        getMessageBytes();
  }
  /**
   * <pre>
   * CustomResourceDefinitionCondition contains details for the current condition of this pod.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition}
   */
  public  static final class CustomResourceDefinitionCondition extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition)
      CustomResourceDefinitionConditionOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinitionCondition.newBuilder() to construct.
    private CustomResourceDefinitionCondition(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinitionCondition() {
      type_ = "";
      status_ = "";
      reason_ = "";
      message_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinitionCondition(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              type_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              status_ = bs;
              break;
            }
            case 26: {
              io.kubernetes.client.proto.Meta.Time.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = lastTransitionTime_.toBuilder();
              }
              lastTransitionTime_ = input.readMessage(io.kubernetes.client.proto.Meta.Time.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(lastTransitionTime_);
                lastTransitionTime_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              reason_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              message_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder.class);
    }

    private int bitField0_;
    public static final int TYPE_FIELD_NUMBER = 1;
    private volatile java.lang.Object type_;
    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          type_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Type is the type of the condition.
     * </pre>
     *
     * <code>optional string type = 1;</code>
     */
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATUS_FIELD_NUMBER = 2;
    private volatile java.lang.Object status_;
    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    public boolean hasStatus() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    public java.lang.String getStatus() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          status_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Status is the status of the condition.
     * Can be True, False, Unknown.
     * </pre>
     *
     * <code>optional string status = 2;</code>
     */
    public com.google.protobuf.ByteString
        getStatusBytes() {
      java.lang.Object ref = status_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        status_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LASTTRANSITIONTIME_FIELD_NUMBER = 3;
    private io.kubernetes.client.proto.Meta.Time lastTransitionTime_;
    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    public boolean hasLastTransitionTime() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    public io.kubernetes.client.proto.Meta.Time getLastTransitionTime() {
      return lastTransitionTime_ == null ? io.kubernetes.client.proto.Meta.Time.getDefaultInstance() : lastTransitionTime_;
    }
    /**
     * <pre>
     * Last time the condition transitioned from one status to another.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
     */
    public io.kubernetes.client.proto.Meta.TimeOrBuilder getLastTransitionTimeOrBuilder() {
      return lastTransitionTime_ == null ? io.kubernetes.client.proto.Meta.Time.getDefaultInstance() : lastTransitionTime_;
    }

    public static final int REASON_FIELD_NUMBER = 4;
    private volatile java.lang.Object reason_;
    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    public boolean hasReason() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    public java.lang.String getReason() {
      java.lang.Object ref = reason_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          reason_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Unique, one-word, CamelCase reason for the condition's last transition.
     * +optional
     * </pre>
     *
     * <code>optional string reason = 4;</code>
     */
    public com.google.protobuf.ByteString
        getReasonBytes() {
      java.lang.Object ref = reason_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        reason_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MESSAGE_FIELD_NUMBER = 5;
    private volatile java.lang.Object message_;
    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    public java.lang.String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          message_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Human-readable message indicating details about last transition.
     * +optional
     * </pre>
     *
     * <code>optional string message = 5;</code>
     */
    public com.google.protobuf.ByteString
        getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, type_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, status_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, getLastTransitionTime());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, reason_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, message_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, type_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, status_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getLastTransitionTime());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, reason_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, message_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition) obj;

      boolean result = true;
      result = result && (hasType() == other.hasType());
      if (hasType()) {
        result = result && getType()
            .equals(other.getType());
      }
      result = result && (hasStatus() == other.hasStatus());
      if (hasStatus()) {
        result = result && getStatus()
            .equals(other.getStatus());
      }
      result = result && (hasLastTransitionTime() == other.hasLastTransitionTime());
      if (hasLastTransitionTime()) {
        result = result && getLastTransitionTime()
            .equals(other.getLastTransitionTime());
      }
      result = result && (hasReason() == other.hasReason());
      if (hasReason()) {
        result = result && getReason()
            .equals(other.getReason());
      }
      result = result && (hasMessage() == other.hasMessage());
      if (hasMessage()) {
        result = result && getMessage()
            .equals(other.getMessage());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getType().hashCode();
      }
      if (hasStatus()) {
        hash = (37 * hash) + STATUS_FIELD_NUMBER;
        hash = (53 * hash) + getStatus().hashCode();
      }
      if (hasLastTransitionTime()) {
        hash = (37 * hash) + LASTTRANSITIONTIME_FIELD_NUMBER;
        hash = (53 * hash) + getLastTransitionTime().hashCode();
      }
      if (hasReason()) {
        hash = (37 * hash) + REASON_FIELD_NUMBER;
        hash = (53 * hash) + getReason().hashCode();
      }
      if (hasMessage()) {
        hash = (37 * hash) + MESSAGE_FIELD_NUMBER;
        hash = (53 * hash) + getMessage().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinitionCondition contains details for the current condition of this pod.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getLastTransitionTimeFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        type_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        status_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (lastTransitionTimeBuilder_ == null) {
          lastTransitionTime_ = null;
        } else {
          lastTransitionTimeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        reason_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.status_ = status_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (lastTransitionTimeBuilder_ == null) {
          result.lastTransitionTime_ = lastTransitionTime_;
        } else {
          result.lastTransitionTime_ = lastTransitionTimeBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.reason_ = reason_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.getDefaultInstance()) return this;
        if (other.hasType()) {
          bitField0_ |= 0x00000001;
          type_ = other.type_;
          onChanged();
        }
        if (other.hasStatus()) {
          bitField0_ |= 0x00000002;
          status_ = other.status_;
          onChanged();
        }
        if (other.hasLastTransitionTime()) {
          mergeLastTransitionTime(other.getLastTransitionTime());
        }
        if (other.hasReason()) {
          bitField0_ |= 0x00000008;
          reason_ = other.reason_;
          onChanged();
        }
        if (other.hasMessage()) {
          bitField0_ |= 0x00000010;
          message_ = other.message_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object type_ = "";
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            type_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Type is the type of the condition.
       * </pre>
       *
       * <code>optional string type = 1;</code>
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object status_ = "";
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public boolean hasStatus() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public java.lang.String getStatus() {
        java.lang.Object ref = status_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            status_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public com.google.protobuf.ByteString
          getStatusBytes() {
        java.lang.Object ref = status_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          status_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public Builder setStatus(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        status_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public Builder clearStatus() {
        bitField0_ = (bitField0_ & ~0x00000002);
        status_ = getDefaultInstance().getStatus();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Status is the status of the condition.
       * Can be True, False, Unknown.
       * </pre>
       *
       * <code>optional string status = 2;</code>
       */
      public Builder setStatusBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        status_ = value;
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.Meta.Time lastTransitionTime_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.Time, io.kubernetes.client.proto.Meta.Time.Builder, io.kubernetes.client.proto.Meta.TimeOrBuilder> lastTransitionTimeBuilder_;
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public boolean hasLastTransitionTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public io.kubernetes.client.proto.Meta.Time getLastTransitionTime() {
        if (lastTransitionTimeBuilder_ == null) {
          return lastTransitionTime_ == null ? io.kubernetes.client.proto.Meta.Time.getDefaultInstance() : lastTransitionTime_;
        } else {
          return lastTransitionTimeBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public Builder setLastTransitionTime(io.kubernetes.client.proto.Meta.Time value) {
        if (lastTransitionTimeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          lastTransitionTime_ = value;
          onChanged();
        } else {
          lastTransitionTimeBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public Builder setLastTransitionTime(
          io.kubernetes.client.proto.Meta.Time.Builder builderForValue) {
        if (lastTransitionTimeBuilder_ == null) {
          lastTransitionTime_ = builderForValue.build();
          onChanged();
        } else {
          lastTransitionTimeBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public Builder mergeLastTransitionTime(io.kubernetes.client.proto.Meta.Time value) {
        if (lastTransitionTimeBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              lastTransitionTime_ != null &&
              lastTransitionTime_ != io.kubernetes.client.proto.Meta.Time.getDefaultInstance()) {
            lastTransitionTime_ =
              io.kubernetes.client.proto.Meta.Time.newBuilder(lastTransitionTime_).mergeFrom(value).buildPartial();
          } else {
            lastTransitionTime_ = value;
          }
          onChanged();
        } else {
          lastTransitionTimeBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public Builder clearLastTransitionTime() {
        if (lastTransitionTimeBuilder_ == null) {
          lastTransitionTime_ = null;
          onChanged();
        } else {
          lastTransitionTimeBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public io.kubernetes.client.proto.Meta.Time.Builder getLastTransitionTimeBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getLastTransitionTimeFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      public io.kubernetes.client.proto.Meta.TimeOrBuilder getLastTransitionTimeOrBuilder() {
        if (lastTransitionTimeBuilder_ != null) {
          return lastTransitionTimeBuilder_.getMessageOrBuilder();
        } else {
          return lastTransitionTime_ == null ?
              io.kubernetes.client.proto.Meta.Time.getDefaultInstance() : lastTransitionTime_;
        }
      }
      /**
       * <pre>
       * Last time the condition transitioned from one status to another.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.Time, io.kubernetes.client.proto.Meta.Time.Builder, io.kubernetes.client.proto.Meta.TimeOrBuilder> 
          getLastTransitionTimeFieldBuilder() {
        if (lastTransitionTimeBuilder_ == null) {
          lastTransitionTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.Meta.Time, io.kubernetes.client.proto.Meta.Time.Builder, io.kubernetes.client.proto.Meta.TimeOrBuilder>(
                  getLastTransitionTime(),
                  getParentForChildren(),
                  isClean());
          lastTransitionTime_ = null;
        }
        return lastTransitionTimeBuilder_;
      }

      private java.lang.Object reason_ = "";
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public boolean hasReason() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public java.lang.String getReason() {
        java.lang.Object ref = reason_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            reason_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public com.google.protobuf.ByteString
          getReasonBytes() {
        java.lang.Object ref = reason_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          reason_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public Builder setReason(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        reason_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public Builder clearReason() {
        bitField0_ = (bitField0_ & ~0x00000008);
        reason_ = getDefaultInstance().getReason();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Unique, one-word, CamelCase reason for the condition's last transition.
       * +optional
       * </pre>
       *
       * <code>optional string reason = 4;</code>
       */
      public Builder setReasonBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        reason_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object message_ = "";
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public java.lang.String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            message_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public com.google.protobuf.ByteString
          getMessageBytes() {
        java.lang.Object ref = message_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          message_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public Builder setMessage(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        message_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000010);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Human-readable message indicating details about last transition.
       * +optional
       * </pre>
       *
       * <code>optional string message = 5;</code>
       */
      public Builder setMessageBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        message_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinitionCondition>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinitionCondition>() {
      public CustomResourceDefinitionCondition parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinitionCondition(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinitionCondition> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinitionCondition> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceDefinitionListOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    boolean hasMetadata();
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    io.kubernetes.client.proto.Meta.ListMeta getMetadata();
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    io.kubernetes.client.proto.Meta.ListMetaOrBuilder getMetadataOrBuilder();

    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> 
        getItemsList();
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getItems(int index);
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    int getItemsCount();
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder> 
        getItemsOrBuilderList();
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder getItemsOrBuilder(
        int index);
  }
  /**
   * <pre>
   * CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList}
   */
  public  static final class CustomResourceDefinitionList extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList)
      CustomResourceDefinitionListOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinitionList.newBuilder() to construct.
    private CustomResourceDefinitionList(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinitionList() {
      items_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinitionList(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              io.kubernetes.client.proto.Meta.ListMeta.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = metadata_.toBuilder();
              }
              metadata_ = input.readMessage(io.kubernetes.client.proto.Meta.ListMeta.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(metadata_);
                metadata_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                items_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition>();
                mutable_bitField0_ |= 0x00000002;
              }
              items_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          items_ = java.util.Collections.unmodifiableList(items_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.Builder.class);
    }

    private int bitField0_;
    public static final int METADATA_FIELD_NUMBER = 1;
    private io.kubernetes.client.proto.Meta.ListMeta metadata_;
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    public boolean hasMetadata() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    public io.kubernetes.client.proto.Meta.ListMeta getMetadata() {
      return metadata_ == null ? io.kubernetes.client.proto.Meta.ListMeta.getDefaultInstance() : metadata_;
    }
    /**
     * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
     */
    public io.kubernetes.client.proto.Meta.ListMetaOrBuilder getMetadataOrBuilder() {
      return metadata_ == null ? io.kubernetes.client.proto.Meta.ListMeta.getDefaultInstance() : metadata_;
    }

    public static final int ITEMS_FIELD_NUMBER = 2;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> items_;
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> getItemsList() {
      return items_;
    }
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder> 
        getItemsOrBuilderList() {
      return items_;
    }
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    public int getItemsCount() {
      return items_.size();
    }
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getItems(int index) {
      return items_.get(index);
    }
    /**
     * <pre>
     * Items individual CustomResourceDefinitions
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder getItemsOrBuilder(
        int index) {
      return items_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getMetadata());
      }
      for (int i = 0; i < items_.size(); i++) {
        output.writeMessage(2, items_.get(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getMetadata());
      }
      for (int i = 0; i < items_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, items_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList) obj;

      boolean result = true;
      result = result && (hasMetadata() == other.hasMetadata());
      if (hasMetadata()) {
        result = result && getMetadata()
            .equals(other.getMetadata());
      }
      result = result && getItemsList()
          .equals(other.getItemsList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasMetadata()) {
        hash = (37 * hash) + METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getMetadata().hashCode();
      }
      if (getItemsCount() > 0) {
        hash = (37 * hash) + ITEMS_FIELD_NUMBER;
        hash = (53 * hash) + getItemsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinitionList is a list of CustomResourceDefinition objects.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionListOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getMetadataFieldBuilder();
          getItemsFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (metadataBuilder_ == null) {
          metadata_ = null;
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (itemsBuilder_ == null) {
          items_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          itemsBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (metadataBuilder_ == null) {
          result.metadata_ = metadata_;
        } else {
          result.metadata_ = metadataBuilder_.build();
        }
        if (itemsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            items_ = java.util.Collections.unmodifiableList(items_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.items_ = items_;
        } else {
          result.items_ = itemsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList.getDefaultInstance()) return this;
        if (other.hasMetadata()) {
          mergeMetadata(other.getMetadata());
        }
        if (itemsBuilder_ == null) {
          if (!other.items_.isEmpty()) {
            if (items_.isEmpty()) {
              items_ = other.items_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureItemsIsMutable();
              items_.addAll(other.items_);
            }
            onChanged();
          }
        } else {
          if (!other.items_.isEmpty()) {
            if (itemsBuilder_.isEmpty()) {
              itemsBuilder_.dispose();
              itemsBuilder_ = null;
              items_ = other.items_;
              bitField0_ = (bitField0_ & ~0x00000002);
              itemsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getItemsFieldBuilder() : null;
            } else {
              itemsBuilder_.addAllMessages(other.items_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.kubernetes.client.proto.Meta.ListMeta metadata_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.ListMeta, io.kubernetes.client.proto.Meta.ListMeta.Builder, io.kubernetes.client.proto.Meta.ListMetaOrBuilder> metadataBuilder_;
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public boolean hasMetadata() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ListMeta getMetadata() {
        if (metadataBuilder_ == null) {
          return metadata_ == null ? io.kubernetes.client.proto.Meta.ListMeta.getDefaultInstance() : metadata_;
        } else {
          return metadataBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public Builder setMetadata(io.kubernetes.client.proto.Meta.ListMeta value) {
        if (metadataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          metadata_ = value;
          onChanged();
        } else {
          metadataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public Builder setMetadata(
          io.kubernetes.client.proto.Meta.ListMeta.Builder builderForValue) {
        if (metadataBuilder_ == null) {
          metadata_ = builderForValue.build();
          onChanged();
        } else {
          metadataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public Builder mergeMetadata(io.kubernetes.client.proto.Meta.ListMeta value) {
        if (metadataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              metadata_ != null &&
              metadata_ != io.kubernetes.client.proto.Meta.ListMeta.getDefaultInstance()) {
            metadata_ =
              io.kubernetes.client.proto.Meta.ListMeta.newBuilder(metadata_).mergeFrom(value).buildPartial();
          } else {
            metadata_ = value;
          }
          onChanged();
        } else {
          metadataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public Builder clearMetadata() {
        if (metadataBuilder_ == null) {
          metadata_ = null;
          onChanged();
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ListMeta.Builder getMetadataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMetadataFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      public io.kubernetes.client.proto.Meta.ListMetaOrBuilder getMetadataOrBuilder() {
        if (metadataBuilder_ != null) {
          return metadataBuilder_.getMessageOrBuilder();
        } else {
          return metadata_ == null ?
              io.kubernetes.client.proto.Meta.ListMeta.getDefaultInstance() : metadata_;
        }
      }
      /**
       * <code>optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.Meta.ListMeta, io.kubernetes.client.proto.Meta.ListMeta.Builder, io.kubernetes.client.proto.Meta.ListMetaOrBuilder> 
          getMetadataFieldBuilder() {
        if (metadataBuilder_ == null) {
          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.Meta.ListMeta, io.kubernetes.client.proto.Meta.ListMeta.Builder, io.kubernetes.client.proto.Meta.ListMetaOrBuilder>(
                  getMetadata(),
                  getParentForChildren(),
                  isClean());
          metadata_ = null;
        }
        return metadataBuilder_;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> items_ =
        java.util.Collections.emptyList();
      private void ensureItemsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          items_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition>(items_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder> itemsBuilder_;

      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> getItemsList() {
        if (itemsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(items_);
        } else {
          return itemsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public int getItemsCount() {
        if (itemsBuilder_ == null) {
          return items_.size();
        } else {
          return itemsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition getItems(int index) {
        if (itemsBuilder_ == null) {
          return items_.get(index);
        } else {
          return itemsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder setItems(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition value) {
        if (itemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemsIsMutable();
          items_.set(index, value);
          onChanged();
        } else {
          itemsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder setItems(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder builderForValue) {
        if (itemsBuilder_ == null) {
          ensureItemsIsMutable();
          items_.set(index, builderForValue.build());
          onChanged();
        } else {
          itemsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder addItems(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition value) {
        if (itemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemsIsMutable();
          items_.add(value);
          onChanged();
        } else {
          itemsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder addItems(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition value) {
        if (itemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureItemsIsMutable();
          items_.add(index, value);
          onChanged();
        } else {
          itemsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder addItems(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder builderForValue) {
        if (itemsBuilder_ == null) {
          ensureItemsIsMutable();
          items_.add(builderForValue.build());
          onChanged();
        } else {
          itemsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder addItems(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder builderForValue) {
        if (itemsBuilder_ == null) {
          ensureItemsIsMutable();
          items_.add(index, builderForValue.build());
          onChanged();
        } else {
          itemsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder addAllItems(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition> values) {
        if (itemsBuilder_ == null) {
          ensureItemsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, items_);
          onChanged();
        } else {
          itemsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder clearItems() {
        if (itemsBuilder_ == null) {
          items_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          itemsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public Builder removeItems(int index) {
        if (itemsBuilder_ == null) {
          ensureItemsIsMutable();
          items_.remove(index);
          onChanged();
        } else {
          itemsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder getItemsBuilder(
          int index) {
        return getItemsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder getItemsOrBuilder(
          int index) {
        if (itemsBuilder_ == null) {
          return items_.get(index);  } else {
          return itemsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder> 
           getItemsOrBuilderList() {
        if (itemsBuilder_ != null) {
          return itemsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(items_);
        }
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder addItemsBuilder() {
        return getItemsFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.getDefaultInstance());
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder addItemsBuilder(
          int index) {
        return getItemsFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.getDefaultInstance());
      }
      /**
       * <pre>
       * Items individual CustomResourceDefinitions
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinition items = 2;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder> 
           getItemsBuilderList() {
        return getItemsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder> 
          getItemsFieldBuilder() {
        if (itemsBuilder_ == null) {
          itemsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionOrBuilder>(
                  items_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          items_ = null;
        }
        return itemsBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionList)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinitionList>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinitionList>() {
      public CustomResourceDefinitionList parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinitionList(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinitionList> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinitionList> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionList getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceDefinitionNamesOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    boolean hasPlural();
    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    java.lang.String getPlural();
    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    com.google.protobuf.ByteString
        getPluralBytes();

    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    boolean hasSingular();
    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    java.lang.String getSingular();
    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    com.google.protobuf.ByteString
        getSingularBytes();

    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    java.util.List<java.lang.String>
        getShortNamesList();
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    int getShortNamesCount();
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    java.lang.String getShortNames(int index);
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    com.google.protobuf.ByteString
        getShortNamesBytes(int index);

    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    boolean hasKind();
    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    java.lang.String getKind();
    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    com.google.protobuf.ByteString
        getKindBytes();

    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    boolean hasListKind();
    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    java.lang.String getListKind();
    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    com.google.protobuf.ByteString
        getListKindBytes();
  }
  /**
   * <pre>
   * CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames}
   */
  public  static final class CustomResourceDefinitionNames extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames)
      CustomResourceDefinitionNamesOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinitionNames.newBuilder() to construct.
    private CustomResourceDefinitionNames(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinitionNames() {
      plural_ = "";
      singular_ = "";
      shortNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      kind_ = "";
      listKind_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinitionNames(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              plural_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              singular_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                shortNames_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              shortNames_.add(bs);
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              kind_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              listKind_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          shortNames_ = shortNames_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder.class);
    }

    private int bitField0_;
    public static final int PLURAL_FIELD_NUMBER = 1;
    private volatile java.lang.Object plural_;
    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    public boolean hasPlural() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    public java.lang.String getPlural() {
      java.lang.Object ref = plural_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          plural_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
     * too: plural.group and it must be all lowercase.
     * </pre>
     *
     * <code>optional string plural = 1;</code>
     */
    public com.google.protobuf.ByteString
        getPluralBytes() {
      java.lang.Object ref = plural_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        plural_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SINGULAR_FIELD_NUMBER = 2;
    private volatile java.lang.Object singular_;
    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    public boolean hasSingular() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    public java.lang.String getSingular() {
      java.lang.Object ref = singular_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          singular_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
     * </pre>
     *
     * <code>optional string singular = 2;</code>
     */
    public com.google.protobuf.ByteString
        getSingularBytes() {
      java.lang.Object ref = singular_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        singular_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SHORTNAMES_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList shortNames_;
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getShortNamesList() {
      return shortNames_;
    }
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    public int getShortNamesCount() {
      return shortNames_.size();
    }
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    public java.lang.String getShortNames(int index) {
      return shortNames_.get(index);
    }
    /**
     * <pre>
     * ShortNames are short names for the resource.  It must be all lowercase.
     * </pre>
     *
     * <code>repeated string shortNames = 3;</code>
     */
    public com.google.protobuf.ByteString
        getShortNamesBytes(int index) {
      return shortNames_.getByteString(index);
    }

    public static final int KIND_FIELD_NUMBER = 4;
    private volatile java.lang.Object kind_;
    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    public boolean hasKind() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    public java.lang.String getKind() {
      java.lang.Object ref = kind_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          kind_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
     * </pre>
     *
     * <code>optional string kind = 4;</code>
     */
    public com.google.protobuf.ByteString
        getKindBytes() {
      java.lang.Object ref = kind_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        kind_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int LISTKIND_FIELD_NUMBER = 5;
    private volatile java.lang.Object listKind_;
    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    public boolean hasListKind() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    public java.lang.String getListKind() {
      java.lang.Object ref = listKind_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          listKind_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
     * </pre>
     *
     * <code>optional string listKind = 5;</code>
     */
    public com.google.protobuf.ByteString
        getListKindBytes() {
      java.lang.Object ref = listKind_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        listKind_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, plural_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, singular_);
      }
      for (int i = 0; i < shortNames_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, shortNames_.getRaw(i));
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, kind_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, listKind_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, plural_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, singular_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < shortNames_.size(); i++) {
          dataSize += computeStringSizeNoTag(shortNames_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getShortNamesList().size();
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, kind_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, listKind_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames) obj;

      boolean result = true;
      result = result && (hasPlural() == other.hasPlural());
      if (hasPlural()) {
        result = result && getPlural()
            .equals(other.getPlural());
      }
      result = result && (hasSingular() == other.hasSingular());
      if (hasSingular()) {
        result = result && getSingular()
            .equals(other.getSingular());
      }
      result = result && getShortNamesList()
          .equals(other.getShortNamesList());
      result = result && (hasKind() == other.hasKind());
      if (hasKind()) {
        result = result && getKind()
            .equals(other.getKind());
      }
      result = result && (hasListKind() == other.hasListKind());
      if (hasListKind()) {
        result = result && getListKind()
            .equals(other.getListKind());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasPlural()) {
        hash = (37 * hash) + PLURAL_FIELD_NUMBER;
        hash = (53 * hash) + getPlural().hashCode();
      }
      if (hasSingular()) {
        hash = (37 * hash) + SINGULAR_FIELD_NUMBER;
        hash = (53 * hash) + getSingular().hashCode();
      }
      if (getShortNamesCount() > 0) {
        hash = (37 * hash) + SHORTNAMES_FIELD_NUMBER;
        hash = (53 * hash) + getShortNamesList().hashCode();
      }
      if (hasKind()) {
        hash = (37 * hash) + KIND_FIELD_NUMBER;
        hash = (53 * hash) + getKind().hashCode();
      }
      if (hasListKind()) {
        hash = (37 * hash) + LISTKIND_FIELD_NUMBER;
        hash = (53 * hash) + getListKind().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        plural_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        singular_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        shortNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        kind_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        listKind_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.plural_ = plural_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.singular_ = singular_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          shortNames_ = shortNames_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.shortNames_ = shortNames_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        result.kind_ = kind_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.listKind_ = listKind_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance()) return this;
        if (other.hasPlural()) {
          bitField0_ |= 0x00000001;
          plural_ = other.plural_;
          onChanged();
        }
        if (other.hasSingular()) {
          bitField0_ |= 0x00000002;
          singular_ = other.singular_;
          onChanged();
        }
        if (!other.shortNames_.isEmpty()) {
          if (shortNames_.isEmpty()) {
            shortNames_ = other.shortNames_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureShortNamesIsMutable();
            shortNames_.addAll(other.shortNames_);
          }
          onChanged();
        }
        if (other.hasKind()) {
          bitField0_ |= 0x00000008;
          kind_ = other.kind_;
          onChanged();
        }
        if (other.hasListKind()) {
          bitField0_ |= 0x00000010;
          listKind_ = other.listKind_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object plural_ = "";
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public boolean hasPlural() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public java.lang.String getPlural() {
        java.lang.Object ref = plural_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            plural_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public com.google.protobuf.ByteString
          getPluralBytes() {
        java.lang.Object ref = plural_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          plural_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public Builder setPlural(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        plural_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public Builder clearPlural() {
        bitField0_ = (bitField0_ & ~0x00000001);
        plural_ = getDefaultInstance().getPlural();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration
       * too: plural.group and it must be all lowercase.
       * </pre>
       *
       * <code>optional string plural = 1;</code>
       */
      public Builder setPluralBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        plural_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object singular_ = "";
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public boolean hasSingular() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public java.lang.String getSingular() {
        java.lang.Object ref = singular_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            singular_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSingularBytes() {
        java.lang.Object ref = singular_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          singular_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public Builder setSingular(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        singular_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public Builder clearSingular() {
        bitField0_ = (bitField0_ & ~0x00000002);
        singular_ = getDefaultInstance().getSingular();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased &lt;kind&gt;
       * </pre>
       *
       * <code>optional string singular = 2;</code>
       */
      public Builder setSingularBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        singular_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList shortNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureShortNamesIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          shortNames_ = new com.google.protobuf.LazyStringArrayList(shortNames_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getShortNamesList() {
        return shortNames_.getUnmodifiableView();
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public int getShortNamesCount() {
        return shortNames_.size();
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public java.lang.String getShortNames(int index) {
        return shortNames_.get(index);
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public com.google.protobuf.ByteString
          getShortNamesBytes(int index) {
        return shortNames_.getByteString(index);
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public Builder setShortNames(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureShortNamesIsMutable();
        shortNames_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public Builder addShortNames(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureShortNamesIsMutable();
        shortNames_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public Builder addAllShortNames(
          java.lang.Iterable<java.lang.String> values) {
        ensureShortNamesIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, shortNames_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public Builder clearShortNames() {
        shortNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ShortNames are short names for the resource.  It must be all lowercase.
       * </pre>
       *
       * <code>repeated string shortNames = 3;</code>
       */
      public Builder addShortNamesBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureShortNamesIsMutable();
        shortNames_.add(value);
        onChanged();
        return this;
      }

      private java.lang.Object kind_ = "";
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public boolean hasKind() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public java.lang.String getKind() {
        java.lang.Object ref = kind_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            kind_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public com.google.protobuf.ByteString
          getKindBytes() {
        java.lang.Object ref = kind_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          kind_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public Builder setKind(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        kind_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public Builder clearKind() {
        bitField0_ = (bitField0_ & ~0x00000008);
        kind_ = getDefaultInstance().getKind();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Kind is the serialized kind of the resource.  It is normally CamelCase and singular.
       * </pre>
       *
       * <code>optional string kind = 4;</code>
       */
      public Builder setKindBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        kind_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object listKind_ = "";
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public boolean hasListKind() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public java.lang.String getListKind() {
        java.lang.Object ref = listKind_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            listKind_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public com.google.protobuf.ByteString
          getListKindBytes() {
        java.lang.Object ref = listKind_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          listKind_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public Builder setListKind(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        listKind_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public Builder clearListKind() {
        bitField0_ = (bitField0_ & ~0x00000010);
        listKind_ = getDefaultInstance().getListKind();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * ListKind is the serialized kind of the list for this resource.  Defaults to &lt;kind&gt;List.
       * </pre>
       *
       * <code>optional string listKind = 5;</code>
       */
      public Builder setListKindBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        listKind_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinitionNames>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinitionNames>() {
      public CustomResourceDefinitionNames parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinitionNames(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinitionNames> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinitionNames> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceDefinitionSpecOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    boolean hasGroup();
    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    java.lang.String getGroup();
    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    com.google.protobuf.ByteString
        getGroupBytes();

    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    boolean hasVersion();
    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    java.lang.String getVersion();
    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    com.google.protobuf.ByteString
        getVersionBytes();

    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    boolean hasNames();
    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getNames();
    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getNamesOrBuilder();

    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    boolean hasScope();
    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    java.lang.String getScope();
    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    com.google.protobuf.ByteString
        getScopeBytes();

    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    boolean hasValidation();
    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getValidation();
    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder getValidationOrBuilder();
  }
  /**
   * <pre>
   * CustomResourceDefinitionSpec describes how a user wants their resource to appear
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec}
   */
  public  static final class CustomResourceDefinitionSpec extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec)
      CustomResourceDefinitionSpecOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinitionSpec.newBuilder() to construct.
    private CustomResourceDefinitionSpec(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinitionSpec() {
      group_ = "";
      version_ = "";
      scope_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinitionSpec(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              group_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              version_ = bs;
              break;
            }
            case 26: {
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder subBuilder = null;
              if (((bitField0_ & 0x00000004) == 0x00000004)) {
                subBuilder = names_.toBuilder();
              }
              names_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(names_);
                names_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000004;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              scope_ = bs;
              break;
            }
            case 42: {
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder subBuilder = null;
              if (((bitField0_ & 0x00000010) == 0x00000010)) {
                subBuilder = validation_.toBuilder();
              }
              validation_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(validation_);
                validation_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000010;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder.class);
    }

    private int bitField0_;
    public static final int GROUP_FIELD_NUMBER = 1;
    private volatile java.lang.Object group_;
    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    public boolean hasGroup() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    public java.lang.String getGroup() {
      java.lang.Object ref = group_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          group_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Group is the group this resource belongs in
     * </pre>
     *
     * <code>optional string group = 1;</code>
     */
    public com.google.protobuf.ByteString
        getGroupBytes() {
      java.lang.Object ref = group_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        group_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VERSION_FIELD_NUMBER = 2;
    private volatile java.lang.Object version_;
    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    public java.lang.String getVersion() {
      java.lang.Object ref = version_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          version_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Version is the version this resource belongs in
     * </pre>
     *
     * <code>optional string version = 2;</code>
     */
    public com.google.protobuf.ByteString
        getVersionBytes() {
      java.lang.Object ref = version_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        version_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAMES_FIELD_NUMBER = 3;
    private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames names_;
    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    public boolean hasNames() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getNames() {
      return names_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : names_;
    }
    /**
     * <pre>
     * Names are the names used to describe this custom resource
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getNamesOrBuilder() {
      return names_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : names_;
    }

    public static final int SCOPE_FIELD_NUMBER = 4;
    private volatile java.lang.Object scope_;
    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    public boolean hasScope() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    public java.lang.String getScope() {
      java.lang.Object ref = scope_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          scope_ = s;
        }
        return s;
      }
    }
    /**
     * <pre>
     * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
     * </pre>
     *
     * <code>optional string scope = 4;</code>
     */
    public com.google.protobuf.ByteString
        getScopeBytes() {
      java.lang.Object ref = scope_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        scope_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VALIDATION_FIELD_NUMBER = 5;
    private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation validation_;
    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    public boolean hasValidation() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getValidation() {
      return validation_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance() : validation_;
    }
    /**
     * <pre>
     * Validation describes the validation methods for CustomResources
     * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
     * +optional
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder getValidationOrBuilder() {
      return validation_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance() : validation_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, group_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, version_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, getNames());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, scope_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeMessage(5, getValidation());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, group_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, version_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getNames());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, scope_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, getValidation());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec) obj;

      boolean result = true;
      result = result && (hasGroup() == other.hasGroup());
      if (hasGroup()) {
        result = result && getGroup()
            .equals(other.getGroup());
      }
      result = result && (hasVersion() == other.hasVersion());
      if (hasVersion()) {
        result = result && getVersion()
            .equals(other.getVersion());
      }
      result = result && (hasNames() == other.hasNames());
      if (hasNames()) {
        result = result && getNames()
            .equals(other.getNames());
      }
      result = result && (hasScope() == other.hasScope());
      if (hasScope()) {
        result = result && getScope()
            .equals(other.getScope());
      }
      result = result && (hasValidation() == other.hasValidation());
      if (hasValidation()) {
        result = result && getValidation()
            .equals(other.getValidation());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasGroup()) {
        hash = (37 * hash) + GROUP_FIELD_NUMBER;
        hash = (53 * hash) + getGroup().hashCode();
      }
      if (hasVersion()) {
        hash = (37 * hash) + VERSION_FIELD_NUMBER;
        hash = (53 * hash) + getVersion().hashCode();
      }
      if (hasNames()) {
        hash = (37 * hash) + NAMES_FIELD_NUMBER;
        hash = (53 * hash) + getNames().hashCode();
      }
      if (hasScope()) {
        hash = (37 * hash) + SCOPE_FIELD_NUMBER;
        hash = (53 * hash) + getScope().hashCode();
      }
      if (hasValidation()) {
        hash = (37 * hash) + VALIDATION_FIELD_NUMBER;
        hash = (53 * hash) + getValidation().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinitionSpec describes how a user wants their resource to appear
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpecOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getNamesFieldBuilder();
          getValidationFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        group_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        version_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (namesBuilder_ == null) {
          names_ = null;
        } else {
          namesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        scope_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        if (validationBuilder_ == null) {
          validation_ = null;
        } else {
          validationBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.group_ = group_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.version_ = version_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (namesBuilder_ == null) {
          result.names_ = names_;
        } else {
          result.names_ = namesBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.scope_ = scope_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        if (validationBuilder_ == null) {
          result.validation_ = validation_;
        } else {
          result.validation_ = validationBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec.getDefaultInstance()) return this;
        if (other.hasGroup()) {
          bitField0_ |= 0x00000001;
          group_ = other.group_;
          onChanged();
        }
        if (other.hasVersion()) {
          bitField0_ |= 0x00000002;
          version_ = other.version_;
          onChanged();
        }
        if (other.hasNames()) {
          mergeNames(other.getNames());
        }
        if (other.hasScope()) {
          bitField0_ |= 0x00000008;
          scope_ = other.scope_;
          onChanged();
        }
        if (other.hasValidation()) {
          mergeValidation(other.getValidation());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object group_ = "";
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public boolean hasGroup() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public java.lang.String getGroup() {
        java.lang.Object ref = group_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            group_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public com.google.protobuf.ByteString
          getGroupBytes() {
        java.lang.Object ref = group_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          group_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public Builder setGroup(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        group_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public Builder clearGroup() {
        bitField0_ = (bitField0_ & ~0x00000001);
        group_ = getDefaultInstance().getGroup();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Group is the group this resource belongs in
       * </pre>
       *
       * <code>optional string group = 1;</code>
       */
      public Builder setGroupBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        group_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object version_ = "";
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public java.lang.String getVersion() {
        java.lang.Object ref = version_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            version_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public com.google.protobuf.ByteString
          getVersionBytes() {
        java.lang.Object ref = version_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          version_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public Builder setVersion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        version_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public Builder clearVersion() {
        bitField0_ = (bitField0_ & ~0x00000002);
        version_ = getDefaultInstance().getVersion();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Version is the version this resource belongs in
       * </pre>
       *
       * <code>optional string version = 2;</code>
       */
      public Builder setVersionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        version_ = value;
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames names_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder> namesBuilder_;
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public boolean hasNames() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getNames() {
        if (namesBuilder_ == null) {
          return names_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : names_;
        } else {
          return namesBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public Builder setNames(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames value) {
        if (namesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          names_ = value;
          onChanged();
        } else {
          namesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public Builder setNames(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder builderForValue) {
        if (namesBuilder_ == null) {
          names_ = builderForValue.build();
          onChanged();
        } else {
          namesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public Builder mergeNames(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames value) {
        if (namesBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              names_ != null &&
              names_ != io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance()) {
            names_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.newBuilder(names_).mergeFrom(value).buildPartial();
          } else {
            names_ = value;
          }
          onChanged();
        } else {
          namesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public Builder clearNames() {
        if (namesBuilder_ == null) {
          names_ = null;
          onChanged();
        } else {
          namesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder getNamesBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getNamesFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getNamesOrBuilder() {
        if (namesBuilder_ != null) {
          return namesBuilder_.getMessageOrBuilder();
        } else {
          return names_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : names_;
        }
      }
      /**
       * <pre>
       * Names are the names used to describe this custom resource
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames names = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder> 
          getNamesFieldBuilder() {
        if (namesBuilder_ == null) {
          namesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder>(
                  getNames(),
                  getParentForChildren(),
                  isClean());
          names_ = null;
        }
        return namesBuilder_;
      }

      private java.lang.Object scope_ = "";
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public boolean hasScope() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public java.lang.String getScope() {
        java.lang.Object ref = scope_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            scope_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public com.google.protobuf.ByteString
          getScopeBytes() {
        java.lang.Object ref = scope_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          scope_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public Builder setScope(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        scope_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public Builder clearScope() {
        bitField0_ = (bitField0_ & ~0x00000008);
        scope_ = getDefaultInstance().getScope();
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced
       * </pre>
       *
       * <code>optional string scope = 4;</code>
       */
      public Builder setScopeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        scope_ = value;
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation validation_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder> validationBuilder_;
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public boolean hasValidation() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getValidation() {
        if (validationBuilder_ == null) {
          return validation_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance() : validation_;
        } else {
          return validationBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public Builder setValidation(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation value) {
        if (validationBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          validation_ = value;
          onChanged();
        } else {
          validationBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public Builder setValidation(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder builderForValue) {
        if (validationBuilder_ == null) {
          validation_ = builderForValue.build();
          onChanged();
        } else {
          validationBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public Builder mergeValidation(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation value) {
        if (validationBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010) &&
              validation_ != null &&
              validation_ != io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance()) {
            validation_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.newBuilder(validation_).mergeFrom(value).buildPartial();
          } else {
            validation_ = value;
          }
          onChanged();
        } else {
          validationBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000010;
        return this;
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public Builder clearValidation() {
        if (validationBuilder_ == null) {
          validation_ = null;
          onChanged();
        } else {
          validationBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder getValidationBuilder() {
        bitField0_ |= 0x00000010;
        onChanged();
        return getValidationFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder getValidationOrBuilder() {
        if (validationBuilder_ != null) {
          return validationBuilder_.getMessageOrBuilder();
        } else {
          return validation_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance() : validation_;
        }
      }
      /**
       * <pre>
       * Validation describes the validation methods for CustomResources
       * This field is alpha-level and should only be sent to servers that enable the CustomResourceValidation feature.
       * +optional
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation validation = 5;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder> 
          getValidationFieldBuilder() {
        if (validationBuilder_ == null) {
          validationBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder>(
                  getValidation(),
                  getParentForChildren(),
                  isClean());
          validation_ = null;
        }
        return validationBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionSpec)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinitionSpec>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinitionSpec>() {
      public CustomResourceDefinitionSpec parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinitionSpec(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinitionSpec> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinitionSpec> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionSpec getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceDefinitionStatusOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> 
        getConditionsList();
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getConditions(int index);
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    int getConditionsCount();
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder> 
        getConditionsOrBuilderList();
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder getConditionsOrBuilder(
        int index);

    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    boolean hasAcceptedNames();
    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getAcceptedNames();
    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getAcceptedNamesOrBuilder();
  }
  /**
   * <pre>
   * CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus}
   */
  public  static final class CustomResourceDefinitionStatus extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus)
      CustomResourceDefinitionStatusOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceDefinitionStatus.newBuilder() to construct.
    private CustomResourceDefinitionStatus(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceDefinitionStatus() {
      conditions_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceDefinitionStatus(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                conditions_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition>();
                mutable_bitField0_ |= 0x00000001;
              }
              conditions_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.PARSER, extensionRegistry));
              break;
            }
            case 18: {
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = acceptedNames_.toBuilder();
              }
              acceptedNames_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(acceptedNames_);
                acceptedNames_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          conditions_ = java.util.Collections.unmodifiableList(conditions_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder.class);
    }

    private int bitField0_;
    public static final int CONDITIONS_FIELD_NUMBER = 1;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> conditions_;
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> getConditionsList() {
      return conditions_;
    }
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder> 
        getConditionsOrBuilderList() {
      return conditions_;
    }
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    public int getConditionsCount() {
      return conditions_.size();
    }
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getConditions(int index) {
      return conditions_.get(index);
    }
    /**
     * <pre>
     * Conditions indicate state for particular aspects of a CustomResourceDefinition
     * </pre>
     *
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder getConditionsOrBuilder(
        int index) {
      return conditions_.get(index);
    }

    public static final int ACCEPTEDNAMES_FIELD_NUMBER = 2;
    private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames acceptedNames_;
    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    public boolean hasAcceptedNames() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getAcceptedNames() {
      return acceptedNames_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : acceptedNames_;
    }
    /**
     * <pre>
     * AcceptedNames are the names that are actually being used to serve discovery
     * They may be different than the names in spec.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getAcceptedNamesOrBuilder() {
      return acceptedNames_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : acceptedNames_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < conditions_.size(); i++) {
        output.writeMessage(1, conditions_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(2, getAcceptedNames());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < conditions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, conditions_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getAcceptedNames());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus) obj;

      boolean result = true;
      result = result && getConditionsList()
          .equals(other.getConditionsList());
      result = result && (hasAcceptedNames() == other.hasAcceptedNames());
      if (hasAcceptedNames()) {
        result = result && getAcceptedNames()
            .equals(other.getAcceptedNames());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getConditionsCount() > 0) {
        hash = (37 * hash) + CONDITIONS_FIELD_NUMBER;
        hash = (53 * hash) + getConditionsList().hashCode();
      }
      if (hasAcceptedNames()) {
        hash = (37 * hash) + ACCEPTEDNAMES_FIELD_NUMBER;
        hash = (53 * hash) + getAcceptedNames().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatusOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getConditionsFieldBuilder();
          getAcceptedNamesFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (conditionsBuilder_ == null) {
          conditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          conditionsBuilder_.clear();
        }
        if (acceptedNamesBuilder_ == null) {
          acceptedNames_ = null;
        } else {
          acceptedNamesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (conditionsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            conditions_ = java.util.Collections.unmodifiableList(conditions_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.conditions_ = conditions_;
        } else {
          result.conditions_ = conditionsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000001;
        }
        if (acceptedNamesBuilder_ == null) {
          result.acceptedNames_ = acceptedNames_;
        } else {
          result.acceptedNames_ = acceptedNamesBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus.getDefaultInstance()) return this;
        if (conditionsBuilder_ == null) {
          if (!other.conditions_.isEmpty()) {
            if (conditions_.isEmpty()) {
              conditions_ = other.conditions_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureConditionsIsMutable();
              conditions_.addAll(other.conditions_);
            }
            onChanged();
          }
        } else {
          if (!other.conditions_.isEmpty()) {
            if (conditionsBuilder_.isEmpty()) {
              conditionsBuilder_.dispose();
              conditionsBuilder_ = null;
              conditions_ = other.conditions_;
              bitField0_ = (bitField0_ & ~0x00000001);
              conditionsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getConditionsFieldBuilder() : null;
            } else {
              conditionsBuilder_.addAllMessages(other.conditions_);
            }
          }
        }
        if (other.hasAcceptedNames()) {
          mergeAcceptedNames(other.getAcceptedNames());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> conditions_ =
        java.util.Collections.emptyList();
      private void ensureConditionsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          conditions_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition>(conditions_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder> conditionsBuilder_;

      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> getConditionsList() {
        if (conditionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(conditions_);
        } else {
          return conditionsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public int getConditionsCount() {
        if (conditionsBuilder_ == null) {
          return conditions_.size();
        } else {
          return conditionsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition getConditions(int index) {
        if (conditionsBuilder_ == null) {
          return conditions_.get(index);
        } else {
          return conditionsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder setConditions(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.set(index, value);
          onChanged();
        } else {
          conditionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder setConditions(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.set(index, builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder addConditions(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.add(value);
          onChanged();
        } else {
          conditionsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder addConditions(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition value) {
        if (conditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureConditionsIsMutable();
          conditions_.add(index, value);
          onChanged();
        } else {
          conditionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder addConditions(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.add(builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder addConditions(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder builderForValue) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.add(index, builderForValue.build());
          onChanged();
        } else {
          conditionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder addAllConditions(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition> values) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, conditions_);
          onChanged();
        } else {
          conditionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder clearConditions() {
        if (conditionsBuilder_ == null) {
          conditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          conditionsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public Builder removeConditions(int index) {
        if (conditionsBuilder_ == null) {
          ensureConditionsIsMutable();
          conditions_.remove(index);
          onChanged();
        } else {
          conditionsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder getConditionsBuilder(
          int index) {
        return getConditionsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder getConditionsOrBuilder(
          int index) {
        if (conditionsBuilder_ == null) {
          return conditions_.get(index);  } else {
          return conditionsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder> 
           getConditionsOrBuilderList() {
        if (conditionsBuilder_ != null) {
          return conditionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(conditions_);
        }
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder addConditionsBuilder() {
        return getConditionsFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.getDefaultInstance());
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder addConditionsBuilder(
          int index) {
        return getConditionsFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.getDefaultInstance());
      }
      /**
       * <pre>
       * Conditions indicate state for particular aspects of a CustomResourceDefinition
       * </pre>
       *
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionCondition conditions = 1;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder> 
           getConditionsBuilderList() {
        return getConditionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder> 
          getConditionsFieldBuilder() {
        if (conditionsBuilder_ == null) {
          conditionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionCondition.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionConditionOrBuilder>(
                  conditions_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          conditions_ = null;
        }
        return conditionsBuilder_;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames acceptedNames_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder> acceptedNamesBuilder_;
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public boolean hasAcceptedNames() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames getAcceptedNames() {
        if (acceptedNamesBuilder_ == null) {
          return acceptedNames_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : acceptedNames_;
        } else {
          return acceptedNamesBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public Builder setAcceptedNames(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames value) {
        if (acceptedNamesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          acceptedNames_ = value;
          onChanged();
        } else {
          acceptedNamesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public Builder setAcceptedNames(
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder builderForValue) {
        if (acceptedNamesBuilder_ == null) {
          acceptedNames_ = builderForValue.build();
          onChanged();
        } else {
          acceptedNamesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public Builder mergeAcceptedNames(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames value) {
        if (acceptedNamesBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              acceptedNames_ != null &&
              acceptedNames_ != io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance()) {
            acceptedNames_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.newBuilder(acceptedNames_).mergeFrom(value).buildPartial();
          } else {
            acceptedNames_ = value;
          }
          onChanged();
        } else {
          acceptedNamesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public Builder clearAcceptedNames() {
        if (acceptedNamesBuilder_ == null) {
          acceptedNames_ = null;
          onChanged();
        } else {
          acceptedNamesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder getAcceptedNamesBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getAcceptedNamesFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder getAcceptedNamesOrBuilder() {
        if (acceptedNamesBuilder_ != null) {
          return acceptedNamesBuilder_.getMessageOrBuilder();
        } else {
          return acceptedNames_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.getDefaultInstance() : acceptedNames_;
        }
      }
      /**
       * <pre>
       * AcceptedNames are the names that are actually being used to serve discovery
       * They may be different than the names in spec.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionNames acceptedNames = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder> 
          getAcceptedNamesFieldBuilder() {
        if (acceptedNamesBuilder_ == null) {
          acceptedNamesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNames.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionNamesOrBuilder>(
                  getAcceptedNames(),
                  getParentForChildren(),
                  isClean());
          acceptedNames_ = null;
        }
        return acceptedNamesBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceDefinitionStatus)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceDefinitionStatus>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceDefinitionStatus>() {
      public CustomResourceDefinitionStatus parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceDefinitionStatus(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceDefinitionStatus> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceDefinitionStatus> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceDefinitionStatus getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CustomResourceValidationOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    boolean hasOpenAPIV3Schema();
    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOpenAPIV3Schema();
    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOpenAPIV3SchemaOrBuilder();
  }
  /**
   * <pre>
   * CustomResourceValidation is a list of validation methods for CustomResources.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation}
   */
  public  static final class CustomResourceValidation extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation)
      CustomResourceValidationOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CustomResourceValidation.newBuilder() to construct.
    private CustomResourceValidation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CustomResourceValidation() {
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CustomResourceValidation(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = openAPIV3Schema_.toBuilder();
              }
              openAPIV3Schema_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(openAPIV3Schema_);
                openAPIV3Schema_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder.class);
    }

    private int bitField0_;
    public static final int OPENAPIV3SCHEMA_FIELD_NUMBER = 1;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps openAPIV3Schema_;
    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    public boolean hasOpenAPIV3Schema() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOpenAPIV3Schema() {
      return openAPIV3Schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : openAPIV3Schema_;
    }
    /**
     * <pre>
     * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
     * </pre>
     *
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOpenAPIV3SchemaOrBuilder() {
      return openAPIV3Schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : openAPIV3Schema_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getOpenAPIV3Schema());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getOpenAPIV3Schema());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation other = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation) obj;

      boolean result = true;
      result = result && (hasOpenAPIV3Schema() == other.hasOpenAPIV3Schema());
      if (hasOpenAPIV3Schema()) {
        result = result && getOpenAPIV3Schema()
            .equals(other.getOpenAPIV3Schema());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasOpenAPIV3Schema()) {
        hash = (37 * hash) + OPENAPIV3SCHEMA_FIELD_NUMBER;
        hash = (53 * hash) + getOpenAPIV3Schema().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * CustomResourceValidation is a list of validation methods for CustomResources.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation)
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.class, io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getOpenAPIV3SchemaFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (openAPIV3SchemaBuilder_ == null) {
          openAPIV3Schema_ = null;
        } else {
          openAPIV3SchemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation result = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (openAPIV3SchemaBuilder_ == null) {
          result.openAPIV3Schema_ = openAPIV3Schema_;
        } else {
          result.openAPIV3Schema_ = openAPIV3SchemaBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation.getDefaultInstance()) return this;
        if (other.hasOpenAPIV3Schema()) {
          mergeOpenAPIV3Schema(other.getOpenAPIV3Schema());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps openAPIV3Schema_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> openAPIV3SchemaBuilder_;
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public boolean hasOpenAPIV3Schema() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOpenAPIV3Schema() {
        if (openAPIV3SchemaBuilder_ == null) {
          return openAPIV3Schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : openAPIV3Schema_;
        } else {
          return openAPIV3SchemaBuilder_.getMessage();
        }
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public Builder setOpenAPIV3Schema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (openAPIV3SchemaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          openAPIV3Schema_ = value;
          onChanged();
        } else {
          openAPIV3SchemaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public Builder setOpenAPIV3Schema(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (openAPIV3SchemaBuilder_ == null) {
          openAPIV3Schema_ = builderForValue.build();
          onChanged();
        } else {
          openAPIV3SchemaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public Builder mergeOpenAPIV3Schema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (openAPIV3SchemaBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              openAPIV3Schema_ != null &&
              openAPIV3Schema_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) {
            openAPIV3Schema_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder(openAPIV3Schema_).mergeFrom(value).buildPartial();
          } else {
            openAPIV3Schema_ = value;
          }
          onChanged();
        } else {
          openAPIV3SchemaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public Builder clearOpenAPIV3Schema() {
        if (openAPIV3SchemaBuilder_ == null) {
          openAPIV3Schema_ = null;
          onChanged();
        } else {
          openAPIV3SchemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getOpenAPIV3SchemaBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getOpenAPIV3SchemaFieldBuilder().getBuilder();
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOpenAPIV3SchemaOrBuilder() {
        if (openAPIV3SchemaBuilder_ != null) {
          return openAPIV3SchemaBuilder_.getMessageOrBuilder();
        } else {
          return openAPIV3Schema_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : openAPIV3Schema_;
        }
      }
      /**
       * <pre>
       * OpenAPIV3Schema is the OpenAPI v3 schema to be validated against.
       * </pre>
       *
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps openAPIV3Schema = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getOpenAPIV3SchemaFieldBuilder() {
        if (openAPIV3SchemaBuilder_ == null) {
          openAPIV3SchemaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  getOpenAPIV3Schema(),
                  getParentForChildren(),
                  isClean());
          openAPIV3Schema_ = null;
        }
        return openAPIV3SchemaBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.CustomResourceValidation)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<CustomResourceValidation>
        PARSER = new com.google.protobuf.AbstractParser<CustomResourceValidation>() {
      public CustomResourceValidation parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new CustomResourceValidation(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<CustomResourceValidation> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CustomResourceValidation> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.CustomResourceValidation getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ExternalDocumentationOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string description = 1;</code>
     */
    boolean hasDescription();
    /**
     * <code>optional string description = 1;</code>
     */
    java.lang.String getDescription();
    /**
     * <code>optional string description = 1;</code>
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();

    /**
     * <code>optional string url = 2;</code>
     */
    boolean hasUrl();
    /**
     * <code>optional string url = 2;</code>
     */
    java.lang.String getUrl();
    /**
     * <code>optional string url = 2;</code>
     */
    com.google.protobuf.ByteString
        getUrlBytes();
  }
  /**
   * <pre>
   * ExternalDocumentation allows referencing an external resource for extended documentation.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation}
   */
  public  static final class ExternalDocumentation extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation)
      ExternalDocumentationOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ExternalDocumentation.newBuilder() to construct.
    private ExternalDocumentation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ExternalDocumentation() {
      description_ = "";
      url_ = "";
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private ExternalDocumentation(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              description_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              url_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.class, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder.class);
    }

    private int bitField0_;
    public static final int DESCRIPTION_FIELD_NUMBER = 1;
    private volatile java.lang.Object description_;
    /**
     * <code>optional string description = 1;</code>
     */
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string description = 1;</code>
     */
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          description_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string description = 1;</code>
     */
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int URL_FIELD_NUMBER = 2;
    private volatile java.lang.Object url_;
    /**
     * <code>optional string url = 2;</code>
     */
    public boolean hasUrl() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string url = 2;</code>
     */
    public java.lang.String getUrl() {
      java.lang.Object ref = url_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          url_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string url = 2;</code>
     */
    public com.google.protobuf.ByteString
        getUrlBytes() {
      java.lang.Object ref = url_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        url_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, description_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, url_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, description_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, url_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation other = (io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation) obj;

      boolean result = true;
      result = result && (hasDescription() == other.hasDescription());
      if (hasDescription()) {
        result = result && getDescription()
            .equals(other.getDescription());
      }
      result = result && (hasUrl() == other.hasUrl());
      if (hasUrl()) {
        result = result && getUrl()
            .equals(other.getUrl());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasDescription()) {
        hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
        hash = (53 * hash) + getDescription().hashCode();
      }
      if (hasUrl()) {
        hash = (37 * hash) + URL_FIELD_NUMBER;
        hash = (53 * hash) + getUrl().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * ExternalDocumentation allows referencing an external resource for extended documentation.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation)
        io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.class, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        description_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        url_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation result = new io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.description_ = description_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.url_ = url_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance()) return this;
        if (other.hasDescription()) {
          bitField0_ |= 0x00000001;
          description_ = other.description_;
          onChanged();
        }
        if (other.hasUrl()) {
          bitField0_ |= 0x00000002;
          url_ = other.url_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object description_ = "";
      /**
       * <code>optional string description = 1;</code>
       */
      public boolean hasDescription() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string description = 1;</code>
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            description_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string description = 1;</code>
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string description = 1;</code>
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 1;</code>
       */
      public Builder clearDescription() {
        bitField0_ = (bitField0_ & ~0x00000001);
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 1;</code>
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        description_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object url_ = "";
      /**
       * <code>optional string url = 2;</code>
       */
      public boolean hasUrl() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string url = 2;</code>
       */
      public java.lang.String getUrl() {
        java.lang.Object ref = url_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            url_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string url = 2;</code>
       */
      public com.google.protobuf.ByteString
          getUrlBytes() {
        java.lang.Object ref = url_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          url_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string url = 2;</code>
       */
      public Builder setUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        url_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string url = 2;</code>
       */
      public Builder clearUrl() {
        bitField0_ = (bitField0_ & ~0x00000002);
        url_ = getDefaultInstance().getUrl();
        onChanged();
        return this;
      }
      /**
       * <code>optional string url = 2;</code>
       */
      public Builder setUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        url_ = value;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<ExternalDocumentation>
        PARSER = new com.google.protobuf.AbstractParser<ExternalDocumentation>() {
      public ExternalDocumentation parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new ExternalDocumentation(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<ExternalDocumentation> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ExternalDocumentation> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JSONOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bytes raw = 1;</code>
     */
    boolean hasRaw();
    /**
     * <code>optional bytes raw = 1;</code>
     */
    com.google.protobuf.ByteString getRaw();
  }
  /**
   * <pre>
   * JSON represents any valid JSON value.
   * These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON}
   */
  public  static final class JSON extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON)
      JSONOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JSON.newBuilder() to construct.
    private JSON(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private JSON() {
      raw_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private JSON(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              raw_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder.class);
    }

    private int bitField0_;
    public static final int RAW_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString raw_;
    /**
     * <code>optional bytes raw = 1;</code>
     */
    public boolean hasRaw() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional bytes raw = 1;</code>
     */
    public com.google.protobuf.ByteString getRaw() {
      return raw_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, raw_);
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, raw_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSON)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.JSON other = (io.kubernetes.client.proto.V1beta1Apiextensions.JSON) obj;

      boolean result = true;
      result = result && (hasRaw() == other.hasRaw());
      if (hasRaw()) {
        result = result && getRaw()
            .equals(other.getRaw());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasRaw()) {
        hash = (37 * hash) + RAW_FIELD_NUMBER;
        hash = (53 * hash) + getRaw().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.JSON prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * JSON represents any valid JSON value.
     * These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON)
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.JSON.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.JSON.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        raw_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSON result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSON result = new io.kubernetes.client.proto.V1beta1Apiextensions.JSON(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.raw_ = raw_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSON) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.JSON)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.JSON other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance()) return this;
        if (other.hasRaw()) {
          setRaw(other.getRaw());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSON parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.JSON) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.ByteString raw_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes raw = 1;</code>
       */
      public boolean hasRaw() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bytes raw = 1;</code>
       */
      public com.google.protobuf.ByteString getRaw() {
        return raw_;
      }
      /**
       * <code>optional bytes raw = 1;</code>
       */
      public Builder setRaw(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        raw_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes raw = 1;</code>
       */
      public Builder clearRaw() {
        bitField0_ = (bitField0_ & ~0x00000001);
        raw_ = getDefaultInstance().getRaw();
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.JSON DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.JSON();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<JSON>
        PARSER = new com.google.protobuf.AbstractParser<JSON>() {
      public JSON parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new JSON(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<JSON> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<JSON> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JSONSchemaPropsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional string id = 1;</code>
     */
    boolean hasId();
    /**
     * <code>optional string id = 1;</code>
     */
    java.lang.String getId();
    /**
     * <code>optional string id = 1;</code>
     */
    com.google.protobuf.ByteString
        getIdBytes();

    /**
     * <code>optional string schema = 2;</code>
     */
    boolean hasSchema();
    /**
     * <code>optional string schema = 2;</code>
     */
    java.lang.String getSchema();
    /**
     * <code>optional string schema = 2;</code>
     */
    com.google.protobuf.ByteString
        getSchemaBytes();

    /**
     * <code>optional string ref = 3;</code>
     */
    boolean hasRef();
    /**
     * <code>optional string ref = 3;</code>
     */
    java.lang.String getRef();
    /**
     * <code>optional string ref = 3;</code>
     */
    com.google.protobuf.ByteString
        getRefBytes();

    /**
     * <code>optional string description = 4;</code>
     */
    boolean hasDescription();
    /**
     * <code>optional string description = 4;</code>
     */
    java.lang.String getDescription();
    /**
     * <code>optional string description = 4;</code>
     */
    com.google.protobuf.ByteString
        getDescriptionBytes();

    /**
     * <code>optional string type = 5;</code>
     */
    boolean hasType();
    /**
     * <code>optional string type = 5;</code>
     */
    java.lang.String getType();
    /**
     * <code>optional string type = 5;</code>
     */
    com.google.protobuf.ByteString
        getTypeBytes();

    /**
     * <code>optional string format = 6;</code>
     */
    boolean hasFormat();
    /**
     * <code>optional string format = 6;</code>
     */
    java.lang.String getFormat();
    /**
     * <code>optional string format = 6;</code>
     */
    com.google.protobuf.ByteString
        getFormatBytes();

    /**
     * <code>optional string title = 7;</code>
     */
    boolean hasTitle();
    /**
     * <code>optional string title = 7;</code>
     */
    java.lang.String getTitle();
    /**
     * <code>optional string title = 7;</code>
     */
    com.google.protobuf.ByteString
        getTitleBytes();

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    boolean hasDefault();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefault();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getDefaultOrBuilder();

    /**
     * <code>optional double maximum = 9;</code>
     */
    boolean hasMaximum();
    /**
     * <code>optional double maximum = 9;</code>
     */
    double getMaximum();

    /**
     * <code>optional bool exclusiveMaximum = 10;</code>
     */
    boolean hasExclusiveMaximum();
    /**
     * <code>optional bool exclusiveMaximum = 10;</code>
     */
    boolean getExclusiveMaximum();

    /**
     * <code>optional double minimum = 11;</code>
     */
    boolean hasMinimum();
    /**
     * <code>optional double minimum = 11;</code>
     */
    double getMinimum();

    /**
     * <code>optional bool exclusiveMinimum = 12;</code>
     */
    boolean hasExclusiveMinimum();
    /**
     * <code>optional bool exclusiveMinimum = 12;</code>
     */
    boolean getExclusiveMinimum();

    /**
     * <code>optional int64 maxLength = 13;</code>
     */
    boolean hasMaxLength();
    /**
     * <code>optional int64 maxLength = 13;</code>
     */
    long getMaxLength();

    /**
     * <code>optional int64 minLength = 14;</code>
     */
    boolean hasMinLength();
    /**
     * <code>optional int64 minLength = 14;</code>
     */
    long getMinLength();

    /**
     * <code>optional string pattern = 15;</code>
     */
    boolean hasPattern();
    /**
     * <code>optional string pattern = 15;</code>
     */
    java.lang.String getPattern();
    /**
     * <code>optional string pattern = 15;</code>
     */
    com.google.protobuf.ByteString
        getPatternBytes();

    /**
     * <code>optional int64 maxItems = 16;</code>
     */
    boolean hasMaxItems();
    /**
     * <code>optional int64 maxItems = 16;</code>
     */
    long getMaxItems();

    /**
     * <code>optional int64 minItems = 17;</code>
     */
    boolean hasMinItems();
    /**
     * <code>optional int64 minItems = 17;</code>
     */
    long getMinItems();

    /**
     * <code>optional bool uniqueItems = 18;</code>
     */
    boolean hasUniqueItems();
    /**
     * <code>optional bool uniqueItems = 18;</code>
     */
    boolean getUniqueItems();

    /**
     * <code>optional double multipleOf = 19;</code>
     */
    boolean hasMultipleOf();
    /**
     * <code>optional double multipleOf = 19;</code>
     */
    double getMultipleOf();

    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON> 
        getEnumList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSON getEnum(int index);
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    int getEnumCount();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
        getEnumOrBuilderList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getEnumOrBuilder(
        int index);

    /**
     * <code>optional int64 maxProperties = 21;</code>
     */
    boolean hasMaxProperties();
    /**
     * <code>optional int64 maxProperties = 21;</code>
     */
    long getMaxProperties();

    /**
     * <code>optional int64 minProperties = 22;</code>
     */
    boolean hasMinProperties();
    /**
     * <code>optional int64 minProperties = 22;</code>
     */
    long getMinProperties();

    /**
     * <code>repeated string required = 23;</code>
     */
    java.util.List<java.lang.String>
        getRequiredList();
    /**
     * <code>repeated string required = 23;</code>
     */
    int getRequiredCount();
    /**
     * <code>repeated string required = 23;</code>
     */
    java.lang.String getRequired(int index);
    /**
     * <code>repeated string required = 23;</code>
     */
    com.google.protobuf.ByteString
        getRequiredBytes(int index);

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    boolean hasItems();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getItems();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder getItemsOrBuilder();

    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> 
        getAllOfList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAllOf(int index);
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    int getAllOfCount();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getAllOfOrBuilderList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAllOfOrBuilder(
        int index);

    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> 
        getOneOfList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOneOf(int index);
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    int getOneOfCount();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getOneOfOrBuilderList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOneOfOrBuilder(
        int index);

    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> 
        getAnyOfList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAnyOf(int index);
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    int getAnyOfCount();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getAnyOfOrBuilderList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAnyOfOrBuilder(
        int index);

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    boolean hasNot();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getNot();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getNotOrBuilder();

    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */
    int getPropertiesCount();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */
    boolean containsProperties(
        java.lang.String key);
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getProperties();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getPropertiesMap();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue);
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrThrow(
        java.lang.String key);

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    boolean hasAdditionalProperties();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalProperties();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalPropertiesOrBuilder();

    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */
    int getPatternPropertiesCount();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */
    boolean containsPatternProperties(
        java.lang.String key);
    /**
     * Use {@link #getPatternPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getPatternProperties();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getPatternPropertiesMap();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue);
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrThrow(
        java.lang.String key);

    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */
    int getDependenciesCount();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */
    boolean containsDependencies(
        java.lang.String key);
    /**
     * Use {@link #getDependenciesMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
    getDependencies();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
    getDependenciesMap();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray defaultValue);
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrThrow(
        java.lang.String key);

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    boolean hasAdditionalItems();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalItems();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalItemsOrBuilder();

    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */
    int getDefinitionsCount();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */
    boolean containsDefinitions(
        java.lang.String key);
    /**
     * Use {@link #getDefinitionsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getDefinitions();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */
    java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    getDefinitionsMap();
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue);
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrThrow(
        java.lang.String key);

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    boolean hasExternalDocs();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getExternalDocs();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder getExternalDocsOrBuilder();

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    boolean hasExample();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSON getExample();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getExampleOrBuilder();
  }
  /**
   * <pre>
   * JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps}
   */
  public  static final class JSONSchemaProps extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps)
      JSONSchemaPropsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JSONSchemaProps.newBuilder() to construct.
    private JSONSchemaProps(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private JSONSchemaProps() {
      id_ = "";
      schema_ = "";
      ref_ = "";
      description_ = "";
      type_ = "";
      format_ = "";
      title_ = "";
      maximum_ = 0D;
      exclusiveMaximum_ = false;
      minimum_ = 0D;
      exclusiveMinimum_ = false;
      maxLength_ = 0L;
      minLength_ = 0L;
      pattern_ = "";
      maxItems_ = 0L;
      minItems_ = 0L;
      uniqueItems_ = false;
      multipleOf_ = 0D;
      enum_ = java.util.Collections.emptyList();
      maxProperties_ = 0L;
      minProperties_ = 0L;
      required_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      allOf_ = java.util.Collections.emptyList();
      oneOf_ = java.util.Collections.emptyList();
      anyOf_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private JSONSchemaProps(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      int mutable_bitField1_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000001;
              id_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              schema_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              ref_ = bs;
              break;
            }
            case 34: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000008;
              description_ = bs;
              break;
            }
            case 42: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000010;
              type_ = bs;
              break;
            }
            case 50: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000020;
              format_ = bs;
              break;
            }
            case 58: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000040;
              title_ = bs;
              break;
            }
            case 66: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder subBuilder = null;
              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                subBuilder = default_.toBuilder();
              }
              default_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSON.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(default_);
                default_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000080;
              break;
            }
            case 73: {
              bitField0_ |= 0x00000100;
              maximum_ = input.readDouble();
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              exclusiveMaximum_ = input.readBool();
              break;
            }
            case 89: {
              bitField0_ |= 0x00000400;
              minimum_ = input.readDouble();
              break;
            }
            case 96: {
              bitField0_ |= 0x00000800;
              exclusiveMinimum_ = input.readBool();
              break;
            }
            case 104: {
              bitField0_ |= 0x00001000;
              maxLength_ = input.readInt64();
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              minLength_ = input.readInt64();
              break;
            }
            case 122: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00004000;
              pattern_ = bs;
              break;
            }
            case 128: {
              bitField0_ |= 0x00008000;
              maxItems_ = input.readInt64();
              break;
            }
            case 136: {
              bitField0_ |= 0x00010000;
              minItems_ = input.readInt64();
              break;
            }
            case 144: {
              bitField0_ |= 0x00020000;
              uniqueItems_ = input.readBool();
              break;
            }
            case 153: {
              bitField0_ |= 0x00040000;
              multipleOf_ = input.readDouble();
              break;
            }
            case 162: {
              if (!((mutable_bitField0_ & 0x00080000) == 0x00080000)) {
                enum_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSON>();
                mutable_bitField0_ |= 0x00080000;
              }
              enum_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSON.PARSER, extensionRegistry));
              break;
            }
            case 168: {
              bitField0_ |= 0x00080000;
              maxProperties_ = input.readInt64();
              break;
            }
            case 176: {
              bitField0_ |= 0x00100000;
              minProperties_ = input.readInt64();
              break;
            }
            case 186: {
              com.google.protobuf.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00400000) == 0x00400000)) {
                required_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00400000;
              }
              required_.add(bs);
              break;
            }
            case 194: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder subBuilder = null;
              if (((bitField0_ & 0x00200000) == 0x00200000)) {
                subBuilder = items_.toBuilder();
              }
              items_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(items_);
                items_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00200000;
              break;
            }
            case 202: {
              if (!((mutable_bitField0_ & 0x01000000) == 0x01000000)) {
                allOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>();
                mutable_bitField0_ |= 0x01000000;
              }
              allOf_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry));
              break;
            }
            case 210: {
              if (!((mutable_bitField0_ & 0x02000000) == 0x02000000)) {
                oneOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>();
                mutable_bitField0_ |= 0x02000000;
              }
              oneOf_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry));
              break;
            }
            case 218: {
              if (!((mutable_bitField0_ & 0x04000000) == 0x04000000)) {
                anyOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>();
                mutable_bitField0_ |= 0x04000000;
              }
              anyOf_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry));
              break;
            }
            case 226: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder subBuilder = null;
              if (((bitField0_ & 0x00400000) == 0x00400000)) {
                subBuilder = not_.toBuilder();
              }
              not_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(not_);
                not_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00400000;
              break;
            }
            case 234: {
              if (!((mutable_bitField0_ & 0x10000000) == 0x10000000)) {
                properties_ = com.google.protobuf.MapField.newMapField(
                    PropertiesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x10000000;
              }
              com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
              properties__ = input.readMessage(
                  PropertiesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              properties_.getMutableMap().put(
                  properties__.getKey(), properties__.getValue());
              break;
            }
            case 242: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder subBuilder = null;
              if (((bitField0_ & 0x00800000) == 0x00800000)) {
                subBuilder = additionalProperties_.toBuilder();
              }
              additionalProperties_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(additionalProperties_);
                additionalProperties_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00800000;
              break;
            }
            case 250: {
              if (!((mutable_bitField0_ & 0x40000000) == 0x40000000)) {
                patternProperties_ = com.google.protobuf.MapField.newMapField(
                    PatternPropertiesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x40000000;
              }
              com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
              patternProperties__ = input.readMessage(
                  PatternPropertiesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              patternProperties_.getMutableMap().put(
                  patternProperties__.getKey(), patternProperties__.getValue());
              break;
            }
            case 258: {
              if (!((mutable_bitField0_ & 0x80000000) == 0x80000000)) {
                dependencies_ = com.google.protobuf.MapField.newMapField(
                    DependenciesDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x80000000;
              }
              com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
              dependencies__ = input.readMessage(
                  DependenciesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              dependencies_.getMutableMap().put(
                  dependencies__.getKey(), dependencies__.getValue());
              break;
            }
            case 266: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder subBuilder = null;
              if (((bitField0_ & 0x01000000) == 0x01000000)) {
                subBuilder = additionalItems_.toBuilder();
              }
              additionalItems_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(additionalItems_);
                additionalItems_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x01000000;
              break;
            }
            case 274: {
              if (!((mutable_bitField1_ & 0x00000002) == 0x00000002)) {
                definitions_ = com.google.protobuf.MapField.newMapField(
                    DefinitionsDefaultEntryHolder.defaultEntry);
                mutable_bitField1_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
              definitions__ = input.readMessage(
                  DefinitionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              definitions_.getMutableMap().put(
                  definitions__.getKey(), definitions__.getValue());
              break;
            }
            case 282: {
              io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder subBuilder = null;
              if (((bitField0_ & 0x02000000) == 0x02000000)) {
                subBuilder = externalDocs_.toBuilder();
              }
              externalDocs_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(externalDocs_);
                externalDocs_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x02000000;
              break;
            }
            case 290: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder subBuilder = null;
              if (((bitField0_ & 0x04000000) == 0x04000000)) {
                subBuilder = example_.toBuilder();
              }
              example_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSON.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(example_);
                example_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x04000000;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00080000) == 0x00080000)) {
          enum_ = java.util.Collections.unmodifiableList(enum_);
        }
        if (((mutable_bitField0_ & 0x00400000) == 0x00400000)) {
          required_ = required_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x01000000) == 0x01000000)) {
          allOf_ = java.util.Collections.unmodifiableList(allOf_);
        }
        if (((mutable_bitField0_ & 0x02000000) == 0x02000000)) {
          oneOf_ = java.util.Collections.unmodifiableList(oneOf_);
        }
        if (((mutable_bitField0_ & 0x04000000) == 0x04000000)) {
          anyOf_ = java.util.Collections.unmodifiableList(anyOf_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 29:
          return internalGetProperties();
        case 31:
          return internalGetPatternProperties();
        case 32:
          return internalGetDependencies();
        case 34:
          return internalGetDefinitions();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder.class);
    }

    private int bitField0_;
    public static final int ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object id_;
    /**
     * <code>optional string id = 1;</code>
     */
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string id = 1;</code>
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          id_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string id = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SCHEMA_FIELD_NUMBER = 2;
    private volatile java.lang.Object schema_;
    /**
     * <code>optional string schema = 2;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional string schema = 2;</code>
     */
    public java.lang.String getSchema() {
      java.lang.Object ref = schema_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          schema_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string schema = 2;</code>
     */
    public com.google.protobuf.ByteString
        getSchemaBytes() {
      java.lang.Object ref = schema_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schema_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REF_FIELD_NUMBER = 3;
    private volatile java.lang.Object ref_;
    /**
     * <code>optional string ref = 3;</code>
     */
    public boolean hasRef() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional string ref = 3;</code>
     */
    public java.lang.String getRef() {
      java.lang.Object ref = ref_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          ref_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string ref = 3;</code>
     */
    public com.google.protobuf.ByteString
        getRefBytes() {
      java.lang.Object ref = ref_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ref_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DESCRIPTION_FIELD_NUMBER = 4;
    private volatile java.lang.Object description_;
    /**
     * <code>optional string description = 4;</code>
     */
    public boolean hasDescription() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional string description = 4;</code>
     */
    public java.lang.String getDescription() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          description_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string description = 4;</code>
     */
    public com.google.protobuf.ByteString
        getDescriptionBytes() {
      java.lang.Object ref = description_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        description_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TYPE_FIELD_NUMBER = 5;
    private volatile java.lang.Object type_;
    /**
     * <code>optional string type = 5;</code>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional string type = 5;</code>
     */
    public java.lang.String getType() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          type_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string type = 5;</code>
     */
    public com.google.protobuf.ByteString
        getTypeBytes() {
      java.lang.Object ref = type_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        type_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FORMAT_FIELD_NUMBER = 6;
    private volatile java.lang.Object format_;
    /**
     * <code>optional string format = 6;</code>
     */
    public boolean hasFormat() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * <code>optional string format = 6;</code>
     */
    public java.lang.String getFormat() {
      java.lang.Object ref = format_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          format_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string format = 6;</code>
     */
    public com.google.protobuf.ByteString
        getFormatBytes() {
      java.lang.Object ref = format_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        format_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TITLE_FIELD_NUMBER = 7;
    private volatile java.lang.Object title_;
    /**
     * <code>optional string title = 7;</code>
     */
    public boolean hasTitle() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * <code>optional string title = 7;</code>
     */
    public java.lang.String getTitle() {
      java.lang.Object ref = title_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          title_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string title = 7;</code>
     */
    public com.google.protobuf.ByteString
        getTitleBytes() {
      java.lang.Object ref = title_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        title_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DEFAULT_FIELD_NUMBER = 8;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSON default_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    public boolean hasDefault() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefault() {
      return default_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : default_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getDefaultOrBuilder() {
      return default_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : default_;
    }

    public static final int MAXIMUM_FIELD_NUMBER = 9;
    private double maximum_;
    /**
     * <code>optional double maximum = 9;</code>
     */
    public boolean hasMaximum() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * <code>optional double maximum = 9;</code>
     */
    public double getMaximum() {
      return maximum_;
    }

    public static final int EXCLUSIVEMAXIMUM_FIELD_NUMBER = 10;
    private boolean exclusiveMaximum_;
    /**
     * <code>optional bool exclusiveMaximum = 10;</code>
     */
    public boolean hasExclusiveMaximum() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * <code>optional bool exclusiveMaximum = 10;</code>
     */
    public boolean getExclusiveMaximum() {
      return exclusiveMaximum_;
    }

    public static final int MINIMUM_FIELD_NUMBER = 11;
    private double minimum_;
    /**
     * <code>optional double minimum = 11;</code>
     */
    public boolean hasMinimum() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * <code>optional double minimum = 11;</code>
     */
    public double getMinimum() {
      return minimum_;
    }

    public static final int EXCLUSIVEMINIMUM_FIELD_NUMBER = 12;
    private boolean exclusiveMinimum_;
    /**
     * <code>optional bool exclusiveMinimum = 12;</code>
     */
    public boolean hasExclusiveMinimum() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * <code>optional bool exclusiveMinimum = 12;</code>
     */
    public boolean getExclusiveMinimum() {
      return exclusiveMinimum_;
    }

    public static final int MAXLENGTH_FIELD_NUMBER = 13;
    private long maxLength_;
    /**
     * <code>optional int64 maxLength = 13;</code>
     */
    public boolean hasMaxLength() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * <code>optional int64 maxLength = 13;</code>
     */
    public long getMaxLength() {
      return maxLength_;
    }

    public static final int MINLENGTH_FIELD_NUMBER = 14;
    private long minLength_;
    /**
     * <code>optional int64 minLength = 14;</code>
     */
    public boolean hasMinLength() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * <code>optional int64 minLength = 14;</code>
     */
    public long getMinLength() {
      return minLength_;
    }

    public static final int PATTERN_FIELD_NUMBER = 15;
    private volatile java.lang.Object pattern_;
    /**
     * <code>optional string pattern = 15;</code>
     */
    public boolean hasPattern() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * <code>optional string pattern = 15;</code>
     */
    public java.lang.String getPattern() {
      java.lang.Object ref = pattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          pattern_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string pattern = 15;</code>
     */
    public com.google.protobuf.ByteString
        getPatternBytes() {
      java.lang.Object ref = pattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        pattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MAXITEMS_FIELD_NUMBER = 16;
    private long maxItems_;
    /**
     * <code>optional int64 maxItems = 16;</code>
     */
    public boolean hasMaxItems() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * <code>optional int64 maxItems = 16;</code>
     */
    public long getMaxItems() {
      return maxItems_;
    }

    public static final int MINITEMS_FIELD_NUMBER = 17;
    private long minItems_;
    /**
     * <code>optional int64 minItems = 17;</code>
     */
    public boolean hasMinItems() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * <code>optional int64 minItems = 17;</code>
     */
    public long getMinItems() {
      return minItems_;
    }

    public static final int UNIQUEITEMS_FIELD_NUMBER = 18;
    private boolean uniqueItems_;
    /**
     * <code>optional bool uniqueItems = 18;</code>
     */
    public boolean hasUniqueItems() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * <code>optional bool uniqueItems = 18;</code>
     */
    public boolean getUniqueItems() {
      return uniqueItems_;
    }

    public static final int MULTIPLEOF_FIELD_NUMBER = 19;
    private double multipleOf_;
    /**
     * <code>optional double multipleOf = 19;</code>
     */
    public boolean hasMultipleOf() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * <code>optional double multipleOf = 19;</code>
     */
    public double getMultipleOf() {
      return multipleOf_;
    }

    public static final int ENUM_FIELD_NUMBER = 20;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON> enum_;
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON> getEnumList() {
      return enum_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
        getEnumOrBuilderList() {
      return enum_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    public int getEnumCount() {
      return enum_.size();
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getEnum(int index) {
      return enum_.get(index);
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getEnumOrBuilder(
        int index) {
      return enum_.get(index);
    }

    public static final int MAXPROPERTIES_FIELD_NUMBER = 21;
    private long maxProperties_;
    /**
     * <code>optional int64 maxProperties = 21;</code>
     */
    public boolean hasMaxProperties() {
      return ((bitField0_ & 0x00080000) == 0x00080000);
    }
    /**
     * <code>optional int64 maxProperties = 21;</code>
     */
    public long getMaxProperties() {
      return maxProperties_;
    }

    public static final int MINPROPERTIES_FIELD_NUMBER = 22;
    private long minProperties_;
    /**
     * <code>optional int64 minProperties = 22;</code>
     */
    public boolean hasMinProperties() {
      return ((bitField0_ & 0x00100000) == 0x00100000);
    }
    /**
     * <code>optional int64 minProperties = 22;</code>
     */
    public long getMinProperties() {
      return minProperties_;
    }

    public static final int REQUIRED_FIELD_NUMBER = 23;
    private com.google.protobuf.LazyStringList required_;
    /**
     * <code>repeated string required = 23;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getRequiredList() {
      return required_;
    }
    /**
     * <code>repeated string required = 23;</code>
     */
    public int getRequiredCount() {
      return required_.size();
    }
    /**
     * <code>repeated string required = 23;</code>
     */
    public java.lang.String getRequired(int index) {
      return required_.get(index);
    }
    /**
     * <code>repeated string required = 23;</code>
     */
    public com.google.protobuf.ByteString
        getRequiredBytes(int index) {
      return required_.getByteString(index);
    }

    public static final int ITEMS_FIELD_NUMBER = 24;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray items_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    public boolean hasItems() {
      return ((bitField0_ & 0x00200000) == 0x00200000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getItems() {
      return items_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance() : items_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder getItemsOrBuilder() {
      return items_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance() : items_;
    }

    public static final int ALLOF_FIELD_NUMBER = 25;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> allOf_;
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getAllOfList() {
      return allOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getAllOfOrBuilderList() {
      return allOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    public int getAllOfCount() {
      return allOf_.size();
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAllOf(int index) {
      return allOf_.get(index);
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAllOfOrBuilder(
        int index) {
      return allOf_.get(index);
    }

    public static final int ONEOF_FIELD_NUMBER = 26;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> oneOf_;
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getOneOfList() {
      return oneOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getOneOfOrBuilderList() {
      return oneOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    public int getOneOfCount() {
      return oneOf_.size();
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOneOf(int index) {
      return oneOf_.get(index);
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOneOfOrBuilder(
        int index) {
      return oneOf_.get(index);
    }

    public static final int ANYOF_FIELD_NUMBER = 27;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> anyOf_;
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getAnyOfList() {
      return anyOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getAnyOfOrBuilderList() {
      return anyOf_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    public int getAnyOfCount() {
      return anyOf_.size();
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAnyOf(int index) {
      return anyOf_.get(index);
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAnyOfOrBuilder(
        int index) {
      return anyOf_.get(index);
    }

    public static final int NOT_FIELD_NUMBER = 28;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps not_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    public boolean hasNot() {
      return ((bitField0_ & 0x00400000) == 0x00400000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getNot() {
      return not_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : not_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getNotOrBuilder() {
      return not_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : not_;
    }

    public static final int PROPERTIES_FIELD_NUMBER = 29;
    private static final class PropertiesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>newDefaultInstance(
                  io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> properties_;
    private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    internalGetProperties() {
      if (properties_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            PropertiesDefaultEntryHolder.defaultEntry);
      }
      return properties_;
    }

    public int getPropertiesCount() {
      return internalGetProperties().getMap().size();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    public boolean containsProperties(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetProperties().getMap().containsKey(key);
    }
    /**
     * Use {@link #getPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getProperties() {
      return getPropertiesMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPropertiesMap() {
      return internalGetProperties().getMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetProperties().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetProperties().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int ADDITIONALPROPERTIES_FIELD_NUMBER = 30;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool additionalProperties_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    public boolean hasAdditionalProperties() {
      return ((bitField0_ & 0x00800000) == 0x00800000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalProperties() {
      return additionalProperties_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalProperties_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalPropertiesOrBuilder() {
      return additionalProperties_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalProperties_;
    }

    public static final int PATTERNPROPERTIES_FIELD_NUMBER = 31;
    private static final class PatternPropertiesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>newDefaultInstance(
                  io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> patternProperties_;
    private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    internalGetPatternProperties() {
      if (patternProperties_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            PatternPropertiesDefaultEntryHolder.defaultEntry);
      }
      return patternProperties_;
    }

    public int getPatternPropertiesCount() {
      return internalGetPatternProperties().getMap().size();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    public boolean containsPatternProperties(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetPatternProperties().getMap().containsKey(key);
    }
    /**
     * Use {@link #getPatternPropertiesMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPatternProperties() {
      return getPatternPropertiesMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPatternPropertiesMap() {
      return internalGetPatternProperties().getMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetPatternProperties().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetPatternProperties().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int DEPENDENCIES_FIELD_NUMBER = 32;
    private static final class DependenciesDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>newDefaultInstance(
                  io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> dependencies_;
    private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
    internalGetDependencies() {
      if (dependencies_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            DependenciesDefaultEntryHolder.defaultEntry);
      }
      return dependencies_;
    }

    public int getDependenciesCount() {
      return internalGetDependencies().getMap().size();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    public boolean containsDependencies(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetDependencies().getMap().containsKey(key);
    }
    /**
     * Use {@link #getDependenciesMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> getDependencies() {
      return getDependenciesMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> getDependenciesMap() {
      return internalGetDependencies().getMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> map =
          internalGetDependencies().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> map =
          internalGetDependencies().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int ADDITIONALITEMS_FIELD_NUMBER = 33;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool additionalItems_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    public boolean hasAdditionalItems() {
      return ((bitField0_ & 0x01000000) == 0x01000000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalItems() {
      return additionalItems_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalItems_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalItemsOrBuilder() {
      return additionalItems_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalItems_;
    }

    public static final int DEFINITIONS_FIELD_NUMBER = 34;
    private static final class DefinitionsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>newDefaultInstance(
                  io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.MESSAGE,
                  io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
    }
    private com.google.protobuf.MapField<
        java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> definitions_;
    private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
    internalGetDefinitions() {
      if (definitions_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            DefinitionsDefaultEntryHolder.defaultEntry);
      }
      return definitions_;
    }

    public int getDefinitionsCount() {
      return internalGetDefinitions().getMap().size();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    public boolean containsDefinitions(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      return internalGetDefinitions().getMap().containsKey(key);
    }
    /**
     * Use {@link #getDefinitionsMap()} instead.
     */
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getDefinitions() {
      return getDefinitionsMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getDefinitionsMap() {
      return internalGetDefinitions().getMap();
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrDefault(
        java.lang.String key,
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetDefinitions().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
     */

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new java.lang.NullPointerException(); }
      java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
          internalGetDefinitions().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int EXTERNALDOCS_FIELD_NUMBER = 35;
    private io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation externalDocs_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    public boolean hasExternalDocs() {
      return ((bitField0_ & 0x02000000) == 0x02000000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getExternalDocs() {
      return externalDocs_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance() : externalDocs_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder getExternalDocsOrBuilder() {
      return externalDocs_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance() : externalDocs_;
    }

    public static final int EXAMPLE_FIELD_NUMBER = 36;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSON example_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    public boolean hasExample() {
      return ((bitField0_ & 0x04000000) == 0x04000000);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getExample() {
      return example_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : example_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getExampleOrBuilder() {
      return example_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : example_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schema_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, ref_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, description_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, type_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, format_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, title_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeMessage(8, getDefault());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeDouble(9, maximum_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeBool(10, exclusiveMaximum_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeDouble(11, minimum_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBool(12, exclusiveMinimum_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeInt64(13, maxLength_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeInt64(14, minLength_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, pattern_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeInt64(16, maxItems_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeInt64(17, minItems_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeBool(18, uniqueItems_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeDouble(19, multipleOf_);
      }
      for (int i = 0; i < enum_.size(); i++) {
        output.writeMessage(20, enum_.get(i));
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        output.writeInt64(21, maxProperties_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        output.writeInt64(22, minProperties_);
      }
      for (int i = 0; i < required_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 23, required_.getRaw(i));
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        output.writeMessage(24, getItems());
      }
      for (int i = 0; i < allOf_.size(); i++) {
        output.writeMessage(25, allOf_.get(i));
      }
      for (int i = 0; i < oneOf_.size(); i++) {
        output.writeMessage(26, oneOf_.get(i));
      }
      for (int i = 0; i < anyOf_.size(); i++) {
        output.writeMessage(27, anyOf_.get(i));
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        output.writeMessage(28, getNot());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetProperties(),
          PropertiesDefaultEntryHolder.defaultEntry,
          29);
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        output.writeMessage(30, getAdditionalProperties());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetPatternProperties(),
          PatternPropertiesDefaultEntryHolder.defaultEntry,
          31);
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetDependencies(),
          DependenciesDefaultEntryHolder.defaultEntry,
          32);
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        output.writeMessage(33, getAdditionalItems());
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetDefinitions(),
          DefinitionsDefaultEntryHolder.defaultEntry,
          34);
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        output.writeMessage(35, getExternalDocs());
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        output.writeMessage(36, getExample());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schema_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, ref_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, description_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, type_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, format_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, title_);
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(8, getDefault());
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(9, maximum_);
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, exclusiveMaximum_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(11, minimum_);
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(12, exclusiveMinimum_);
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(13, maxLength_);
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(14, minLength_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, pattern_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(16, maxItems_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(17, minItems_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(18, uniqueItems_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(19, multipleOf_);
      }
      for (int i = 0; i < enum_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(20, enum_.get(i));
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(21, maxProperties_);
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(22, minProperties_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < required_.size(); i++) {
          dataSize += computeStringSizeNoTag(required_.getRaw(i));
        }
        size += dataSize;
        size += 2 * getRequiredList().size();
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(24, getItems());
      }
      for (int i = 0; i < allOf_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(25, allOf_.get(i));
      }
      for (int i = 0; i < oneOf_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(26, oneOf_.get(i));
      }
      for (int i = 0; i < anyOf_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(27, anyOf_.get(i));
      }
      if (((bitField0_ & 0x00400000) == 0x00400000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(28, getNot());
      }
      for (java.util.Map.Entry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> entry
           : internalGetProperties().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
        properties__ = PropertiesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(29, properties__);
      }
      if (((bitField0_ & 0x00800000) == 0x00800000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(30, getAdditionalProperties());
      }
      for (java.util.Map.Entry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> entry
           : internalGetPatternProperties().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
        patternProperties__ = PatternPropertiesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(31, patternProperties__);
      }
      for (java.util.Map.Entry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> entry
           : internalGetDependencies().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
        dependencies__ = DependenciesDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(32, dependencies__);
      }
      if (((bitField0_ & 0x01000000) == 0x01000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(33, getAdditionalItems());
      }
      for (java.util.Map.Entry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> entry
           : internalGetDefinitions().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
        definitions__ = DefinitionsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(34, definitions__);
      }
      if (((bitField0_ & 0x02000000) == 0x02000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(35, getExternalDocs());
      }
      if (((bitField0_ & 0x04000000) == 0x04000000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(36, getExample());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps other = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps) obj;

      boolean result = true;
      result = result && (hasId() == other.hasId());
      if (hasId()) {
        result = result && getId()
            .equals(other.getId());
      }
      result = result && (hasSchema() == other.hasSchema());
      if (hasSchema()) {
        result = result && getSchema()
            .equals(other.getSchema());
      }
      result = result && (hasRef() == other.hasRef());
      if (hasRef()) {
        result = result && getRef()
            .equals(other.getRef());
      }
      result = result && (hasDescription() == other.hasDescription());
      if (hasDescription()) {
        result = result && getDescription()
            .equals(other.getDescription());
      }
      result = result && (hasType() == other.hasType());
      if (hasType()) {
        result = result && getType()
            .equals(other.getType());
      }
      result = result && (hasFormat() == other.hasFormat());
      if (hasFormat()) {
        result = result && getFormat()
            .equals(other.getFormat());
      }
      result = result && (hasTitle() == other.hasTitle());
      if (hasTitle()) {
        result = result && getTitle()
            .equals(other.getTitle());
      }
      result = result && (hasDefault() == other.hasDefault());
      if (hasDefault()) {
        result = result && getDefault()
            .equals(other.getDefault());
      }
      result = result && (hasMaximum() == other.hasMaximum());
      if (hasMaximum()) {
        result = result && (
            java.lang.Double.doubleToLongBits(getMaximum())
            == java.lang.Double.doubleToLongBits(
                other.getMaximum()));
      }
      result = result && (hasExclusiveMaximum() == other.hasExclusiveMaximum());
      if (hasExclusiveMaximum()) {
        result = result && (getExclusiveMaximum()
            == other.getExclusiveMaximum());
      }
      result = result && (hasMinimum() == other.hasMinimum());
      if (hasMinimum()) {
        result = result && (
            java.lang.Double.doubleToLongBits(getMinimum())
            == java.lang.Double.doubleToLongBits(
                other.getMinimum()));
      }
      result = result && (hasExclusiveMinimum() == other.hasExclusiveMinimum());
      if (hasExclusiveMinimum()) {
        result = result && (getExclusiveMinimum()
            == other.getExclusiveMinimum());
      }
      result = result && (hasMaxLength() == other.hasMaxLength());
      if (hasMaxLength()) {
        result = result && (getMaxLength()
            == other.getMaxLength());
      }
      result = result && (hasMinLength() == other.hasMinLength());
      if (hasMinLength()) {
        result = result && (getMinLength()
            == other.getMinLength());
      }
      result = result && (hasPattern() == other.hasPattern());
      if (hasPattern()) {
        result = result && getPattern()
            .equals(other.getPattern());
      }
      result = result && (hasMaxItems() == other.hasMaxItems());
      if (hasMaxItems()) {
        result = result && (getMaxItems()
            == other.getMaxItems());
      }
      result = result && (hasMinItems() == other.hasMinItems());
      if (hasMinItems()) {
        result = result && (getMinItems()
            == other.getMinItems());
      }
      result = result && (hasUniqueItems() == other.hasUniqueItems());
      if (hasUniqueItems()) {
        result = result && (getUniqueItems()
            == other.getUniqueItems());
      }
      result = result && (hasMultipleOf() == other.hasMultipleOf());
      if (hasMultipleOf()) {
        result = result && (
            java.lang.Double.doubleToLongBits(getMultipleOf())
            == java.lang.Double.doubleToLongBits(
                other.getMultipleOf()));
      }
      result = result && getEnumList()
          .equals(other.getEnumList());
      result = result && (hasMaxProperties() == other.hasMaxProperties());
      if (hasMaxProperties()) {
        result = result && (getMaxProperties()
            == other.getMaxProperties());
      }
      result = result && (hasMinProperties() == other.hasMinProperties());
      if (hasMinProperties()) {
        result = result && (getMinProperties()
            == other.getMinProperties());
      }
      result = result && getRequiredList()
          .equals(other.getRequiredList());
      result = result && (hasItems() == other.hasItems());
      if (hasItems()) {
        result = result && getItems()
            .equals(other.getItems());
      }
      result = result && getAllOfList()
          .equals(other.getAllOfList());
      result = result && getOneOfList()
          .equals(other.getOneOfList());
      result = result && getAnyOfList()
          .equals(other.getAnyOfList());
      result = result && (hasNot() == other.hasNot());
      if (hasNot()) {
        result = result && getNot()
            .equals(other.getNot());
      }
      result = result && internalGetProperties().equals(
          other.internalGetProperties());
      result = result && (hasAdditionalProperties() == other.hasAdditionalProperties());
      if (hasAdditionalProperties()) {
        result = result && getAdditionalProperties()
            .equals(other.getAdditionalProperties());
      }
      result = result && internalGetPatternProperties().equals(
          other.internalGetPatternProperties());
      result = result && internalGetDependencies().equals(
          other.internalGetDependencies());
      result = result && (hasAdditionalItems() == other.hasAdditionalItems());
      if (hasAdditionalItems()) {
        result = result && getAdditionalItems()
            .equals(other.getAdditionalItems());
      }
      result = result && internalGetDefinitions().equals(
          other.internalGetDefinitions());
      result = result && (hasExternalDocs() == other.hasExternalDocs());
      if (hasExternalDocs()) {
        result = result && getExternalDocs()
            .equals(other.getExternalDocs());
      }
      result = result && (hasExample() == other.hasExample());
      if (hasExample()) {
        result = result && getExample()
            .equals(other.getExample());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasId()) {
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getId().hashCode();
      }
      if (hasSchema()) {
        hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
        hash = (53 * hash) + getSchema().hashCode();
      }
      if (hasRef()) {
        hash = (37 * hash) + REF_FIELD_NUMBER;
        hash = (53 * hash) + getRef().hashCode();
      }
      if (hasDescription()) {
        hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
        hash = (53 * hash) + getDescription().hashCode();
      }
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getType().hashCode();
      }
      if (hasFormat()) {
        hash = (37 * hash) + FORMAT_FIELD_NUMBER;
        hash = (53 * hash) + getFormat().hashCode();
      }
      if (hasTitle()) {
        hash = (37 * hash) + TITLE_FIELD_NUMBER;
        hash = (53 * hash) + getTitle().hashCode();
      }
      if (hasDefault()) {
        hash = (37 * hash) + DEFAULT_FIELD_NUMBER;
        hash = (53 * hash) + getDefault().hashCode();
      }
      if (hasMaximum()) {
        hash = (37 * hash) + MAXIMUM_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMaximum()));
      }
      if (hasExclusiveMaximum()) {
        hash = (37 * hash) + EXCLUSIVEMAXIMUM_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getExclusiveMaximum());
      }
      if (hasMinimum()) {
        hash = (37 * hash) + MINIMUM_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMinimum()));
      }
      if (hasExclusiveMinimum()) {
        hash = (37 * hash) + EXCLUSIVEMINIMUM_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getExclusiveMinimum());
      }
      if (hasMaxLength()) {
        hash = (37 * hash) + MAXLENGTH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMaxLength());
      }
      if (hasMinLength()) {
        hash = (37 * hash) + MINLENGTH_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMinLength());
      }
      if (hasPattern()) {
        hash = (37 * hash) + PATTERN_FIELD_NUMBER;
        hash = (53 * hash) + getPattern().hashCode();
      }
      if (hasMaxItems()) {
        hash = (37 * hash) + MAXITEMS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMaxItems());
      }
      if (hasMinItems()) {
        hash = (37 * hash) + MINITEMS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMinItems());
      }
      if (hasUniqueItems()) {
        hash = (37 * hash) + UNIQUEITEMS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getUniqueItems());
      }
      if (hasMultipleOf()) {
        hash = (37 * hash) + MULTIPLEOF_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            java.lang.Double.doubleToLongBits(getMultipleOf()));
      }
      if (getEnumCount() > 0) {
        hash = (37 * hash) + ENUM_FIELD_NUMBER;
        hash = (53 * hash) + getEnumList().hashCode();
      }
      if (hasMaxProperties()) {
        hash = (37 * hash) + MAXPROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMaxProperties());
      }
      if (hasMinProperties()) {
        hash = (37 * hash) + MINPROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
            getMinProperties());
      }
      if (getRequiredCount() > 0) {
        hash = (37 * hash) + REQUIRED_FIELD_NUMBER;
        hash = (53 * hash) + getRequiredList().hashCode();
      }
      if (hasItems()) {
        hash = (37 * hash) + ITEMS_FIELD_NUMBER;
        hash = (53 * hash) + getItems().hashCode();
      }
      if (getAllOfCount() > 0) {
        hash = (37 * hash) + ALLOF_FIELD_NUMBER;
        hash = (53 * hash) + getAllOfList().hashCode();
      }
      if (getOneOfCount() > 0) {
        hash = (37 * hash) + ONEOF_FIELD_NUMBER;
        hash = (53 * hash) + getOneOfList().hashCode();
      }
      if (getAnyOfCount() > 0) {
        hash = (37 * hash) + ANYOF_FIELD_NUMBER;
        hash = (53 * hash) + getAnyOfList().hashCode();
      }
      if (hasNot()) {
        hash = (37 * hash) + NOT_FIELD_NUMBER;
        hash = (53 * hash) + getNot().hashCode();
      }
      if (!internalGetProperties().getMap().isEmpty()) {
        hash = (37 * hash) + PROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetProperties().hashCode();
      }
      if (hasAdditionalProperties()) {
        hash = (37 * hash) + ADDITIONALPROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + getAdditionalProperties().hashCode();
      }
      if (!internalGetPatternProperties().getMap().isEmpty()) {
        hash = (37 * hash) + PATTERNPROPERTIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetPatternProperties().hashCode();
      }
      if (!internalGetDependencies().getMap().isEmpty()) {
        hash = (37 * hash) + DEPENDENCIES_FIELD_NUMBER;
        hash = (53 * hash) + internalGetDependencies().hashCode();
      }
      if (hasAdditionalItems()) {
        hash = (37 * hash) + ADDITIONALITEMS_FIELD_NUMBER;
        hash = (53 * hash) + getAdditionalItems().hashCode();
      }
      if (!internalGetDefinitions().getMap().isEmpty()) {
        hash = (37 * hash) + DEFINITIONS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetDefinitions().hashCode();
      }
      if (hasExternalDocs()) {
        hash = (37 * hash) + EXTERNALDOCS_FIELD_NUMBER;
        hash = (53 * hash) + getExternalDocs().hashCode();
      }
      if (hasExample()) {
        hash = (37 * hash) + EXAMPLE_FIELD_NUMBER;
        hash = (53 * hash) + getExample().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps)
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 29:
            return internalGetProperties();
          case 31:
            return internalGetPatternProperties();
          case 32:
            return internalGetDependencies();
          case 34:
            return internalGetDefinitions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 29:
            return internalGetMutableProperties();
          case 31:
            return internalGetMutablePatternProperties();
          case 32:
            return internalGetMutableDependencies();
          case 34:
            return internalGetMutableDefinitions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getDefaultFieldBuilder();
          getEnumFieldBuilder();
          getItemsFieldBuilder();
          getAllOfFieldBuilder();
          getOneOfFieldBuilder();
          getAnyOfFieldBuilder();
          getNotFieldBuilder();
          getAdditionalPropertiesFieldBuilder();
          getAdditionalItemsFieldBuilder();
          getExternalDocsFieldBuilder();
          getExampleFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        id_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        schema_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        ref_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        description_ = "";
        bitField0_ = (bitField0_ & ~0x00000008);
        type_ = "";
        bitField0_ = (bitField0_ & ~0x00000010);
        format_ = "";
        bitField0_ = (bitField0_ & ~0x00000020);
        title_ = "";
        bitField0_ = (bitField0_ & ~0x00000040);
        if (defaultBuilder_ == null) {
          default_ = null;
        } else {
          defaultBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        maximum_ = 0D;
        bitField0_ = (bitField0_ & ~0x00000100);
        exclusiveMaximum_ = false;
        bitField0_ = (bitField0_ & ~0x00000200);
        minimum_ = 0D;
        bitField0_ = (bitField0_ & ~0x00000400);
        exclusiveMinimum_ = false;
        bitField0_ = (bitField0_ & ~0x00000800);
        maxLength_ = 0L;
        bitField0_ = (bitField0_ & ~0x00001000);
        minLength_ = 0L;
        bitField0_ = (bitField0_ & ~0x00002000);
        pattern_ = "";
        bitField0_ = (bitField0_ & ~0x00004000);
        maxItems_ = 0L;
        bitField0_ = (bitField0_ & ~0x00008000);
        minItems_ = 0L;
        bitField0_ = (bitField0_ & ~0x00010000);
        uniqueItems_ = false;
        bitField0_ = (bitField0_ & ~0x00020000);
        multipleOf_ = 0D;
        bitField0_ = (bitField0_ & ~0x00040000);
        if (enumBuilder_ == null) {
          enum_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00080000);
        } else {
          enumBuilder_.clear();
        }
        maxProperties_ = 0L;
        bitField0_ = (bitField0_ & ~0x00100000);
        minProperties_ = 0L;
        bitField0_ = (bitField0_ & ~0x00200000);
        required_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00400000);
        if (itemsBuilder_ == null) {
          items_ = null;
        } else {
          itemsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00800000);
        if (allOfBuilder_ == null) {
          allOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x01000000);
        } else {
          allOfBuilder_.clear();
        }
        if (oneOfBuilder_ == null) {
          oneOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x02000000);
        } else {
          oneOfBuilder_.clear();
        }
        if (anyOfBuilder_ == null) {
          anyOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x04000000);
        } else {
          anyOfBuilder_.clear();
        }
        if (notBuilder_ == null) {
          not_ = null;
        } else {
          notBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x08000000);
        internalGetMutableProperties().clear();
        if (additionalPropertiesBuilder_ == null) {
          additionalProperties_ = null;
        } else {
          additionalPropertiesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x20000000);
        internalGetMutablePatternProperties().clear();
        internalGetMutableDependencies().clear();
        if (additionalItemsBuilder_ == null) {
          additionalItems_ = null;
        } else {
          additionalItemsBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000001);
        internalGetMutableDefinitions().clear();
        if (externalDocsBuilder_ == null) {
          externalDocs_ = null;
        } else {
          externalDocsBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000004);
        if (exampleBuilder_ == null) {
          example_ = null;
        } else {
          exampleBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000008);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps result = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps(this);
        int from_bitField0_ = bitField0_;
        int from_bitField1_ = bitField1_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.id_ = id_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.schema_ = schema_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.ref_ = ref_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.description_ = description_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.format_ = format_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000040;
        }
        result.title_ = title_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000080;
        }
        if (defaultBuilder_ == null) {
          result.default_ = default_;
        } else {
          result.default_ = defaultBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000100;
        }
        result.maximum_ = maximum_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000200;
        }
        result.exclusiveMaximum_ = exclusiveMaximum_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000400;
        }
        result.minimum_ = minimum_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000800;
        }
        result.exclusiveMinimum_ = exclusiveMinimum_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.maxLength_ = maxLength_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.minLength_ = minLength_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.pattern_ = pattern_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.maxItems_ = maxItems_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.minItems_ = minItems_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.uniqueItems_ = uniqueItems_;
        if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.multipleOf_ = multipleOf_;
        if (enumBuilder_ == null) {
          if (((bitField0_ & 0x00080000) == 0x00080000)) {
            enum_ = java.util.Collections.unmodifiableList(enum_);
            bitField0_ = (bitField0_ & ~0x00080000);
          }
          result.enum_ = enum_;
        } else {
          result.enum_ = enumBuilder_.build();
        }
        if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
          to_bitField0_ |= 0x00080000;
        }
        result.maxProperties_ = maxProperties_;
        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
          to_bitField0_ |= 0x00100000;
        }
        result.minProperties_ = minProperties_;
        if (((bitField0_ & 0x00400000) == 0x00400000)) {
          required_ = required_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00400000);
        }
        result.required_ = required_;
        if (((from_bitField0_ & 0x00800000) == 0x00800000)) {
          to_bitField0_ |= 0x00200000;
        }
        if (itemsBuilder_ == null) {
          result.items_ = items_;
        } else {
          result.items_ = itemsBuilder_.build();
        }
        if (allOfBuilder_ == null) {
          if (((bitField0_ & 0x01000000) == 0x01000000)) {
            allOf_ = java.util.Collections.unmodifiableList(allOf_);
            bitField0_ = (bitField0_ & ~0x01000000);
          }
          result.allOf_ = allOf_;
        } else {
          result.allOf_ = allOfBuilder_.build();
        }
        if (oneOfBuilder_ == null) {
          if (((bitField0_ & 0x02000000) == 0x02000000)) {
            oneOf_ = java.util.Collections.unmodifiableList(oneOf_);
            bitField0_ = (bitField0_ & ~0x02000000);
          }
          result.oneOf_ = oneOf_;
        } else {
          result.oneOf_ = oneOfBuilder_.build();
        }
        if (anyOfBuilder_ == null) {
          if (((bitField0_ & 0x04000000) == 0x04000000)) {
            anyOf_ = java.util.Collections.unmodifiableList(anyOf_);
            bitField0_ = (bitField0_ & ~0x04000000);
          }
          result.anyOf_ = anyOf_;
        } else {
          result.anyOf_ = anyOfBuilder_.build();
        }
        if (((from_bitField0_ & 0x08000000) == 0x08000000)) {
          to_bitField0_ |= 0x00400000;
        }
        if (notBuilder_ == null) {
          result.not_ = not_;
        } else {
          result.not_ = notBuilder_.build();
        }
        result.properties_ = internalGetProperties();
        result.properties_.makeImmutable();
        if (((from_bitField0_ & 0x20000000) == 0x20000000)) {
          to_bitField0_ |= 0x00800000;
        }
        if (additionalPropertiesBuilder_ == null) {
          result.additionalProperties_ = additionalProperties_;
        } else {
          result.additionalProperties_ = additionalPropertiesBuilder_.build();
        }
        result.patternProperties_ = internalGetPatternProperties();
        result.patternProperties_.makeImmutable();
        result.dependencies_ = internalGetDependencies();
        result.dependencies_.makeImmutable();
        if (((from_bitField1_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x01000000;
        }
        if (additionalItemsBuilder_ == null) {
          result.additionalItems_ = additionalItems_;
        } else {
          result.additionalItems_ = additionalItemsBuilder_.build();
        }
        result.definitions_ = internalGetDefinitions();
        result.definitions_.makeImmutable();
        if (((from_bitField1_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x02000000;
        }
        if (externalDocsBuilder_ == null) {
          result.externalDocs_ = externalDocs_;
        } else {
          result.externalDocs_ = externalDocsBuilder_.build();
        }
        if (((from_bitField1_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x04000000;
        }
        if (exampleBuilder_ == null) {
          result.example_ = example_;
        } else {
          result.example_ = exampleBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) return this;
        if (other.hasId()) {
          bitField0_ |= 0x00000001;
          id_ = other.id_;
          onChanged();
        }
        if (other.hasSchema()) {
          bitField0_ |= 0x00000002;
          schema_ = other.schema_;
          onChanged();
        }
        if (other.hasRef()) {
          bitField0_ |= 0x00000004;
          ref_ = other.ref_;
          onChanged();
        }
        if (other.hasDescription()) {
          bitField0_ |= 0x00000008;
          description_ = other.description_;
          onChanged();
        }
        if (other.hasType()) {
          bitField0_ |= 0x00000010;
          type_ = other.type_;
          onChanged();
        }
        if (other.hasFormat()) {
          bitField0_ |= 0x00000020;
          format_ = other.format_;
          onChanged();
        }
        if (other.hasTitle()) {
          bitField0_ |= 0x00000040;
          title_ = other.title_;
          onChanged();
        }
        if (other.hasDefault()) {
          mergeDefault(other.getDefault());
        }
        if (other.hasMaximum()) {
          setMaximum(other.getMaximum());
        }
        if (other.hasExclusiveMaximum()) {
          setExclusiveMaximum(other.getExclusiveMaximum());
        }
        if (other.hasMinimum()) {
          setMinimum(other.getMinimum());
        }
        if (other.hasExclusiveMinimum()) {
          setExclusiveMinimum(other.getExclusiveMinimum());
        }
        if (other.hasMaxLength()) {
          setMaxLength(other.getMaxLength());
        }
        if (other.hasMinLength()) {
          setMinLength(other.getMinLength());
        }
        if (other.hasPattern()) {
          bitField0_ |= 0x00004000;
          pattern_ = other.pattern_;
          onChanged();
        }
        if (other.hasMaxItems()) {
          setMaxItems(other.getMaxItems());
        }
        if (other.hasMinItems()) {
          setMinItems(other.getMinItems());
        }
        if (other.hasUniqueItems()) {
          setUniqueItems(other.getUniqueItems());
        }
        if (other.hasMultipleOf()) {
          setMultipleOf(other.getMultipleOf());
        }
        if (enumBuilder_ == null) {
          if (!other.enum_.isEmpty()) {
            if (enum_.isEmpty()) {
              enum_ = other.enum_;
              bitField0_ = (bitField0_ & ~0x00080000);
            } else {
              ensureEnumIsMutable();
              enum_.addAll(other.enum_);
            }
            onChanged();
          }
        } else {
          if (!other.enum_.isEmpty()) {
            if (enumBuilder_.isEmpty()) {
              enumBuilder_.dispose();
              enumBuilder_ = null;
              enum_ = other.enum_;
              bitField0_ = (bitField0_ & ~0x00080000);
              enumBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getEnumFieldBuilder() : null;
            } else {
              enumBuilder_.addAllMessages(other.enum_);
            }
          }
        }
        if (other.hasMaxProperties()) {
          setMaxProperties(other.getMaxProperties());
        }
        if (other.hasMinProperties()) {
          setMinProperties(other.getMinProperties());
        }
        if (!other.required_.isEmpty()) {
          if (required_.isEmpty()) {
            required_ = other.required_;
            bitField0_ = (bitField0_ & ~0x00400000);
          } else {
            ensureRequiredIsMutable();
            required_.addAll(other.required_);
          }
          onChanged();
        }
        if (other.hasItems()) {
          mergeItems(other.getItems());
        }
        if (allOfBuilder_ == null) {
          if (!other.allOf_.isEmpty()) {
            if (allOf_.isEmpty()) {
              allOf_ = other.allOf_;
              bitField0_ = (bitField0_ & ~0x01000000);
            } else {
              ensureAllOfIsMutable();
              allOf_.addAll(other.allOf_);
            }
            onChanged();
          }
        } else {
          if (!other.allOf_.isEmpty()) {
            if (allOfBuilder_.isEmpty()) {
              allOfBuilder_.dispose();
              allOfBuilder_ = null;
              allOf_ = other.allOf_;
              bitField0_ = (bitField0_ & ~0x01000000);
              allOfBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAllOfFieldBuilder() : null;
            } else {
              allOfBuilder_.addAllMessages(other.allOf_);
            }
          }
        }
        if (oneOfBuilder_ == null) {
          if (!other.oneOf_.isEmpty()) {
            if (oneOf_.isEmpty()) {
              oneOf_ = other.oneOf_;
              bitField0_ = (bitField0_ & ~0x02000000);
            } else {
              ensureOneOfIsMutable();
              oneOf_.addAll(other.oneOf_);
            }
            onChanged();
          }
        } else {
          if (!other.oneOf_.isEmpty()) {
            if (oneOfBuilder_.isEmpty()) {
              oneOfBuilder_.dispose();
              oneOfBuilder_ = null;
              oneOf_ = other.oneOf_;
              bitField0_ = (bitField0_ & ~0x02000000);
              oneOfBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getOneOfFieldBuilder() : null;
            } else {
              oneOfBuilder_.addAllMessages(other.oneOf_);
            }
          }
        }
        if (anyOfBuilder_ == null) {
          if (!other.anyOf_.isEmpty()) {
            if (anyOf_.isEmpty()) {
              anyOf_ = other.anyOf_;
              bitField0_ = (bitField0_ & ~0x04000000);
            } else {
              ensureAnyOfIsMutable();
              anyOf_.addAll(other.anyOf_);
            }
            onChanged();
          }
        } else {
          if (!other.anyOf_.isEmpty()) {
            if (anyOfBuilder_.isEmpty()) {
              anyOfBuilder_.dispose();
              anyOfBuilder_ = null;
              anyOf_ = other.anyOf_;
              bitField0_ = (bitField0_ & ~0x04000000);
              anyOfBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAnyOfFieldBuilder() : null;
            } else {
              anyOfBuilder_.addAllMessages(other.anyOf_);
            }
          }
        }
        if (other.hasNot()) {
          mergeNot(other.getNot());
        }
        internalGetMutableProperties().mergeFrom(
            other.internalGetProperties());
        if (other.hasAdditionalProperties()) {
          mergeAdditionalProperties(other.getAdditionalProperties());
        }
        internalGetMutablePatternProperties().mergeFrom(
            other.internalGetPatternProperties());
        internalGetMutableDependencies().mergeFrom(
            other.internalGetDependencies());
        if (other.hasAdditionalItems()) {
          mergeAdditionalItems(other.getAdditionalItems());
        }
        internalGetMutableDefinitions().mergeFrom(
            other.internalGetDefinitions());
        if (other.hasExternalDocs()) {
          mergeExternalDocs(other.getExternalDocs());
        }
        if (other.hasExample()) {
          mergeExample(other.getExample());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;
      private int bitField1_;

      private java.lang.Object id_ = "";
      /**
       * <code>optional string id = 1;</code>
       */
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            id_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder clearId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        id_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object schema_ = "";
      /**
       * <code>optional string schema = 2;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional string schema = 2;</code>
       */
      public java.lang.String getSchema() {
        java.lang.Object ref = schema_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            schema_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string schema = 2;</code>
       */
      public com.google.protobuf.ByteString
          getSchemaBytes() {
        java.lang.Object ref = schema_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schema_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string schema = 2;</code>
       */
      public Builder setSchema(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        schema_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string schema = 2;</code>
       */
      public Builder clearSchema() {
        bitField0_ = (bitField0_ & ~0x00000002);
        schema_ = getDefaultInstance().getSchema();
        onChanged();
        return this;
      }
      /**
       * <code>optional string schema = 2;</code>
       */
      public Builder setSchemaBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        schema_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ref_ = "";
      /**
       * <code>optional string ref = 3;</code>
       */
      public boolean hasRef() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public java.lang.String getRef() {
        java.lang.Object ref = ref_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            ref_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public com.google.protobuf.ByteString
          getRefBytes() {
        java.lang.Object ref = ref_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ref_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public Builder setRef(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        ref_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public Builder clearRef() {
        bitField0_ = (bitField0_ & ~0x00000004);
        ref_ = getDefaultInstance().getRef();
        onChanged();
        return this;
      }
      /**
       * <code>optional string ref = 3;</code>
       */
      public Builder setRefBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        ref_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object description_ = "";
      /**
       * <code>optional string description = 4;</code>
       */
      public boolean hasDescription() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional string description = 4;</code>
       */
      public java.lang.String getDescription() {
        java.lang.Object ref = description_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            description_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string description = 4;</code>
       */
      public com.google.protobuf.ByteString
          getDescriptionBytes() {
        java.lang.Object ref = description_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          description_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string description = 4;</code>
       */
      public Builder setDescription(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        description_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 4;</code>
       */
      public Builder clearDescription() {
        bitField0_ = (bitField0_ & ~0x00000008);
        description_ = getDefaultInstance().getDescription();
        onChanged();
        return this;
      }
      /**
       * <code>optional string description = 4;</code>
       */
      public Builder setDescriptionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        description_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object type_ = "";
      /**
       * <code>optional string type = 5;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional string type = 5;</code>
       */
      public java.lang.String getType() {
        java.lang.Object ref = type_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            type_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string type = 5;</code>
       */
      public com.google.protobuf.ByteString
          getTypeBytes() {
        java.lang.Object ref = type_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          type_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string type = 5;</code>
       */
      public Builder setType(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string type = 5;</code>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }
      /**
       * <code>optional string type = 5;</code>
       */
      public Builder setTypeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        type_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object format_ = "";
      /**
       * <code>optional string format = 6;</code>
       */
      public boolean hasFormat() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * <code>optional string format = 6;</code>
       */
      public java.lang.String getFormat() {
        java.lang.Object ref = format_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            format_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string format = 6;</code>
       */
      public com.google.protobuf.ByteString
          getFormatBytes() {
        java.lang.Object ref = format_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          format_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string format = 6;</code>
       */
      public Builder setFormat(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        format_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string format = 6;</code>
       */
      public Builder clearFormat() {
        bitField0_ = (bitField0_ & ~0x00000020);
        format_ = getDefaultInstance().getFormat();
        onChanged();
        return this;
      }
      /**
       * <code>optional string format = 6;</code>
       */
      public Builder setFormatBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        format_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object title_ = "";
      /**
       * <code>optional string title = 7;</code>
       */
      public boolean hasTitle() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * <code>optional string title = 7;</code>
       */
      public java.lang.String getTitle() {
        java.lang.Object ref = title_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            title_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string title = 7;</code>
       */
      public com.google.protobuf.ByteString
          getTitleBytes() {
        java.lang.Object ref = title_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          title_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string title = 7;</code>
       */
      public Builder setTitle(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        title_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string title = 7;</code>
       */
      public Builder clearTitle() {
        bitField0_ = (bitField0_ & ~0x00000040);
        title_ = getDefaultInstance().getTitle();
        onChanged();
        return this;
      }
      /**
       * <code>optional string title = 7;</code>
       */
      public Builder setTitleBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000040;
        title_ = value;
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSON default_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> defaultBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public boolean hasDefault() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getDefault() {
        if (defaultBuilder_ == null) {
          return default_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : default_;
        } else {
          return defaultBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public Builder setDefault(io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (defaultBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          default_ = value;
          onChanged();
        } else {
          defaultBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public Builder setDefault(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder builderForValue) {
        if (defaultBuilder_ == null) {
          default_ = builderForValue.build();
          onChanged();
        } else {
          defaultBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public Builder mergeDefault(io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (defaultBuilder_ == null) {
          if (((bitField0_ & 0x00000080) == 0x00000080) &&
              default_ != null &&
              default_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance()) {
            default_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.newBuilder(default_).mergeFrom(value).buildPartial();
          } else {
            default_ = value;
          }
          onChanged();
        } else {
          defaultBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public Builder clearDefault() {
        if (defaultBuilder_ == null) {
          default_ = null;
          onChanged();
        } else {
          defaultBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000080);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder getDefaultBuilder() {
        bitField0_ |= 0x00000080;
        onChanged();
        return getDefaultFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getDefaultOrBuilder() {
        if (defaultBuilder_ != null) {
          return defaultBuilder_.getMessageOrBuilder();
        } else {
          return default_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : default_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON default = 8;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
          getDefaultFieldBuilder() {
        if (defaultBuilder_ == null) {
          defaultBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder>(
                  getDefault(),
                  getParentForChildren(),
                  isClean());
          default_ = null;
        }
        return defaultBuilder_;
      }

      private double maximum_ ;
      /**
       * <code>optional double maximum = 9;</code>
       */
      public boolean hasMaximum() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * <code>optional double maximum = 9;</code>
       */
      public double getMaximum() {
        return maximum_;
      }
      /**
       * <code>optional double maximum = 9;</code>
       */
      public Builder setMaximum(double value) {
        bitField0_ |= 0x00000100;
        maximum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional double maximum = 9;</code>
       */
      public Builder clearMaximum() {
        bitField0_ = (bitField0_ & ~0x00000100);
        maximum_ = 0D;
        onChanged();
        return this;
      }

      private boolean exclusiveMaximum_ ;
      /**
       * <code>optional bool exclusiveMaximum = 10;</code>
       */
      public boolean hasExclusiveMaximum() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * <code>optional bool exclusiveMaximum = 10;</code>
       */
      public boolean getExclusiveMaximum() {
        return exclusiveMaximum_;
      }
      /**
       * <code>optional bool exclusiveMaximum = 10;</code>
       */
      public Builder setExclusiveMaximum(boolean value) {
        bitField0_ |= 0x00000200;
        exclusiveMaximum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool exclusiveMaximum = 10;</code>
       */
      public Builder clearExclusiveMaximum() {
        bitField0_ = (bitField0_ & ~0x00000200);
        exclusiveMaximum_ = false;
        onChanged();
        return this;
      }

      private double minimum_ ;
      /**
       * <code>optional double minimum = 11;</code>
       */
      public boolean hasMinimum() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * <code>optional double minimum = 11;</code>
       */
      public double getMinimum() {
        return minimum_;
      }
      /**
       * <code>optional double minimum = 11;</code>
       */
      public Builder setMinimum(double value) {
        bitField0_ |= 0x00000400;
        minimum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional double minimum = 11;</code>
       */
      public Builder clearMinimum() {
        bitField0_ = (bitField0_ & ~0x00000400);
        minimum_ = 0D;
        onChanged();
        return this;
      }

      private boolean exclusiveMinimum_ ;
      /**
       * <code>optional bool exclusiveMinimum = 12;</code>
       */
      public boolean hasExclusiveMinimum() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * <code>optional bool exclusiveMinimum = 12;</code>
       */
      public boolean getExclusiveMinimum() {
        return exclusiveMinimum_;
      }
      /**
       * <code>optional bool exclusiveMinimum = 12;</code>
       */
      public Builder setExclusiveMinimum(boolean value) {
        bitField0_ |= 0x00000800;
        exclusiveMinimum_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool exclusiveMinimum = 12;</code>
       */
      public Builder clearExclusiveMinimum() {
        bitField0_ = (bitField0_ & ~0x00000800);
        exclusiveMinimum_ = false;
        onChanged();
        return this;
      }

      private long maxLength_ ;
      /**
       * <code>optional int64 maxLength = 13;</code>
       */
      public boolean hasMaxLength() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * <code>optional int64 maxLength = 13;</code>
       */
      public long getMaxLength() {
        return maxLength_;
      }
      /**
       * <code>optional int64 maxLength = 13;</code>
       */
      public Builder setMaxLength(long value) {
        bitField0_ |= 0x00001000;
        maxLength_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 maxLength = 13;</code>
       */
      public Builder clearMaxLength() {
        bitField0_ = (bitField0_ & ~0x00001000);
        maxLength_ = 0L;
        onChanged();
        return this;
      }

      private long minLength_ ;
      /**
       * <code>optional int64 minLength = 14;</code>
       */
      public boolean hasMinLength() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * <code>optional int64 minLength = 14;</code>
       */
      public long getMinLength() {
        return minLength_;
      }
      /**
       * <code>optional int64 minLength = 14;</code>
       */
      public Builder setMinLength(long value) {
        bitField0_ |= 0x00002000;
        minLength_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 minLength = 14;</code>
       */
      public Builder clearMinLength() {
        bitField0_ = (bitField0_ & ~0x00002000);
        minLength_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object pattern_ = "";
      /**
       * <code>optional string pattern = 15;</code>
       */
      public boolean hasPattern() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * <code>optional string pattern = 15;</code>
       */
      public java.lang.String getPattern() {
        java.lang.Object ref = pattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          if (bs.isValidUtf8()) {
            pattern_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string pattern = 15;</code>
       */
      public com.google.protobuf.ByteString
          getPatternBytes() {
        java.lang.Object ref = pattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          pattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string pattern = 15;</code>
       */
      public Builder setPattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        pattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string pattern = 15;</code>
       */
      public Builder clearPattern() {
        bitField0_ = (bitField0_ & ~0x00004000);
        pattern_ = getDefaultInstance().getPattern();
        onChanged();
        return this;
      }
      /**
       * <code>optional string pattern = 15;</code>
       */
      public Builder setPatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
        pattern_ = value;
        onChanged();
        return this;
      }

      private long maxItems_ ;
      /**
       * <code>optional int64 maxItems = 16;</code>
       */
      public boolean hasMaxItems() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * <code>optional int64 maxItems = 16;</code>
       */
      public long getMaxItems() {
        return maxItems_;
      }
      /**
       * <code>optional int64 maxItems = 16;</code>
       */
      public Builder setMaxItems(long value) {
        bitField0_ |= 0x00008000;
        maxItems_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 maxItems = 16;</code>
       */
      public Builder clearMaxItems() {
        bitField0_ = (bitField0_ & ~0x00008000);
        maxItems_ = 0L;
        onChanged();
        return this;
      }

      private long minItems_ ;
      /**
       * <code>optional int64 minItems = 17;</code>
       */
      public boolean hasMinItems() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * <code>optional int64 minItems = 17;</code>
       */
      public long getMinItems() {
        return minItems_;
      }
      /**
       * <code>optional int64 minItems = 17;</code>
       */
      public Builder setMinItems(long value) {
        bitField0_ |= 0x00010000;
        minItems_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 minItems = 17;</code>
       */
      public Builder clearMinItems() {
        bitField0_ = (bitField0_ & ~0x00010000);
        minItems_ = 0L;
        onChanged();
        return this;
      }

      private boolean uniqueItems_ ;
      /**
       * <code>optional bool uniqueItems = 18;</code>
       */
      public boolean hasUniqueItems() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * <code>optional bool uniqueItems = 18;</code>
       */
      public boolean getUniqueItems() {
        return uniqueItems_;
      }
      /**
       * <code>optional bool uniqueItems = 18;</code>
       */
      public Builder setUniqueItems(boolean value) {
        bitField0_ |= 0x00020000;
        uniqueItems_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool uniqueItems = 18;</code>
       */
      public Builder clearUniqueItems() {
        bitField0_ = (bitField0_ & ~0x00020000);
        uniqueItems_ = false;
        onChanged();
        return this;
      }

      private double multipleOf_ ;
      /**
       * <code>optional double multipleOf = 19;</code>
       */
      public boolean hasMultipleOf() {
        return ((bitField0_ & 0x00040000) == 0x00040000);
      }
      /**
       * <code>optional double multipleOf = 19;</code>
       */
      public double getMultipleOf() {
        return multipleOf_;
      }
      /**
       * <code>optional double multipleOf = 19;</code>
       */
      public Builder setMultipleOf(double value) {
        bitField0_ |= 0x00040000;
        multipleOf_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional double multipleOf = 19;</code>
       */
      public Builder clearMultipleOf() {
        bitField0_ = (bitField0_ & ~0x00040000);
        multipleOf_ = 0D;
        onChanged();
        return this;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON> enum_ =
        java.util.Collections.emptyList();
      private void ensureEnumIsMutable() {
        if (!((bitField0_ & 0x00080000) == 0x00080000)) {
          enum_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSON>(enum_);
          bitField0_ |= 0x00080000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> enumBuilder_;

      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON> getEnumList() {
        if (enumBuilder_ == null) {
          return java.util.Collections.unmodifiableList(enum_);
        } else {
          return enumBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public int getEnumCount() {
        if (enumBuilder_ == null) {
          return enum_.size();
        } else {
          return enumBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getEnum(int index) {
        if (enumBuilder_ == null) {
          return enum_.get(index);
        } else {
          return enumBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder setEnum(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (enumBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEnumIsMutable();
          enum_.set(index, value);
          onChanged();
        } else {
          enumBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder setEnum(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder builderForValue) {
        if (enumBuilder_ == null) {
          ensureEnumIsMutable();
          enum_.set(index, builderForValue.build());
          onChanged();
        } else {
          enumBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder addEnum(io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (enumBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEnumIsMutable();
          enum_.add(value);
          onChanged();
        } else {
          enumBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder addEnum(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (enumBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEnumIsMutable();
          enum_.add(index, value);
          onChanged();
        } else {
          enumBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder addEnum(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder builderForValue) {
        if (enumBuilder_ == null) {
          ensureEnumIsMutable();
          enum_.add(builderForValue.build());
          onChanged();
        } else {
          enumBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder addEnum(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder builderForValue) {
        if (enumBuilder_ == null) {
          ensureEnumIsMutable();
          enum_.add(index, builderForValue.build());
          onChanged();
        } else {
          enumBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder addAllEnum(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSON> values) {
        if (enumBuilder_ == null) {
          ensureEnumIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, enum_);
          onChanged();
        } else {
          enumBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder clearEnum() {
        if (enumBuilder_ == null) {
          enum_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00080000);
          onChanged();
        } else {
          enumBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public Builder removeEnum(int index) {
        if (enumBuilder_ == null) {
          ensureEnumIsMutable();
          enum_.remove(index);
          onChanged();
        } else {
          enumBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder getEnumBuilder(
          int index) {
        return getEnumFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getEnumOrBuilder(
          int index) {
        if (enumBuilder_ == null) {
          return enum_.get(index);  } else {
          return enumBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
           getEnumOrBuilderList() {
        if (enumBuilder_ != null) {
          return enumBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(enum_);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder addEnumBuilder() {
        return getEnumFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder addEnumBuilder(
          int index) {
        return getEnumFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON enum = 20;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder> 
           getEnumBuilderList() {
        return getEnumFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
          getEnumFieldBuilder() {
        if (enumBuilder_ == null) {
          enumBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder>(
                  enum_,
                  ((bitField0_ & 0x00080000) == 0x00080000),
                  getParentForChildren(),
                  isClean());
          enum_ = null;
        }
        return enumBuilder_;
      }

      private long maxProperties_ ;
      /**
       * <code>optional int64 maxProperties = 21;</code>
       */
      public boolean hasMaxProperties() {
        return ((bitField0_ & 0x00100000) == 0x00100000);
      }
      /**
       * <code>optional int64 maxProperties = 21;</code>
       */
      public long getMaxProperties() {
        return maxProperties_;
      }
      /**
       * <code>optional int64 maxProperties = 21;</code>
       */
      public Builder setMaxProperties(long value) {
        bitField0_ |= 0x00100000;
        maxProperties_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 maxProperties = 21;</code>
       */
      public Builder clearMaxProperties() {
        bitField0_ = (bitField0_ & ~0x00100000);
        maxProperties_ = 0L;
        onChanged();
        return this;
      }

      private long minProperties_ ;
      /**
       * <code>optional int64 minProperties = 22;</code>
       */
      public boolean hasMinProperties() {
        return ((bitField0_ & 0x00200000) == 0x00200000);
      }
      /**
       * <code>optional int64 minProperties = 22;</code>
       */
      public long getMinProperties() {
        return minProperties_;
      }
      /**
       * <code>optional int64 minProperties = 22;</code>
       */
      public Builder setMinProperties(long value) {
        bitField0_ |= 0x00200000;
        minProperties_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int64 minProperties = 22;</code>
       */
      public Builder clearMinProperties() {
        bitField0_ = (bitField0_ & ~0x00200000);
        minProperties_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList required_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureRequiredIsMutable() {
        if (!((bitField0_ & 0x00400000) == 0x00400000)) {
          required_ = new com.google.protobuf.LazyStringArrayList(required_);
          bitField0_ |= 0x00400000;
         }
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getRequiredList() {
        return required_.getUnmodifiableView();
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public int getRequiredCount() {
        return required_.size();
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public java.lang.String getRequired(int index) {
        return required_.get(index);
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public com.google.protobuf.ByteString
          getRequiredBytes(int index) {
        return required_.getByteString(index);
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public Builder setRequired(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureRequiredIsMutable();
        required_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public Builder addRequired(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureRequiredIsMutable();
        required_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public Builder addAllRequired(
          java.lang.Iterable<java.lang.String> values) {
        ensureRequiredIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, required_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public Builder clearRequired() {
        required_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00400000);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string required = 23;</code>
       */
      public Builder addRequiredBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureRequiredIsMutable();
        required_.add(value);
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray items_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder> itemsBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public boolean hasItems() {
        return ((bitField0_ & 0x00800000) == 0x00800000);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getItems() {
        if (itemsBuilder_ == null) {
          return items_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance() : items_;
        } else {
          return itemsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public Builder setItems(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray value) {
        if (itemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          items_ = value;
          onChanged();
        } else {
          itemsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00800000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public Builder setItems(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder builderForValue) {
        if (itemsBuilder_ == null) {
          items_ = builderForValue.build();
          onChanged();
        } else {
          itemsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00800000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public Builder mergeItems(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray value) {
        if (itemsBuilder_ == null) {
          if (((bitField0_ & 0x00800000) == 0x00800000) &&
              items_ != null &&
              items_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance()) {
            items_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.newBuilder(items_).mergeFrom(value).buildPartial();
          } else {
            items_ = value;
          }
          onChanged();
        } else {
          itemsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00800000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public Builder clearItems() {
        if (itemsBuilder_ == null) {
          items_ = null;
          onChanged();
        } else {
          itemsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00800000);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder getItemsBuilder() {
        bitField0_ |= 0x00800000;
        onChanged();
        return getItemsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder getItemsOrBuilder() {
        if (itemsBuilder_ != null) {
          return itemsBuilder_.getMessageOrBuilder();
        } else {
          return items_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance() : items_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray items = 24;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder> 
          getItemsFieldBuilder() {
        if (itemsBuilder_ == null) {
          itemsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder>(
                  getItems(),
                  getParentForChildren(),
                  isClean());
          items_ = null;
        }
        return itemsBuilder_;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> allOf_ =
        java.util.Collections.emptyList();
      private void ensureAllOfIsMutable() {
        if (!((bitField0_ & 0x01000000) == 0x01000000)) {
          allOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>(allOf_);
          bitField0_ |= 0x01000000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> allOfBuilder_;

      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getAllOfList() {
        if (allOfBuilder_ == null) {
          return java.util.Collections.unmodifiableList(allOf_);
        } else {
          return allOfBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public int getAllOfCount() {
        if (allOfBuilder_ == null) {
          return allOf_.size();
        } else {
          return allOfBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAllOf(int index) {
        if (allOfBuilder_ == null) {
          return allOf_.get(index);
        } else {
          return allOfBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder setAllOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (allOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAllOfIsMutable();
          allOf_.set(index, value);
          onChanged();
        } else {
          allOfBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder setAllOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (allOfBuilder_ == null) {
          ensureAllOfIsMutable();
          allOf_.set(index, builderForValue.build());
          onChanged();
        } else {
          allOfBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder addAllOf(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (allOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAllOfIsMutable();
          allOf_.add(value);
          onChanged();
        } else {
          allOfBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder addAllOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (allOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAllOfIsMutable();
          allOf_.add(index, value);
          onChanged();
        } else {
          allOfBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder addAllOf(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (allOfBuilder_ == null) {
          ensureAllOfIsMutable();
          allOf_.add(builderForValue.build());
          onChanged();
        } else {
          allOfBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder addAllOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (allOfBuilder_ == null) {
          ensureAllOfIsMutable();
          allOf_.add(index, builderForValue.build());
          onChanged();
        } else {
          allOfBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder addAllAllOf(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        if (allOfBuilder_ == null) {
          ensureAllOfIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, allOf_);
          onChanged();
        } else {
          allOfBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder clearAllOf() {
        if (allOfBuilder_ == null) {
          allOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x01000000);
          onChanged();
        } else {
          allOfBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public Builder removeAllOf(int index) {
        if (allOfBuilder_ == null) {
          ensureAllOfIsMutable();
          allOf_.remove(index);
          onChanged();
        } else {
          allOfBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getAllOfBuilder(
          int index) {
        return getAllOfFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAllOfOrBuilder(
          int index) {
        if (allOfBuilder_ == null) {
          return allOf_.get(index);  } else {
          return allOfBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
           getAllOfOrBuilderList() {
        if (allOfBuilder_ != null) {
          return allOfBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(allOf_);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addAllOfBuilder() {
        return getAllOfFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addAllOfBuilder(
          int index) {
        return getAllOfFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps allOf = 25;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder> 
           getAllOfBuilderList() {
        return getAllOfFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getAllOfFieldBuilder() {
        if (allOfBuilder_ == null) {
          allOfBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  allOf_,
                  ((bitField0_ & 0x01000000) == 0x01000000),
                  getParentForChildren(),
                  isClean());
          allOf_ = null;
        }
        return allOfBuilder_;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> oneOf_ =
        java.util.Collections.emptyList();
      private void ensureOneOfIsMutable() {
        if (!((bitField0_ & 0x02000000) == 0x02000000)) {
          oneOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>(oneOf_);
          bitField0_ |= 0x02000000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> oneOfBuilder_;

      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getOneOfList() {
        if (oneOfBuilder_ == null) {
          return java.util.Collections.unmodifiableList(oneOf_);
        } else {
          return oneOfBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public int getOneOfCount() {
        if (oneOfBuilder_ == null) {
          return oneOf_.size();
        } else {
          return oneOfBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getOneOf(int index) {
        if (oneOfBuilder_ == null) {
          return oneOf_.get(index);
        } else {
          return oneOfBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder setOneOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (oneOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOneOfIsMutable();
          oneOf_.set(index, value);
          onChanged();
        } else {
          oneOfBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder setOneOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (oneOfBuilder_ == null) {
          ensureOneOfIsMutable();
          oneOf_.set(index, builderForValue.build());
          onChanged();
        } else {
          oneOfBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder addOneOf(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (oneOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOneOfIsMutable();
          oneOf_.add(value);
          onChanged();
        } else {
          oneOfBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder addOneOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (oneOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureOneOfIsMutable();
          oneOf_.add(index, value);
          onChanged();
        } else {
          oneOfBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder addOneOf(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (oneOfBuilder_ == null) {
          ensureOneOfIsMutable();
          oneOf_.add(builderForValue.build());
          onChanged();
        } else {
          oneOfBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder addOneOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (oneOfBuilder_ == null) {
          ensureOneOfIsMutable();
          oneOf_.add(index, builderForValue.build());
          onChanged();
        } else {
          oneOfBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder addAllOneOf(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        if (oneOfBuilder_ == null) {
          ensureOneOfIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, oneOf_);
          onChanged();
        } else {
          oneOfBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder clearOneOf() {
        if (oneOfBuilder_ == null) {
          oneOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x02000000);
          onChanged();
        } else {
          oneOfBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public Builder removeOneOf(int index) {
        if (oneOfBuilder_ == null) {
          ensureOneOfIsMutable();
          oneOf_.remove(index);
          onChanged();
        } else {
          oneOfBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getOneOfBuilder(
          int index) {
        return getOneOfFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getOneOfOrBuilder(
          int index) {
        if (oneOfBuilder_ == null) {
          return oneOf_.get(index);  } else {
          return oneOfBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
           getOneOfOrBuilderList() {
        if (oneOfBuilder_ != null) {
          return oneOfBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(oneOf_);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addOneOfBuilder() {
        return getOneOfFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addOneOfBuilder(
          int index) {
        return getOneOfFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps oneOf = 26;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder> 
           getOneOfBuilderList() {
        return getOneOfFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getOneOfFieldBuilder() {
        if (oneOfBuilder_ == null) {
          oneOfBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  oneOf_,
                  ((bitField0_ & 0x02000000) == 0x02000000),
                  getParentForChildren(),
                  isClean());
          oneOf_ = null;
        }
        return oneOfBuilder_;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> anyOf_ =
        java.util.Collections.emptyList();
      private void ensureAnyOfIsMutable() {
        if (!((bitField0_ & 0x04000000) == 0x04000000)) {
          anyOf_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>(anyOf_);
          bitField0_ |= 0x04000000;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> anyOfBuilder_;

      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getAnyOfList() {
        if (anyOfBuilder_ == null) {
          return java.util.Collections.unmodifiableList(anyOf_);
        } else {
          return anyOfBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public int getAnyOfCount() {
        if (anyOfBuilder_ == null) {
          return anyOf_.size();
        } else {
          return anyOfBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getAnyOf(int index) {
        if (anyOfBuilder_ == null) {
          return anyOf_.get(index);
        } else {
          return anyOfBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder setAnyOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (anyOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnyOfIsMutable();
          anyOf_.set(index, value);
          onChanged();
        } else {
          anyOfBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder setAnyOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (anyOfBuilder_ == null) {
          ensureAnyOfIsMutable();
          anyOf_.set(index, builderForValue.build());
          onChanged();
        } else {
          anyOfBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder addAnyOf(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (anyOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnyOfIsMutable();
          anyOf_.add(value);
          onChanged();
        } else {
          anyOfBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder addAnyOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (anyOfBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAnyOfIsMutable();
          anyOf_.add(index, value);
          onChanged();
        } else {
          anyOfBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder addAnyOf(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (anyOfBuilder_ == null) {
          ensureAnyOfIsMutable();
          anyOf_.add(builderForValue.build());
          onChanged();
        } else {
          anyOfBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder addAnyOf(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (anyOfBuilder_ == null) {
          ensureAnyOfIsMutable();
          anyOf_.add(index, builderForValue.build());
          onChanged();
        } else {
          anyOfBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder addAllAnyOf(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        if (anyOfBuilder_ == null) {
          ensureAnyOfIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, anyOf_);
          onChanged();
        } else {
          anyOfBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder clearAnyOf() {
        if (anyOfBuilder_ == null) {
          anyOf_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x04000000);
          onChanged();
        } else {
          anyOfBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public Builder removeAnyOf(int index) {
        if (anyOfBuilder_ == null) {
          ensureAnyOfIsMutable();
          anyOf_.remove(index);
          onChanged();
        } else {
          anyOfBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getAnyOfBuilder(
          int index) {
        return getAnyOfFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getAnyOfOrBuilder(
          int index) {
        if (anyOfBuilder_ == null) {
          return anyOf_.get(index);  } else {
          return anyOfBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
           getAnyOfOrBuilderList() {
        if (anyOfBuilder_ != null) {
          return anyOfBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(anyOf_);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addAnyOfBuilder() {
        return getAnyOfFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addAnyOfBuilder(
          int index) {
        return getAnyOfFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps anyOf = 27;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder> 
           getAnyOfBuilderList() {
        return getAnyOfFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getAnyOfFieldBuilder() {
        if (anyOfBuilder_ == null) {
          anyOfBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  anyOf_,
                  ((bitField0_ & 0x04000000) == 0x04000000),
                  getParentForChildren(),
                  isClean());
          anyOf_ = null;
        }
        return anyOfBuilder_;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps not_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> notBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public boolean hasNot() {
        return ((bitField0_ & 0x08000000) == 0x08000000);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getNot() {
        if (notBuilder_ == null) {
          return not_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : not_;
        } else {
          return notBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public Builder setNot(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (notBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          not_ = value;
          onChanged();
        } else {
          notBuilder_.setMessage(value);
        }
        bitField0_ |= 0x08000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public Builder setNot(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (notBuilder_ == null) {
          not_ = builderForValue.build();
          onChanged();
        } else {
          notBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x08000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public Builder mergeNot(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (notBuilder_ == null) {
          if (((bitField0_ & 0x08000000) == 0x08000000) &&
              not_ != null &&
              not_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) {
            not_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder(not_).mergeFrom(value).buildPartial();
          } else {
            not_ = value;
          }
          onChanged();
        } else {
          notBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x08000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public Builder clearNot() {
        if (notBuilder_ == null) {
          not_ = null;
          onChanged();
        } else {
          notBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x08000000);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getNotBuilder() {
        bitField0_ |= 0x08000000;
        onChanged();
        return getNotFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getNotOrBuilder() {
        if (notBuilder_ != null) {
          return notBuilder_.getMessageOrBuilder();
        } else {
          return not_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : not_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps not = 28;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getNotFieldBuilder() {
        if (notBuilder_ == null) {
          notBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  getNot(),
                  getParentForChildren(),
                  isClean());
          not_ = null;
        }
        return notBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> properties_;
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetProperties() {
        if (properties_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        return properties_;
      }
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetMutableProperties() {
        onChanged();;
        if (properties_ == null) {
          properties_ = com.google.protobuf.MapField.newMapField(
              PropertiesDefaultEntryHolder.defaultEntry);
        }
        if (!properties_.isMutable()) {
          properties_ = properties_.copy();
        }
        return properties_;
      }

      public int getPropertiesCount() {
        return internalGetProperties().getMap().size();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public boolean containsProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetProperties().getMap().containsKey(key);
      }
      /**
       * Use {@link #getPropertiesMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getProperties() {
        return getPropertiesMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPropertiesMap() {
        return internalGetProperties().getMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrDefault(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetProperties().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPropertiesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetProperties().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearProperties() {
        internalGetMutableProperties().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public Builder removeProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      getMutableProperties() {
        return internalGetMutableProperties().getMutableMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */
      public Builder putProperties(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableProperties().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; properties = 29;</code>
       */

      public Builder putAllProperties(
          java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        internalGetMutableProperties().getMutableMap()
            .putAll(values);
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool additionalProperties_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder> additionalPropertiesBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public boolean hasAdditionalProperties() {
        return ((bitField0_ & 0x20000000) == 0x20000000);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalProperties() {
        if (additionalPropertiesBuilder_ == null) {
          return additionalProperties_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalProperties_;
        } else {
          return additionalPropertiesBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public Builder setAdditionalProperties(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool value) {
        if (additionalPropertiesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          additionalProperties_ = value;
          onChanged();
        } else {
          additionalPropertiesBuilder_.setMessage(value);
        }
        bitField0_ |= 0x20000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public Builder setAdditionalProperties(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder builderForValue) {
        if (additionalPropertiesBuilder_ == null) {
          additionalProperties_ = builderForValue.build();
          onChanged();
        } else {
          additionalPropertiesBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x20000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public Builder mergeAdditionalProperties(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool value) {
        if (additionalPropertiesBuilder_ == null) {
          if (((bitField0_ & 0x20000000) == 0x20000000) &&
              additionalProperties_ != null &&
              additionalProperties_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance()) {
            additionalProperties_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.newBuilder(additionalProperties_).mergeFrom(value).buildPartial();
          } else {
            additionalProperties_ = value;
          }
          onChanged();
        } else {
          additionalPropertiesBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x20000000;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public Builder clearAdditionalProperties() {
        if (additionalPropertiesBuilder_ == null) {
          additionalProperties_ = null;
          onChanged();
        } else {
          additionalPropertiesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x20000000);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder getAdditionalPropertiesBuilder() {
        bitField0_ |= 0x20000000;
        onChanged();
        return getAdditionalPropertiesFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalPropertiesOrBuilder() {
        if (additionalPropertiesBuilder_ != null) {
          return additionalPropertiesBuilder_.getMessageOrBuilder();
        } else {
          return additionalProperties_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalProperties_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalProperties = 30;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder> 
          getAdditionalPropertiesFieldBuilder() {
        if (additionalPropertiesBuilder_ == null) {
          additionalPropertiesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder>(
                  getAdditionalProperties(),
                  getParentForChildren(),
                  isClean());
          additionalProperties_ = null;
        }
        return additionalPropertiesBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> patternProperties_;
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetPatternProperties() {
        if (patternProperties_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              PatternPropertiesDefaultEntryHolder.defaultEntry);
        }
        return patternProperties_;
      }
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetMutablePatternProperties() {
        onChanged();;
        if (patternProperties_ == null) {
          patternProperties_ = com.google.protobuf.MapField.newMapField(
              PatternPropertiesDefaultEntryHolder.defaultEntry);
        }
        if (!patternProperties_.isMutable()) {
          patternProperties_ = patternProperties_.copy();
        }
        return patternProperties_;
      }

      public int getPatternPropertiesCount() {
        return internalGetPatternProperties().getMap().size();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public boolean containsPatternProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetPatternProperties().getMap().containsKey(key);
      }
      /**
       * Use {@link #getPatternPropertiesMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPatternProperties() {
        return getPatternPropertiesMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getPatternPropertiesMap() {
        return internalGetPatternProperties().getMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrDefault(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetPatternProperties().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getPatternPropertiesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetPatternProperties().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearPatternProperties() {
        internalGetMutablePatternProperties().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public Builder removePatternProperties(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutablePatternProperties().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      getMutablePatternProperties() {
        return internalGetMutablePatternProperties().getMutableMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */
      public Builder putPatternProperties(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutablePatternProperties().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; patternProperties = 31;</code>
       */

      public Builder putAllPatternProperties(
          java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        internalGetMutablePatternProperties().getMutableMap()
            .putAll(values);
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> dependencies_;
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
      internalGetDependencies() {
        if (dependencies_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DependenciesDefaultEntryHolder.defaultEntry);
        }
        return dependencies_;
      }
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
      internalGetMutableDependencies() {
        onChanged();;
        if (dependencies_ == null) {
          dependencies_ = com.google.protobuf.MapField.newMapField(
              DependenciesDefaultEntryHolder.defaultEntry);
        }
        if (!dependencies_.isMutable()) {
          dependencies_ = dependencies_.copy();
        }
        return dependencies_;
      }

      public int getDependenciesCount() {
        return internalGetDependencies().getMap().size();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public boolean containsDependencies(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetDependencies().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDependenciesMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> getDependencies() {
        return getDependenciesMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> getDependenciesMap() {
        return internalGetDependencies().getMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrDefault(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> map =
            internalGetDependencies().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDependenciesOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> map =
            internalGetDependencies().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearDependencies() {
        internalGetMutableDependencies().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public Builder removeDependencies(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDependencies().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray>
      getMutableDependencies() {
        return internalGetMutableDependencies().getMutableMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */
      public Builder putDependencies(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDependencies().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray&gt; dependencies = 32;</code>
       */

      public Builder putAllDependencies(
          java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray> values) {
        internalGetMutableDependencies().getMutableMap()
            .putAll(values);
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool additionalItems_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder> additionalItemsBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public boolean hasAdditionalItems() {
        return ((bitField1_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getAdditionalItems() {
        if (additionalItemsBuilder_ == null) {
          return additionalItems_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalItems_;
        } else {
          return additionalItemsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public Builder setAdditionalItems(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool value) {
        if (additionalItemsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          additionalItems_ = value;
          onChanged();
        } else {
          additionalItemsBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public Builder setAdditionalItems(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder builderForValue) {
        if (additionalItemsBuilder_ == null) {
          additionalItems_ = builderForValue.build();
          onChanged();
        } else {
          additionalItemsBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public Builder mergeAdditionalItems(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool value) {
        if (additionalItemsBuilder_ == null) {
          if (((bitField1_ & 0x00000001) == 0x00000001) &&
              additionalItems_ != null &&
              additionalItems_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance()) {
            additionalItems_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.newBuilder(additionalItems_).mergeFrom(value).buildPartial();
          } else {
            additionalItems_ = value;
          }
          onChanged();
        } else {
          additionalItemsBuilder_.mergeFrom(value);
        }
        bitField1_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public Builder clearAdditionalItems() {
        if (additionalItemsBuilder_ == null) {
          additionalItems_ = null;
          onChanged();
        } else {
          additionalItemsBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder getAdditionalItemsBuilder() {
        bitField1_ |= 0x00000001;
        onChanged();
        return getAdditionalItemsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder getAdditionalItemsOrBuilder() {
        if (additionalItemsBuilder_ != null) {
          return additionalItemsBuilder_.getMessageOrBuilder();
        } else {
          return additionalItems_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance() : additionalItems_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool additionalItems = 33;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder> 
          getAdditionalItemsFieldBuilder() {
        if (additionalItemsBuilder_ == null) {
          additionalItemsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder>(
                  getAdditionalItems(),
                  getParentForChildren(),
                  isClean());
          additionalItems_ = null;
        }
        return additionalItemsBuilder_;
      }

      private com.google.protobuf.MapField<
          java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> definitions_;
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetDefinitions() {
        if (definitions_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DefinitionsDefaultEntryHolder.defaultEntry);
        }
        return definitions_;
      }
      private com.google.protobuf.MapField<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      internalGetMutableDefinitions() {
        onChanged();;
        if (definitions_ == null) {
          definitions_ = com.google.protobuf.MapField.newMapField(
              DefinitionsDefaultEntryHolder.defaultEntry);
        }
        if (!definitions_.isMutable()) {
          definitions_ = definitions_.copy();
        }
        return definitions_;
      }

      public int getDefinitionsCount() {
        return internalGetDefinitions().getMap().size();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public boolean containsDefinitions(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        return internalGetDefinitions().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDefinitionsMap()} instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getDefinitions() {
        return getDefinitionsMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getDefinitionsMap() {
        return internalGetDefinitions().getMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrDefault(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps defaultValue) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetDefinitions().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefinitionsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> map =
            internalGetDefinitions().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearDefinitions() {
        internalGetMutableDefinitions().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public Builder removeDefinitions(
          java.lang.String key) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDefinitions().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>
      getMutableDefinitions() {
        return internalGetMutableDefinitions().getMutableMap();
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */
      public Builder putDefinitions(
          java.lang.String key,
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (key == null) { throw new java.lang.NullPointerException(); }
        if (value == null) { throw new java.lang.NullPointerException(); }
        internalGetMutableDefinitions().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps&gt; definitions = 34;</code>
       */

      public Builder putAllDefinitions(
          java.util.Map<java.lang.String, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        internalGetMutableDefinitions().getMutableMap()
            .putAll(values);
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation externalDocs_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder> externalDocsBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public boolean hasExternalDocs() {
        return ((bitField1_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation getExternalDocs() {
        if (externalDocsBuilder_ == null) {
          return externalDocs_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance() : externalDocs_;
        } else {
          return externalDocsBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public Builder setExternalDocs(io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation value) {
        if (externalDocsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          externalDocs_ = value;
          onChanged();
        } else {
          externalDocsBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public Builder setExternalDocs(
          io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder builderForValue) {
        if (externalDocsBuilder_ == null) {
          externalDocs_ = builderForValue.build();
          onChanged();
        } else {
          externalDocsBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public Builder mergeExternalDocs(io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation value) {
        if (externalDocsBuilder_ == null) {
          if (((bitField1_ & 0x00000004) == 0x00000004) &&
              externalDocs_ != null &&
              externalDocs_ != io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance()) {
            externalDocs_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.newBuilder(externalDocs_).mergeFrom(value).buildPartial();
          } else {
            externalDocs_ = value;
          }
          onChanged();
        } else {
          externalDocsBuilder_.mergeFrom(value);
        }
        bitField1_ |= 0x00000004;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public Builder clearExternalDocs() {
        if (externalDocsBuilder_ == null) {
          externalDocs_ = null;
          onChanged();
        } else {
          externalDocsBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000004);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder getExternalDocsBuilder() {
        bitField1_ |= 0x00000004;
        onChanged();
        return getExternalDocsFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder getExternalDocsOrBuilder() {
        if (externalDocsBuilder_ != null) {
          return externalDocsBuilder_.getMessageOrBuilder();
        } else {
          return externalDocs_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.getDefaultInstance() : externalDocs_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.ExternalDocumentation externalDocs = 35;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder> 
          getExternalDocsFieldBuilder() {
        if (externalDocsBuilder_ == null) {
          externalDocsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentation.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.ExternalDocumentationOrBuilder>(
                  getExternalDocs(),
                  getParentForChildren(),
                  isClean());
          externalDocs_ = null;
        }
        return externalDocsBuilder_;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSON example_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> exampleBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public boolean hasExample() {
        return ((bitField1_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON getExample() {
        if (exampleBuilder_ == null) {
          return example_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : example_;
        } else {
          return exampleBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public Builder setExample(io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (exampleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          example_ = value;
          onChanged();
        } else {
          exampleBuilder_.setMessage(value);
        }
        bitField1_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public Builder setExample(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder builderForValue) {
        if (exampleBuilder_ == null) {
          example_ = builderForValue.build();
          onChanged();
        } else {
          exampleBuilder_.setMessage(builderForValue.build());
        }
        bitField1_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public Builder mergeExample(io.kubernetes.client.proto.V1beta1Apiextensions.JSON value) {
        if (exampleBuilder_ == null) {
          if (((bitField1_ & 0x00000008) == 0x00000008) &&
              example_ != null &&
              example_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance()) {
            example_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.newBuilder(example_).mergeFrom(value).buildPartial();
          } else {
            example_ = value;
          }
          onChanged();
        } else {
          exampleBuilder_.mergeFrom(value);
        }
        bitField1_ |= 0x00000008;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public Builder clearExample() {
        if (exampleBuilder_ == null) {
          example_ = null;
          onChanged();
        } else {
          exampleBuilder_.clear();
        }
        bitField1_ = (bitField1_ & ~0x00000008);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder getExampleBuilder() {
        bitField1_ |= 0x00000008;
        onChanged();
        return getExampleFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder getExampleOrBuilder() {
        if (exampleBuilder_ != null) {
          return exampleBuilder_.getMessageOrBuilder();
        } else {
          return example_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON.getDefaultInstance() : example_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSON example = 36;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder> 
          getExampleFieldBuilder() {
        if (exampleBuilder_ == null) {
          exampleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSON, io.kubernetes.client.proto.V1beta1Apiextensions.JSON.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONOrBuilder>(
                  getExample(),
                  getParentForChildren(),
                  isClean());
          example_ = null;
        }
        return exampleBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<JSONSchemaProps>
        PARSER = new com.google.protobuf.AbstractParser<JSONSchemaProps>() {
      public JSONSchemaProps parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new JSONSchemaProps(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<JSONSchemaProps> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<JSONSchemaProps> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JSONSchemaPropsOrArrayOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    boolean hasSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder();

    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> 
        getJSONSchemasList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getJSONSchemas(int index);
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    int getJSONSchemasCount();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getJSONSchemasOrBuilderList();
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getJSONSchemasOrBuilder(
        int index);
  }
  /**
   * <pre>
   * JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps
   * or an array of JSONSchemaProps. Mainly here for serialization purposes.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray}
   */
  public  static final class JSONSchemaPropsOrArray extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray)
      JSONSchemaPropsOrArrayOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JSONSchemaPropsOrArray.newBuilder() to construct.
    private JSONSchemaPropsOrArray(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private JSONSchemaPropsOrArray() {
      jSONSchemas_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private JSONSchemaPropsOrArray(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = schema_.toBuilder();
              }
              schema_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(schema_);
                schema_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                jSONSchemas_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>();
                mutable_bitField0_ |= 0x00000002;
              }
              jSONSchemas_.add(
                  input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          jSONSchemas_ = java.util.Collections.unmodifiableList(jSONSchemas_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder.class);
    }

    private int bitField0_;
    public static final int SCHEMA_FIELD_NUMBER = 1;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }

    public static final int JSONSCHEMAS_FIELD_NUMBER = 2;
    private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> jSONSchemas_;
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getJSONSchemasList() {
      return jSONSchemas_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
        getJSONSchemasOrBuilderList() {
      return jSONSchemas_;
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    public int getJSONSchemasCount() {
      return jSONSchemas_.size();
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getJSONSchemas(int index) {
      return jSONSchemas_.get(index);
    }
    /**
     * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getJSONSchemasOrBuilder(
        int index) {
      return jSONSchemas_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getSchema());
      }
      for (int i = 0; i < jSONSchemas_.size(); i++) {
        output.writeMessage(2, jSONSchemas_.get(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getSchema());
      }
      for (int i = 0; i < jSONSchemas_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, jSONSchemas_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray other = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray) obj;

      boolean result = true;
      result = result && (hasSchema() == other.hasSchema());
      if (hasSchema()) {
        result = result && getSchema()
            .equals(other.getSchema());
      }
      result = result && getJSONSchemasList()
          .equals(other.getJSONSchemasList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSchema()) {
        hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
        hash = (53 * hash) + getSchema().hashCode();
      }
      if (getJSONSchemasCount() > 0) {
        hash = (37 * hash) + JSONSCHEMAS_FIELD_NUMBER;
        hash = (53 * hash) + getJSONSchemasList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps
     * or an array of JSONSchemaProps. Mainly here for serialization purposes.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray)
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArrayOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSchemaFieldBuilder();
          getJSONSchemasFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (schemaBuilder_ == null) {
          schema_ = null;
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (jSONSchemasBuilder_ == null) {
          jSONSchemas_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          jSONSchemasBuilder_.clear();
        }
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray result = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (schemaBuilder_ == null) {
          result.schema_ = schema_;
        } else {
          result.schema_ = schemaBuilder_.build();
        }
        if (jSONSchemasBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            jSONSchemas_ = java.util.Collections.unmodifiableList(jSONSchemas_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.jSONSchemas_ = jSONSchemas_;
        } else {
          result.jSONSchemas_ = jSONSchemasBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray.getDefaultInstance()) return this;
        if (other.hasSchema()) {
          mergeSchema(other.getSchema());
        }
        if (jSONSchemasBuilder_ == null) {
          if (!other.jSONSchemas_.isEmpty()) {
            if (jSONSchemas_.isEmpty()) {
              jSONSchemas_ = other.jSONSchemas_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureJSONSchemasIsMutable();
              jSONSchemas_.addAll(other.jSONSchemas_);
            }
            onChanged();
          }
        } else {
          if (!other.jSONSchemas_.isEmpty()) {
            if (jSONSchemasBuilder_.isEmpty()) {
              jSONSchemasBuilder_.dispose();
              jSONSchemasBuilder_ = null;
              jSONSchemas_ = other.jSONSchemas_;
              bitField0_ = (bitField0_ & ~0x00000002);
              jSONSchemasBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getJSONSchemasFieldBuilder() : null;
            } else {
              jSONSchemasBuilder_.addAllMessages(other.jSONSchemas_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> schemaBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
        if (schemaBuilder_ == null) {
          return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        } else {
          return schemaBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder setSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          schema_ = value;
          onChanged();
        } else {
          schemaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder setSchema(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (schemaBuilder_ == null) {
          schema_ = builderForValue.build();
          onChanged();
        } else {
          schemaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder mergeSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              schema_ != null &&
              schema_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) {
            schema_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder(schema_).mergeFrom(value).buildPartial();
          } else {
            schema_ = value;
          }
          onChanged();
        } else {
          schemaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder clearSchema() {
        if (schemaBuilder_ == null) {
          schema_ = null;
          onChanged();
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getSchemaBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getSchemaFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
        if (schemaBuilder_ != null) {
          return schemaBuilder_.getMessageOrBuilder();
        } else {
          return schema_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getSchemaFieldBuilder() {
        if (schemaBuilder_ == null) {
          schemaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  getSchema(),
                  getParentForChildren(),
                  isClean());
          schema_ = null;
        }
        return schemaBuilder_;
      }

      private java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> jSONSchemas_ =
        java.util.Collections.emptyList();
      private void ensureJSONSchemasIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          jSONSchemas_ = new java.util.ArrayList<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps>(jSONSchemas_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> jSONSchemasBuilder_;

      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> getJSONSchemasList() {
        if (jSONSchemasBuilder_ == null) {
          return java.util.Collections.unmodifiableList(jSONSchemas_);
        } else {
          return jSONSchemasBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public int getJSONSchemasCount() {
        if (jSONSchemasBuilder_ == null) {
          return jSONSchemas_.size();
        } else {
          return jSONSchemasBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getJSONSchemas(int index) {
        if (jSONSchemasBuilder_ == null) {
          return jSONSchemas_.get(index);
        } else {
          return jSONSchemasBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder setJSONSchemas(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (jSONSchemasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureJSONSchemasIsMutable();
          jSONSchemas_.set(index, value);
          onChanged();
        } else {
          jSONSchemasBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder setJSONSchemas(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (jSONSchemasBuilder_ == null) {
          ensureJSONSchemasIsMutable();
          jSONSchemas_.set(index, builderForValue.build());
          onChanged();
        } else {
          jSONSchemasBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder addJSONSchemas(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (jSONSchemasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureJSONSchemasIsMutable();
          jSONSchemas_.add(value);
          onChanged();
        } else {
          jSONSchemasBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder addJSONSchemas(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (jSONSchemasBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureJSONSchemasIsMutable();
          jSONSchemas_.add(index, value);
          onChanged();
        } else {
          jSONSchemasBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder addJSONSchemas(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (jSONSchemasBuilder_ == null) {
          ensureJSONSchemasIsMutable();
          jSONSchemas_.add(builderForValue.build());
          onChanged();
        } else {
          jSONSchemasBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder addJSONSchemas(
          int index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (jSONSchemasBuilder_ == null) {
          ensureJSONSchemasIsMutable();
          jSONSchemas_.add(index, builderForValue.build());
          onChanged();
        } else {
          jSONSchemasBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder addAllJSONSchemas(
          java.lang.Iterable<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps> values) {
        if (jSONSchemasBuilder_ == null) {
          ensureJSONSchemasIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, jSONSchemas_);
          onChanged();
        } else {
          jSONSchemasBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder clearJSONSchemas() {
        if (jSONSchemasBuilder_ == null) {
          jSONSchemas_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          jSONSchemasBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public Builder removeJSONSchemas(int index) {
        if (jSONSchemasBuilder_ == null) {
          ensureJSONSchemasIsMutable();
          jSONSchemas_.remove(index);
          onChanged();
        } else {
          jSONSchemasBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getJSONSchemasBuilder(
          int index) {
        return getJSONSchemasFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getJSONSchemasOrBuilder(
          int index) {
        if (jSONSchemasBuilder_ == null) {
          return jSONSchemas_.get(index);  } else {
          return jSONSchemasBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public java.util.List<? extends io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
           getJSONSchemasOrBuilderList() {
        if (jSONSchemasBuilder_ != null) {
          return jSONSchemasBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(jSONSchemas_);
        }
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addJSONSchemasBuilder() {
        return getJSONSchemasFieldBuilder().addBuilder(
            io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder addJSONSchemasBuilder(
          int index) {
        return getJSONSchemasFieldBuilder().addBuilder(
            index, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance());
      }
      /**
       * <code>repeated .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps jSONSchemas = 2;</code>
       */
      public java.util.List<io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder> 
           getJSONSchemasBuilderList() {
        return getJSONSchemasFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getJSONSchemasFieldBuilder() {
        if (jSONSchemasBuilder_ == null) {
          jSONSchemasBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  jSONSchemas_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          jSONSchemas_ = null;
        }
        return jSONSchemasBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrArray)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<JSONSchemaPropsOrArray>
        PARSER = new com.google.protobuf.AbstractParser<JSONSchemaPropsOrArray>() {
      public JSONSchemaPropsOrArray parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new JSONSchemaPropsOrArray(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<JSONSchemaPropsOrArray> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<JSONSchemaPropsOrArray> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrArray getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JSONSchemaPropsOrBoolOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional bool allows = 1;</code>
     */
    boolean hasAllows();
    /**
     * <code>optional bool allows = 1;</code>
     */
    boolean getAllows();

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    boolean hasSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder();
  }
  /**
   * <pre>
   * JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value.
   * Defaults to true for the boolean property.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool}
   */
  public  static final class JSONSchemaPropsOrBool extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool)
      JSONSchemaPropsOrBoolOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JSONSchemaPropsOrBool.newBuilder() to construct.
    private JSONSchemaPropsOrBool(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private JSONSchemaPropsOrBool() {
      allows_ = false;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private JSONSchemaPropsOrBool(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              allows_ = input.readBool();
              break;
            }
            case 18: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = schema_.toBuilder();
              }
              schema_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(schema_);
                schema_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder.class);
    }

    private int bitField0_;
    public static final int ALLOWS_FIELD_NUMBER = 1;
    private boolean allows_;
    /**
     * <code>optional bool allows = 1;</code>
     */
    public boolean hasAllows() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional bool allows = 1;</code>
     */
    public boolean getAllows() {
      return allows_;
    }

    public static final int SCHEMA_FIELD_NUMBER = 2;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, allows_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, getSchema());
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, allows_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getSchema());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool other = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool) obj;

      boolean result = true;
      result = result && (hasAllows() == other.hasAllows());
      if (hasAllows()) {
        result = result && (getAllows()
            == other.getAllows());
      }
      result = result && (hasSchema() == other.hasSchema());
      if (hasSchema()) {
        result = result && getSchema()
            .equals(other.getSchema());
      }
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasAllows()) {
        hash = (37 * hash) + ALLOWS_FIELD_NUMBER;
        hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
            getAllows());
      }
      if (hasSchema()) {
        hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
        hash = (53 * hash) + getSchema().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value.
     * Defaults to true for the boolean property.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool)
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBoolOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSchemaFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        allows_ = false;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (schemaBuilder_ == null) {
          schema_ = null;
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool result = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.allows_ = allows_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (schemaBuilder_ == null) {
          result.schema_ = schema_;
        } else {
          result.schema_ = schemaBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool.getDefaultInstance()) return this;
        if (other.hasAllows()) {
          setAllows(other.getAllows());
        }
        if (other.hasSchema()) {
          mergeSchema(other.getSchema());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private boolean allows_ ;
      /**
       * <code>optional bool allows = 1;</code>
       */
      public boolean hasAllows() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional bool allows = 1;</code>
       */
      public boolean getAllows() {
        return allows_;
      }
      /**
       * <code>optional bool allows = 1;</code>
       */
      public Builder setAllows(boolean value) {
        bitField0_ |= 0x00000001;
        allows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool allows = 1;</code>
       */
      public Builder clearAllows() {
        bitField0_ = (bitField0_ & ~0x00000001);
        allows_ = false;
        onChanged();
        return this;
      }

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> schemaBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
        if (schemaBuilder_ == null) {
          return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        } else {
          return schemaBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public Builder setSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          schema_ = value;
          onChanged();
        } else {
          schemaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public Builder setSchema(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (schemaBuilder_ == null) {
          schema_ = builderForValue.build();
          onChanged();
        } else {
          schemaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public Builder mergeSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              schema_ != null &&
              schema_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) {
            schema_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder(schema_).mergeFrom(value).buildPartial();
          } else {
            schema_ = value;
          }
          onChanged();
        } else {
          schemaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public Builder clearSchema() {
        if (schemaBuilder_ == null) {
          schema_ = null;
          onChanged();
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getSchemaBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getSchemaFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
        if (schemaBuilder_ != null) {
          return schemaBuilder_.getMessageOrBuilder();
        } else {
          return schema_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getSchemaFieldBuilder() {
        if (schemaBuilder_ == null) {
          schemaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  getSchema(),
                  getParentForChildren(),
                  isClean());
          schema_ = null;
        }
        return schemaBuilder_;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrBool)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<JSONSchemaPropsOrBool>
        PARSER = new com.google.protobuf.AbstractParser<JSONSchemaPropsOrBool>() {
      public JSONSchemaPropsOrBool parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new JSONSchemaPropsOrBool(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<JSONSchemaPropsOrBool> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<JSONSchemaPropsOrBool> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBool getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface JSONSchemaPropsOrStringArrayOrBuilder extends
      // @@protoc_insertion_point(interface_extends:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    boolean hasSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema();
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder();

    /**
     * <code>repeated string property = 2;</code>
     */
    java.util.List<java.lang.String>
        getPropertyList();
    /**
     * <code>repeated string property = 2;</code>
     */
    int getPropertyCount();
    /**
     * <code>repeated string property = 2;</code>
     */
    java.lang.String getProperty(int index);
    /**
     * <code>repeated string property = 2;</code>
     */
    com.google.protobuf.ByteString
        getPropertyBytes(int index);
  }
  /**
   * <pre>
   * JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array.
   * </pre>
   *
   * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray}
   */
  public  static final class JSONSchemaPropsOrStringArray extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray)
      JSONSchemaPropsOrStringArrayOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use JSONSchemaPropsOrStringArray.newBuilder() to construct.
    private JSONSchemaPropsOrStringArray(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private JSONSchemaPropsOrStringArray() {
      property_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private JSONSchemaPropsOrStringArray(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = schema_.toBuilder();
              }
              schema_ = input.readMessage(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(schema_);
                schema_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                property_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              property_.add(bs);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          property_ = property_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.Builder.class);
    }

    private int bitField0_;
    public static final int SCHEMA_FIELD_NUMBER = 1;
    private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_;
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public boolean hasSchema() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }
    /**
     * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
     */
    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
      return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
    }

    public static final int PROPERTY_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList property_;
    /**
     * <code>repeated string property = 2;</code>
     */
    public com.google.protobuf.ProtocolStringList
        getPropertyList() {
      return property_;
    }
    /**
     * <code>repeated string property = 2;</code>
     */
    public int getPropertyCount() {
      return property_.size();
    }
    /**
     * <code>repeated string property = 2;</code>
     */
    public java.lang.String getProperty(int index) {
      return property_.get(index);
    }
    /**
     * <code>repeated string property = 2;</code>
     */
    public com.google.protobuf.ByteString
        getPropertyBytes(int index) {
      return property_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, getSchema());
      }
      for (int i = 0; i < property_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, property_.getRaw(i));
      }
      unknownFields.writeTo(output);
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getSchema());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < property_.size(); i++) {
          dataSize += computeStringSizeNoTag(property_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getPropertyList().size();
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray)) {
        return super.equals(obj);
      }
      io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray other = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray) obj;

      boolean result = true;
      result = result && (hasSchema() == other.hasSchema());
      if (hasSchema()) {
        result = result && getSchema()
            .equals(other.getSchema());
      }
      result = result && getPropertyList()
          .equals(other.getPropertyList());
      result = result && unknownFields.equals(other.unknownFields);
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSchema()) {
        hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
        hash = (53 * hash) + getSchema().hashCode();
      }
      if (getPropertyCount() > 0) {
        hash = (37 * hash) + PROPERTY_FIELD_NUMBER;
        hash = (53 * hash) + getPropertyList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array.
     * </pre>
     *
     * Protobuf type {@code k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray)
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArrayOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.class, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.Builder.class);
      }

      // Construct using io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSchemaFieldBuilder();
        }
      }
      public Builder clear() {
        super.clear();
        if (schemaBuilder_ == null) {
          schema_ = null;
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        property_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDefaultInstanceForType() {
        return io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.getDefaultInstance();
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray build() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray buildPartial() {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray result = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (schemaBuilder_ == null) {
          result.schema_ = schema_;
        } else {
          result.schema_ = schemaBuilder_.build();
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          property_ = property_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.property_ = property_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return (Builder) super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return (Builder) super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return (Builder) super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return (Builder) super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return (Builder) super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray) {
          return mergeFrom((io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray other) {
        if (other == io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray.getDefaultInstance()) return this;
        if (other.hasSchema()) {
          mergeSchema(other.getSchema());
        }
        if (!other.property_.isEmpty()) {
          if (property_.isEmpty()) {
            property_ = other.property_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensurePropertyIsMutable();
            property_.addAll(other.property_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps schema_ = null;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> schemaBuilder_;
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public boolean hasSchema() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps getSchema() {
        if (schemaBuilder_ == null) {
          return schema_ == null ? io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        } else {
          return schemaBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder setSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          schema_ = value;
          onChanged();
        } else {
          schemaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder setSchema(
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder builderForValue) {
        if (schemaBuilder_ == null) {
          schema_ = builderForValue.build();
          onChanged();
        } else {
          schemaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder mergeSchema(io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps value) {
        if (schemaBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              schema_ != null &&
              schema_ != io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance()) {
            schema_ =
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.newBuilder(schema_).mergeFrom(value).buildPartial();
          } else {
            schema_ = value;
          }
          onChanged();
        } else {
          schemaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public Builder clearSchema() {
        if (schemaBuilder_ == null) {
          schema_ = null;
          onChanged();
        } else {
          schemaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder getSchemaBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getSchemaFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder getSchemaOrBuilder() {
        if (schemaBuilder_ != null) {
          return schemaBuilder_.getMessageOrBuilder();
        } else {
          return schema_ == null ?
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.getDefaultInstance() : schema_;
        }
      }
      /**
       * <code>optional .k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaProps schema = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder> 
          getSchemaFieldBuilder() {
        if (schemaBuilder_ == null) {
          schemaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaProps.Builder, io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrBuilder>(
                  getSchema(),
                  getParentForChildren(),
                  isClean());
          schema_ = null;
        }
        return schemaBuilder_;
      }

      private com.google.protobuf.LazyStringList property_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensurePropertyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          property_ = new com.google.protobuf.LazyStringArrayList(property_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public com.google.protobuf.ProtocolStringList
          getPropertyList() {
        return property_.getUnmodifiableView();
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public int getPropertyCount() {
        return property_.size();
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public java.lang.String getProperty(int index) {
        return property_.get(index);
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public com.google.protobuf.ByteString
          getPropertyBytes(int index) {
        return property_.getByteString(index);
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public Builder setProperty(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensurePropertyIsMutable();
        property_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public Builder addProperty(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensurePropertyIsMutable();
        property_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public Builder addAllProperty(
          java.lang.Iterable<java.lang.String> values) {
        ensurePropertyIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, property_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public Builder clearProperty() {
        property_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string property = 2;</code>
       */
      public Builder addPropertyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensurePropertyIsMutable();
        property_.add(value);
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray)
    }

    // @@protoc_insertion_point(class_scope:k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1.JSONSchemaPropsOrStringArray)
    private static final io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray();
    }

    public static io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    @java.lang.Deprecated public static final com.google.protobuf.Parser<JSONSchemaPropsOrStringArray>
        PARSER = new com.google.protobuf.AbstractParser<JSONSchemaPropsOrStringArray>() {
      public JSONSchemaPropsOrStringArray parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
          return new JSONSchemaPropsOrStringArray(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<JSONSchemaPropsOrStringArray> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<JSONSchemaPropsOrStringArray> getParserForType() {
      return PARSER;
    }

    public io.kubernetes.client.proto.V1beta1Apiextensions.JSONSchemaPropsOrStringArray getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\nMk8s.io/apiextensions-apiserver/pkg/api" +
      "s/apiextensions/v1beta1/generated.proto\022" +
      "=k8s.io.apiextensions_apiserver.pkg.apis" +
      ".apiextensions.v1beta1\0324k8s.io/apimachin" +
      "ery/pkg/apis/meta/v1/generated.proto\032/k8" +
      "s.io/apimachinery/pkg/runtime/generated." +
      "proto\0326k8s.io/apimachinery/pkg/runtime/s" +
      "chema/generated.proto\0323k8s.io/apimachine" +
      "ry/pkg/util/intstr/generated.proto\"\270\002\n\030C" +
      "ustomResourceDefinition\022B\n\010metadata\030\001 \001(",
      "\01320.k8s.io.apimachinery.pkg.apis.meta.v1" +
      ".ObjectMeta\022i\n\004spec\030\002 \001(\0132[.k8s.io.apiex" +
      "tensions_apiserver.pkg.apis.apiextension" +
      "s.v1beta1.CustomResourceDefinitionSpec\022m" +
      "\n\006status\030\003 \001(\0132].k8s.io.apiextensions_ap" +
      "iserver.pkg.apis.apiextensions.v1beta1.C" +
      "ustomResourceDefinitionStatus\"\252\001\n!Custom" +
      "ResourceDefinitionCondition\022\014\n\004type\030\001 \001(" +
      "\t\022\016\n\006status\030\002 \001(\t\022F\n\022lastTransitionTime\030" +
      "\003 \001(\0132*.k8s.io.apimachinery.pkg.apis.met",
      "a.v1.Time\022\016\n\006reason\030\004 \001(\t\022\017\n\007message\030\005 \001" +
      "(\t\"\310\001\n\034CustomResourceDefinitionList\022@\n\010m" +
      "etadata\030\001 \001(\0132..k8s.io.apimachinery.pkg." +
      "apis.meta.v1.ListMeta\022f\n\005items\030\002 \003(\0132W.k" +
      "8s.io.apiextensions_apiserver.pkg.apis.a" +
      "piextensions.v1beta1.CustomResourceDefin" +
      "ition\"u\n\035CustomResourceDefinitionNames\022\016" +
      "\n\006plural\030\001 \001(\t\022\020\n\010singular\030\002 \001(\t\022\022\n\nshor" +
      "tNames\030\003 \003(\t\022\014\n\004kind\030\004 \001(\t\022\020\n\010listKind\030\005" +
      " \001(\t\"\247\002\n\034CustomResourceDefinitionSpec\022\r\n",
      "\005group\030\001 \001(\t\022\017\n\007version\030\002 \001(\t\022k\n\005names\030\003" +
      " \001(\0132\\.k8s.io.apiextensions_apiserver.pk" +
      "g.apis.apiextensions.v1beta1.CustomResou" +
      "rceDefinitionNames\022\r\n\005scope\030\004 \001(\t\022k\n\nval" +
      "idation\030\005 \001(\0132W.k8s.io.apiextensions_api" +
      "server.pkg.apis.apiextensions.v1beta1.Cu" +
      "stomResourceValidation\"\213\002\n\036CustomResourc" +
      "eDefinitionStatus\022t\n\nconditions\030\001 \003(\0132`." +
      "k8s.io.apiextensions_apiserver.pkg.apis." +
      "apiextensions.v1beta1.CustomResourceDefi",
      "nitionCondition\022s\n\racceptedNames\030\002 \001(\0132\\" +
      ".k8s.io.apiextensions_apiserver.pkg.apis" +
      ".apiextensions.v1beta1.CustomResourceDef" +
      "initionNames\"\203\001\n\030CustomResourceValidatio" +
      "n\022g\n\017openAPIV3Schema\030\001 \001(\0132N.k8s.io.apie" +
      "xtensions_apiserver.pkg.apis.apiextensio" +
      "ns.v1beta1.JSONSchemaProps\"9\n\025ExternalDo" +
      "cumentation\022\023\n\013description\030\001 \001(\t\022\013\n\003url\030" +
      "\002 \001(\t\"\023\n\004JSON\022\013\n\003raw\030\001 \001(\014\"\320\023\n\017JSONSchem" +
      "aProps\022\n\n\002id\030\001 \001(\t\022\016\n\006schema\030\002 \001(\t\022\013\n\003re",
      "f\030\003 \001(\t\022\023\n\013description\030\004 \001(\t\022\014\n\004type\030\005 \001" +
      "(\t\022\016\n\006format\030\006 \001(\t\022\r\n\005title\030\007 \001(\t\022T\n\007def" +
      "ault\030\010 \001(\0132C.k8s.io.apiextensions_apiser" +
      "ver.pkg.apis.apiextensions.v1beta1.JSON\022" +
      "\017\n\007maximum\030\t \001(\001\022\030\n\020exclusiveMaximum\030\n \001" +
      "(\010\022\017\n\007minimum\030\013 \001(\001\022\030\n\020exclusiveMinimum\030" +
      "\014 \001(\010\022\021\n\tmaxLength\030\r \001(\003\022\021\n\tminLength\030\016 " +
      "\001(\003\022\017\n\007pattern\030\017 \001(\t\022\020\n\010maxItems\030\020 \001(\003\022\020" +
      "\n\010minItems\030\021 \001(\003\022\023\n\013uniqueItems\030\022 \001(\010\022\022\n" +
      "\nmultipleOf\030\023 \001(\001\022Q\n\004enum\030\024 \003(\0132C.k8s.io",
      ".apiextensions_apiserver.pkg.apis.apiext" +
      "ensions.v1beta1.JSON\022\025\n\rmaxProperties\030\025 " +
      "\001(\003\022\025\n\rminProperties\030\026 \001(\003\022\020\n\010required\030\027" +
      " \003(\t\022d\n\005items\030\030 \001(\0132U.k8s.io.apiextensio" +
      "ns_apiserver.pkg.apis.apiextensions.v1be" +
      "ta1.JSONSchemaPropsOrArray\022]\n\005allOf\030\031 \003(" +
      "\0132N.k8s.io.apiextensions_apiserver.pkg.a" +
      "pis.apiextensions.v1beta1.JSONSchemaProp" +
      "s\022]\n\005oneOf\030\032 \003(\0132N.k8s.io.apiextensions_" +
      "apiserver.pkg.apis.apiextensions.v1beta1",
      ".JSONSchemaProps\022]\n\005anyOf\030\033 \003(\0132N.k8s.io" +
      ".apiextensions_apiserver.pkg.apis.apiext" +
      "ensions.v1beta1.JSONSchemaProps\022[\n\003not\030\034" +
      " \001(\0132N.k8s.io.apiextensions_apiserver.pk" +
      "g.apis.apiextensions.v1beta1.JSONSchemaP" +
      "rops\022r\n\nproperties\030\035 \003(\0132^.k8s.io.apiext" +
      "ensions_apiserver.pkg.apis.apiextensions" +
      ".v1beta1.JSONSchemaProps.PropertiesEntry" +
      "\022r\n\024additionalProperties\030\036 \001(\0132T.k8s.io." +
      "apiextensions_apiserver.pkg.apis.apiexte",
      "nsions.v1beta1.JSONSchemaPropsOrBool\022\200\001\n" +
      "\021patternProperties\030\037 \003(\0132e.k8s.io.apiext" +
      "ensions_apiserver.pkg.apis.apiextensions" +
      ".v1beta1.JSONSchemaProps.PatternProperti" +
      "esEntry\022v\n\014dependencies\030  \003(\0132`.k8s.io.a" +
      "piextensions_apiserver.pkg.apis.apiexten" +
      "sions.v1beta1.JSONSchemaProps.Dependenci" +
      "esEntry\022m\n\017additionalItems\030! \001(\0132T.k8s.i" +
      "o.apiextensions_apiserver.pkg.apis.apiex" +
      "tensions.v1beta1.JSONSchemaPropsOrBool\022t",
      "\n\013definitions\030\" \003(\0132_.k8s.io.apiextensio" +
      "ns_apiserver.pkg.apis.apiextensions.v1be" +
      "ta1.JSONSchemaProps.DefinitionsEntry\022j\n\014" +
      "externalDocs\030# \001(\0132T.k8s.io.apiextension" +
      "s_apiserver.pkg.apis.apiextensions.v1bet" +
      "a1.ExternalDocumentation\022T\n\007example\030$ \001(" +
      "\0132C.k8s.io.apiextensions_apiserver.pkg.a" +
      "pis.apiextensions.v1beta1.JSON\032\201\001\n\017Prope" +
      "rtiesEntry\022\013\n\003key\030\001 \001(\t\022]\n\005value\030\002 \001(\0132N" +
      ".k8s.io.apiextensions_apiserver.pkg.apis",
      ".apiextensions.v1beta1.JSONSchemaProps:\002" +
      "8\001\032\210\001\n\026PatternPropertiesEntry\022\013\n\003key\030\001 \001" +
      "(\t\022]\n\005value\030\002 \001(\0132N.k8s.io.apiextensions" +
      "_apiserver.pkg.apis.apiextensions.v1beta" +
      "1.JSONSchemaProps:\0028\001\032\220\001\n\021DependenciesEn" +
      "try\022\013\n\003key\030\001 \001(\t\022j\n\005value\030\002 \001(\0132[.k8s.io" +
      ".apiextensions_apiserver.pkg.apis.apiext" +
      "ensions.v1beta1.JSONSchemaPropsOrStringA" +
      "rray:\0028\001\032\202\001\n\020DefinitionsEntry\022\013\n\003key\030\001 \001" +
      "(\t\022]\n\005value\030\002 \001(\0132N.k8s.io.apiextensions",
      "_apiserver.pkg.apis.apiextensions.v1beta" +
      "1.JSONSchemaProps:\0028\001\"\335\001\n\026JSONSchemaProp" +
      "sOrArray\022^\n\006schema\030\001 \001(\0132N.k8s.io.apiext" +
      "ensions_apiserver.pkg.apis.apiextensions" +
      ".v1beta1.JSONSchemaProps\022c\n\013jSONSchemas\030" +
      "\002 \003(\0132N.k8s.io.apiextensions_apiserver.p" +
      "kg.apis.apiextensions.v1beta1.JSONSchema" +
      "Props\"\207\001\n\025JSONSchemaPropsOrBool\022\016\n\006allow" +
      "s\030\001 \001(\010\022^\n\006schema\030\002 \001(\0132N.k8s.io.apiexte" +
      "nsions_apiserver.pkg.apis.apiextensions.",
      "v1beta1.JSONSchemaProps\"\220\001\n\034JSONSchemaPr" +
      "opsOrStringArray\022^\n\006schema\030\001 \001(\0132N.k8s.i" +
      "o.apiextensions_apiserver.pkg.apis.apiex" +
      "tensions.v1beta1.JSONSchemaProps\022\020\n\010prop" +
      "erty\030\002 \003(\tB;\n\032io.kubernetes.client.proto" +
      "B\024V1beta1ApiextensionsZ\007v1beta1"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          io.kubernetes.client.proto.Meta.getDescriptor(),
          io.kubernetes.client.proto.Runtime.getDescriptor(),
          io.kubernetes.client.proto.RuntimeSchema.getDescriptor(),
          io.kubernetes.client.proto.IntStr.getDescriptor(),
        }, assigner);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinition_descriptor,
        new java.lang.String[] { "Metadata", "Spec", "Status", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionCondition_descriptor,
        new java.lang.String[] { "Type", "Status", "LastTransitionTime", "Reason", "Message", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionList_descriptor,
        new java.lang.String[] { "Metadata", "Items", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionNames_descriptor,
        new java.lang.String[] { "Plural", "Singular", "ShortNames", "Kind", "ListKind", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionSpec_descriptor,
        new java.lang.String[] { "Group", "Version", "Names", "Scope", "Validation", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceDefinitionStatus_descriptor,
        new java.lang.String[] { "Conditions", "AcceptedNames", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_CustomResourceValidation_descriptor,
        new java.lang.String[] { "OpenAPIV3Schema", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_ExternalDocumentation_descriptor,
        new java.lang.String[] { "Description", "Url", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSON_descriptor,
        new java.lang.String[] { "Raw", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor,
        new java.lang.String[] { "Id", "Schema", "Ref", "Description", "Type", "Format", "Title", "Default", "Maximum", "ExclusiveMaximum", "Minimum", "ExclusiveMinimum", "MaxLength", "MinLength", "Pattern", "MaxItems", "MinItems", "UniqueItems", "MultipleOf", "Enum", "MaxProperties", "MinProperties", "Required", "Items", "AllOf", "OneOf", "AnyOf", "Not", "Properties", "AdditionalProperties", "PatternProperties", "Dependencies", "AdditionalItems", "Definitions", "ExternalDocs", "Example", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_descriptor =
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor.getNestedTypes().get(0);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PropertiesEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_descriptor =
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor.getNestedTypes().get(1);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_PatternPropertiesEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_descriptor =
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor.getNestedTypes().get(2);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DependenciesEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_descriptor =
      internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_descriptor.getNestedTypes().get(3);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaProps_DefinitionsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrArray_descriptor,
        new java.lang.String[] { "Schema", "JSONSchemas", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrBool_descriptor,
        new java.lang.String[] { "Allows", "Schema", });
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_k8s_io_apiextensions_apiserver_pkg_apis_apiextensions_v1beta1_JSONSchemaPropsOrStringArray_descriptor,
        new java.lang.String[] { "Schema", "Property", });
    io.kubernetes.client.proto.Meta.getDescriptor();
    io.kubernetes.client.proto.Runtime.getDescriptor();
    io.kubernetes.client.proto.RuntimeSchema.getDescriptor();
    io.kubernetes.client.proto.IntStr.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
