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

com.amazonaws.services.kinesis.producer.protobuf.Config Maven / Gradle / Ivy

Go to download

The Amazon Kinesis Producer Library for Java enables developers to easily and reliably put data into Amazon Kinesis.

There is a newer version: 0.15.12
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: config.proto

package com.amazonaws.services.kinesis.producer.protobuf;

public final class Config {
  private Config() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface AdditionalDimensionOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension)
      com.google.protobuf.MessageOrBuilder {

    /**
     * required string key = 1;
     */
    boolean hasKey();
    /**
     * required string key = 1;
     */
    java.lang.String getKey();
    /**
     * required string key = 1;
     */
    com.google.protobuf.ByteString
        getKeyBytes();

    /**
     * required string value = 2;
     */
    boolean hasValue();
    /**
     * required string value = 2;
     */
    java.lang.String getValue();
    /**
     * required string value = 2;
     */
    com.google.protobuf.ByteString
        getValueBytes();

    /**
     * required string granularity = 3;
     */
    boolean hasGranularity();
    /**
     * required string granularity = 3;
     */
    java.lang.String getGranularity();
    /**
     * required string granularity = 3;
     */
    com.google.protobuf.ByteString
        getGranularityBytes();
  }
  /**
   * Protobuf type {@code com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension}
   */
  public static final class AdditionalDimension extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension)
      AdditionalDimensionOrBuilder {
    // Use AdditionalDimension.newBuilder() to construct.
    private AdditionalDimension(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private AdditionalDimension(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final AdditionalDimension defaultInstance;
    public static AdditionalDimension getDefaultInstance() {
      return defaultInstance;
    }

    public AdditionalDimension getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private AdditionalDimension(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
              key_ = bs;
              break;
            }
            case 18: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000002;
              value_ = bs;
              break;
            }
            case 26: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000004;
              granularity_ = bs;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.class, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public AdditionalDimension parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new AdditionalDimension(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int KEY_FIELD_NUMBER = 1;
    private java.lang.Object key_;
    /**
     * required string key = 1;
     */
    public boolean hasKey() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * required string key = 1;
     */
    public java.lang.String getKey() {
      java.lang.Object ref = key_;
      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()) {
          key_ = s;
        }
        return s;
      }
    }
    /**
     * required string key = 1;
     */
    public com.google.protobuf.ByteString
        getKeyBytes() {
      java.lang.Object ref = key_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        key_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int VALUE_FIELD_NUMBER = 2;
    private java.lang.Object value_;
    /**
     * required string value = 2;
     */
    public boolean hasValue() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * required string value = 2;
     */
    public java.lang.String getValue() {
      java.lang.Object ref = value_;
      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()) {
          value_ = s;
        }
        return s;
      }
    }
    /**
     * required string value = 2;
     */
    public com.google.protobuf.ByteString
        getValueBytes() {
      java.lang.Object ref = value_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        value_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GRANULARITY_FIELD_NUMBER = 3;
    private java.lang.Object granularity_;
    /**
     * required string granularity = 3;
     */
    public boolean hasGranularity() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * required string granularity = 3;
     */
    public java.lang.String getGranularity() {
      java.lang.Object ref = granularity_;
      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()) {
          granularity_ = s;
        }
        return s;
      }
    }
    /**
     * required string granularity = 3;
     */
    public com.google.protobuf.ByteString
        getGranularityBytes() {
      java.lang.Object ref = granularity_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        granularity_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      key_ = "";
      value_ = "";
      granularity_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      if (!hasKey()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasGranularity()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getValueBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getGranularityBytes());
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKeyBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getValueBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getGranularityBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension)
        com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.class, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder.class);
      }

      // Construct using com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        key_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        value_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        granularity_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor;
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension getDefaultInstanceForType() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.getDefaultInstance();
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension build() {
        com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension buildPartial() {
        com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension result = new com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.key_ = key_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.value_ = value_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.granularity_ = granularity_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension) {
          return mergeFrom((com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension other) {
        if (other == com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.getDefaultInstance()) return this;
        if (other.hasKey()) {
          bitField0_ |= 0x00000001;
          key_ = other.key_;
          onChanged();
        }
        if (other.hasValue()) {
          bitField0_ |= 0x00000002;
          value_ = other.value_;
          onChanged();
        }
        if (other.hasGranularity()) {
          bitField0_ |= 0x00000004;
          granularity_ = other.granularity_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasKey()) {
          
          return false;
        }
        if (!hasValue()) {
          
          return false;
        }
        if (!hasGranularity()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.lang.Object key_ = "";
      /**
       * required string key = 1;
       */
      public boolean hasKey() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * required string key = 1;
       */
      public java.lang.String getKey() {
        java.lang.Object ref = key_;
        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()) {
            key_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string key = 1;
       */
      public com.google.protobuf.ByteString
          getKeyBytes() {
        java.lang.Object ref = key_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          key_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string key = 1;
       */
      public Builder setKey(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        key_ = value;
        onChanged();
        return this;
      }
      /**
       * required string key = 1;
       */
      public Builder clearKey() {
        bitField0_ = (bitField0_ & ~0x00000001);
        key_ = getDefaultInstance().getKey();
        onChanged();
        return this;
      }
      /**
       * required string key = 1;
       */
      public Builder setKeyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        key_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object value_ = "";
      /**
       * required string value = 2;
       */
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * required string value = 2;
       */
      public java.lang.String getValue() {
        java.lang.Object ref = value_;
        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()) {
            value_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string value = 2;
       */
      public com.google.protobuf.ByteString
          getValueBytes() {
        java.lang.Object ref = value_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          value_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string value = 2;
       */
      public Builder setValue(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        value_ = value;
        onChanged();
        return this;
      }
      /**
       * required string value = 2;
       */
      public Builder clearValue() {
        bitField0_ = (bitField0_ & ~0x00000002);
        value_ = getDefaultInstance().getValue();
        onChanged();
        return this;
      }
      /**
       * required string value = 2;
       */
      public Builder setValueBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        value_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object granularity_ = "";
      /**
       * required string granularity = 3;
       */
      public boolean hasGranularity() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * required string granularity = 3;
       */
      public java.lang.String getGranularity() {
        java.lang.Object ref = granularity_;
        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()) {
            granularity_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * required string granularity = 3;
       */
      public com.google.protobuf.ByteString
          getGranularityBytes() {
        java.lang.Object ref = granularity_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          granularity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * required string granularity = 3;
       */
      public Builder setGranularity(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        granularity_ = value;
        onChanged();
        return this;
      }
      /**
       * required string granularity = 3;
       */
      public Builder clearGranularity() {
        bitField0_ = (bitField0_ & ~0x00000004);
        granularity_ = getDefaultInstance().getGranularity();
        onChanged();
        return this;
      }
      /**
       * required string granularity = 3;
       */
      public Builder setGranularityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        granularity_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension)
    }

    static {
      defaultInstance = new AdditionalDimension(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension)
  }

  public interface ConfigurationOrBuilder extends
      // @@protoc_insertion_point(interface_extends:com.amazonaws.services.kinesis.producer.protobuf.Configuration)
      com.google.protobuf.MessageOrBuilder {

    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    java.util.List 
        getAdditionalMetricDimsList();
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension getAdditionalMetricDims(int index);
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    int getAdditionalMetricDimsCount();
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    java.util.List 
        getAdditionalMetricDimsOrBuilderList();
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder getAdditionalMetricDimsOrBuilder(
        int index);

    /**
     * optional bool aggregation_enabled = 1 [default = true];
     */
    boolean hasAggregationEnabled();
    /**
     * optional bool aggregation_enabled = 1 [default = true];
     */
    boolean getAggregationEnabled();

    /**
     * optional uint64 aggregation_max_count = 2 [default = 4294967295];
     */
    boolean hasAggregationMaxCount();
    /**
     * optional uint64 aggregation_max_count = 2 [default = 4294967295];
     */
    long getAggregationMaxCount();

    /**
     * optional uint64 aggregation_max_size = 3 [default = 51200];
     */
    boolean hasAggregationMaxSize();
    /**
     * optional uint64 aggregation_max_size = 3 [default = 51200];
     */
    long getAggregationMaxSize();

    /**
     * optional uint64 collection_max_count = 4 [default = 500];
     */
    boolean hasCollectionMaxCount();
    /**
     * optional uint64 collection_max_count = 4 [default = 500];
     */
    long getCollectionMaxCount();

    /**
     * optional uint64 collection_max_size = 5 [default = 5242880];
     */
    boolean hasCollectionMaxSize();
    /**
     * optional uint64 collection_max_size = 5 [default = 5242880];
     */
    long getCollectionMaxSize();

    /**
     * optional uint64 connect_timeout = 6 [default = 6000];
     */
    boolean hasConnectTimeout();
    /**
     * optional uint64 connect_timeout = 6 [default = 6000];
     */
    long getConnectTimeout();

    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    boolean hasCustomEndpoint();
    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    java.lang.String getCustomEndpoint();
    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    com.google.protobuf.ByteString
        getCustomEndpointBytes();

    /**
     * optional bool fail_if_throttled = 8 [default = false];
     */
    boolean hasFailIfThrottled();
    /**
     * optional bool fail_if_throttled = 8 [default = false];
     */
    boolean getFailIfThrottled();

    /**
     * optional string log_level = 9 [default = "info"];
     */
    boolean hasLogLevel();
    /**
     * optional string log_level = 9 [default = "info"];
     */
    java.lang.String getLogLevel();
    /**
     * optional string log_level = 9 [default = "info"];
     */
    com.google.protobuf.ByteString
        getLogLevelBytes();

    /**
     * optional uint64 max_connections = 10 [default = 24];
     */
    boolean hasMaxConnections();
    /**
     * optional uint64 max_connections = 10 [default = 24];
     */
    long getMaxConnections();

    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    boolean hasMetricsGranularity();
    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    java.lang.String getMetricsGranularity();
    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    com.google.protobuf.ByteString
        getMetricsGranularityBytes();

    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    boolean hasMetricsLevel();
    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    java.lang.String getMetricsLevel();
    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    com.google.protobuf.ByteString
        getMetricsLevelBytes();

    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    boolean hasMetricsNamespace();
    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    java.lang.String getMetricsNamespace();
    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    com.google.protobuf.ByteString
        getMetricsNamespaceBytes();

    /**
     * optional uint64 metrics_upload_delay = 14 [default = 60000];
     */
    boolean hasMetricsUploadDelay();
    /**
     * optional uint64 metrics_upload_delay = 14 [default = 60000];
     */
    long getMetricsUploadDelay();

    /**
     * optional uint64 min_connections = 15 [default = 1];
     */
    boolean hasMinConnections();
    /**
     * optional uint64 min_connections = 15 [default = 1];
     */
    long getMinConnections();

    /**
     * optional uint64 port = 16 [default = 443];
     */
    boolean hasPort();
    /**
     * optional uint64 port = 16 [default = 443];
     */
    long getPort();

    /**
     * optional uint64 rate_limit = 17 [default = 150];
     */
    boolean hasRateLimit();
    /**
     * optional uint64 rate_limit = 17 [default = 150];
     */
    long getRateLimit();

    /**
     * optional uint64 record_max_buffered_time = 18 [default = 100];
     */
    boolean hasRecordMaxBufferedTime();
    /**
     * optional uint64 record_max_buffered_time = 18 [default = 100];
     */
    long getRecordMaxBufferedTime();

    /**
     * optional uint64 record_ttl = 19 [default = 30000];
     */
    boolean hasRecordTtl();
    /**
     * optional uint64 record_ttl = 19 [default = 30000];
     */
    long getRecordTtl();

    /**
     * optional string region = 20 [default = ""];
     */
    boolean hasRegion();
    /**
     * optional string region = 20 [default = ""];
     */
    java.lang.String getRegion();
    /**
     * optional string region = 20 [default = ""];
     */
    com.google.protobuf.ByteString
        getRegionBytes();

    /**
     * optional uint64 request_timeout = 21 [default = 6000];
     */
    boolean hasRequestTimeout();
    /**
     * optional uint64 request_timeout = 21 [default = 6000];
     */
    long getRequestTimeout();

    /**
     * optional bool verify_certificate = 22 [default = true];
     */
    boolean hasVerifyCertificate();
    /**
     * optional bool verify_certificate = 22 [default = true];
     */
    boolean getVerifyCertificate();
  }
  /**
   * Protobuf type {@code com.amazonaws.services.kinesis.producer.protobuf.Configuration}
   */
  public static final class Configuration extends
      com.google.protobuf.GeneratedMessage implements
      // @@protoc_insertion_point(message_implements:com.amazonaws.services.kinesis.producer.protobuf.Configuration)
      ConfigurationOrBuilder {
    // Use Configuration.newBuilder() to construct.
    private Configuration(com.google.protobuf.GeneratedMessage.Builder builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Configuration(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Configuration defaultInstance;
    public static Configuration getDefaultInstance() {
      return defaultInstance;
    }

    public Configuration getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Configuration(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      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;
              aggregationEnabled_ = input.readBool();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              aggregationMaxCount_ = input.readUInt64();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              aggregationMaxSize_ = input.readUInt64();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              collectionMaxCount_ = input.readUInt64();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              collectionMaxSize_ = input.readUInt64();
              break;
            }
            case 48: {
              bitField0_ |= 0x00000020;
              connectTimeout_ = input.readUInt64();
              break;
            }
            case 58: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000040;
              customEndpoint_ = bs;
              break;
            }
            case 64: {
              bitField0_ |= 0x00000080;
              failIfThrottled_ = input.readBool();
              break;
            }
            case 74: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000100;
              logLevel_ = bs;
              break;
            }
            case 80: {
              bitField0_ |= 0x00000200;
              maxConnections_ = input.readUInt64();
              break;
            }
            case 90: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000400;
              metricsGranularity_ = bs;
              break;
            }
            case 98: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00000800;
              metricsLevel_ = bs;
              break;
            }
            case 106: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00001000;
              metricsNamespace_ = bs;
              break;
            }
            case 112: {
              bitField0_ |= 0x00002000;
              metricsUploadDelay_ = input.readUInt64();
              break;
            }
            case 120: {
              bitField0_ |= 0x00004000;
              minConnections_ = input.readUInt64();
              break;
            }
            case 128: {
              bitField0_ |= 0x00008000;
              port_ = input.readUInt64();
              break;
            }
            case 136: {
              bitField0_ |= 0x00010000;
              rateLimit_ = input.readUInt64();
              break;
            }
            case 144: {
              bitField0_ |= 0x00020000;
              recordMaxBufferedTime_ = input.readUInt64();
              break;
            }
            case 152: {
              bitField0_ |= 0x00040000;
              recordTtl_ = input.readUInt64();
              break;
            }
            case 162: {
              com.google.protobuf.ByteString bs = input.readBytes();
              bitField0_ |= 0x00080000;
              region_ = bs;
              break;
            }
            case 168: {
              bitField0_ |= 0x00100000;
              requestTimeout_ = input.readUInt64();
              break;
            }
            case 176: {
              bitField0_ |= 0x00200000;
              verifyCertificate_ = input.readBool();
              break;
            }
            case 1026: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                additionalMetricDims_ = new java.util.ArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              additionalMetricDims_.add(input.readMessage(com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.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.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          additionalMetricDims_ = java.util.Collections.unmodifiableList(additionalMetricDims_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.class, com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.Builder.class);
    }

    public static com.google.protobuf.Parser PARSER =
        new com.google.protobuf.AbstractParser() {
      public Configuration parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Configuration(input, extensionRegistry);
      }
    };

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

    private int bitField0_;
    public static final int ADDITIONAL_METRIC_DIMS_FIELD_NUMBER = 128;
    private java.util.List additionalMetricDims_;
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    public java.util.List getAdditionalMetricDimsList() {
      return additionalMetricDims_;
    }
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    public java.util.List 
        getAdditionalMetricDimsOrBuilderList() {
      return additionalMetricDims_;
    }
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    public int getAdditionalMetricDimsCount() {
      return additionalMetricDims_.size();
    }
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension getAdditionalMetricDims(int index) {
      return additionalMetricDims_.get(index);
    }
    /**
     * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
     */
    public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder getAdditionalMetricDimsOrBuilder(
        int index) {
      return additionalMetricDims_.get(index);
    }

    public static final int AGGREGATION_ENABLED_FIELD_NUMBER = 1;
    private boolean aggregationEnabled_;
    /**
     * optional bool aggregation_enabled = 1 [default = true];
     */
    public boolean hasAggregationEnabled() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * optional bool aggregation_enabled = 1 [default = true];
     */
    public boolean getAggregationEnabled() {
      return aggregationEnabled_;
    }

    public static final int AGGREGATION_MAX_COUNT_FIELD_NUMBER = 2;
    private long aggregationMaxCount_;
    /**
     * optional uint64 aggregation_max_count = 2 [default = 4294967295];
     */
    public boolean hasAggregationMaxCount() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * optional uint64 aggregation_max_count = 2 [default = 4294967295];
     */
    public long getAggregationMaxCount() {
      return aggregationMaxCount_;
    }

    public static final int AGGREGATION_MAX_SIZE_FIELD_NUMBER = 3;
    private long aggregationMaxSize_;
    /**
     * optional uint64 aggregation_max_size = 3 [default = 51200];
     */
    public boolean hasAggregationMaxSize() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * optional uint64 aggregation_max_size = 3 [default = 51200];
     */
    public long getAggregationMaxSize() {
      return aggregationMaxSize_;
    }

    public static final int COLLECTION_MAX_COUNT_FIELD_NUMBER = 4;
    private long collectionMaxCount_;
    /**
     * optional uint64 collection_max_count = 4 [default = 500];
     */
    public boolean hasCollectionMaxCount() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * optional uint64 collection_max_count = 4 [default = 500];
     */
    public long getCollectionMaxCount() {
      return collectionMaxCount_;
    }

    public static final int COLLECTION_MAX_SIZE_FIELD_NUMBER = 5;
    private long collectionMaxSize_;
    /**
     * optional uint64 collection_max_size = 5 [default = 5242880];
     */
    public boolean hasCollectionMaxSize() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * optional uint64 collection_max_size = 5 [default = 5242880];
     */
    public long getCollectionMaxSize() {
      return collectionMaxSize_;
    }

    public static final int CONNECT_TIMEOUT_FIELD_NUMBER = 6;
    private long connectTimeout_;
    /**
     * optional uint64 connect_timeout = 6 [default = 6000];
     */
    public boolean hasConnectTimeout() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    /**
     * optional uint64 connect_timeout = 6 [default = 6000];
     */
    public long getConnectTimeout() {
      return connectTimeout_;
    }

    public static final int CUSTOM_ENDPOINT_FIELD_NUMBER = 7;
    private java.lang.Object customEndpoint_;
    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    public boolean hasCustomEndpoint() {
      return ((bitField0_ & 0x00000040) == 0x00000040);
    }
    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    public java.lang.String getCustomEndpoint() {
      java.lang.Object ref = customEndpoint_;
      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()) {
          customEndpoint_ = s;
        }
        return s;
      }
    }
    /**
     * optional string custom_endpoint = 7 [default = ""];
     */
    public com.google.protobuf.ByteString
        getCustomEndpointBytes() {
      java.lang.Object ref = customEndpoint_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        customEndpoint_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FAIL_IF_THROTTLED_FIELD_NUMBER = 8;
    private boolean failIfThrottled_;
    /**
     * optional bool fail_if_throttled = 8 [default = false];
     */
    public boolean hasFailIfThrottled() {
      return ((bitField0_ & 0x00000080) == 0x00000080);
    }
    /**
     * optional bool fail_if_throttled = 8 [default = false];
     */
    public boolean getFailIfThrottled() {
      return failIfThrottled_;
    }

    public static final int LOG_LEVEL_FIELD_NUMBER = 9;
    private java.lang.Object logLevel_;
    /**
     * optional string log_level = 9 [default = "info"];
     */
    public boolean hasLogLevel() {
      return ((bitField0_ & 0x00000100) == 0x00000100);
    }
    /**
     * optional string log_level = 9 [default = "info"];
     */
    public java.lang.String getLogLevel() {
      java.lang.Object ref = logLevel_;
      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()) {
          logLevel_ = s;
        }
        return s;
      }
    }
    /**
     * optional string log_level = 9 [default = "info"];
     */
    public com.google.protobuf.ByteString
        getLogLevelBytes() {
      java.lang.Object ref = logLevel_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        logLevel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MAX_CONNECTIONS_FIELD_NUMBER = 10;
    private long maxConnections_;
    /**
     * optional uint64 max_connections = 10 [default = 24];
     */
    public boolean hasMaxConnections() {
      return ((bitField0_ & 0x00000200) == 0x00000200);
    }
    /**
     * optional uint64 max_connections = 10 [default = 24];
     */
    public long getMaxConnections() {
      return maxConnections_;
    }

    public static final int METRICS_GRANULARITY_FIELD_NUMBER = 11;
    private java.lang.Object metricsGranularity_;
    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    public boolean hasMetricsGranularity() {
      return ((bitField0_ & 0x00000400) == 0x00000400);
    }
    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    public java.lang.String getMetricsGranularity() {
      java.lang.Object ref = metricsGranularity_;
      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()) {
          metricsGranularity_ = s;
        }
        return s;
      }
    }
    /**
     * optional string metrics_granularity = 11 [default = "shard"];
     */
    public com.google.protobuf.ByteString
        getMetricsGranularityBytes() {
      java.lang.Object ref = metricsGranularity_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        metricsGranularity_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int METRICS_LEVEL_FIELD_NUMBER = 12;
    private java.lang.Object metricsLevel_;
    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    public boolean hasMetricsLevel() {
      return ((bitField0_ & 0x00000800) == 0x00000800);
    }
    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    public java.lang.String getMetricsLevel() {
      java.lang.Object ref = metricsLevel_;
      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()) {
          metricsLevel_ = s;
        }
        return s;
      }
    }
    /**
     * optional string metrics_level = 12 [default = "detailed"];
     */
    public com.google.protobuf.ByteString
        getMetricsLevelBytes() {
      java.lang.Object ref = metricsLevel_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        metricsLevel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int METRICS_NAMESPACE_FIELD_NUMBER = 13;
    private java.lang.Object metricsNamespace_;
    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    public boolean hasMetricsNamespace() {
      return ((bitField0_ & 0x00001000) == 0x00001000);
    }
    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    public java.lang.String getMetricsNamespace() {
      java.lang.Object ref = metricsNamespace_;
      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()) {
          metricsNamespace_ = s;
        }
        return s;
      }
    }
    /**
     * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
     */
    public com.google.protobuf.ByteString
        getMetricsNamespaceBytes() {
      java.lang.Object ref = metricsNamespace_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        metricsNamespace_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int METRICS_UPLOAD_DELAY_FIELD_NUMBER = 14;
    private long metricsUploadDelay_;
    /**
     * optional uint64 metrics_upload_delay = 14 [default = 60000];
     */
    public boolean hasMetricsUploadDelay() {
      return ((bitField0_ & 0x00002000) == 0x00002000);
    }
    /**
     * optional uint64 metrics_upload_delay = 14 [default = 60000];
     */
    public long getMetricsUploadDelay() {
      return metricsUploadDelay_;
    }

    public static final int MIN_CONNECTIONS_FIELD_NUMBER = 15;
    private long minConnections_;
    /**
     * optional uint64 min_connections = 15 [default = 1];
     */
    public boolean hasMinConnections() {
      return ((bitField0_ & 0x00004000) == 0x00004000);
    }
    /**
     * optional uint64 min_connections = 15 [default = 1];
     */
    public long getMinConnections() {
      return minConnections_;
    }

    public static final int PORT_FIELD_NUMBER = 16;
    private long port_;
    /**
     * optional uint64 port = 16 [default = 443];
     */
    public boolean hasPort() {
      return ((bitField0_ & 0x00008000) == 0x00008000);
    }
    /**
     * optional uint64 port = 16 [default = 443];
     */
    public long getPort() {
      return port_;
    }

    public static final int RATE_LIMIT_FIELD_NUMBER = 17;
    private long rateLimit_;
    /**
     * optional uint64 rate_limit = 17 [default = 150];
     */
    public boolean hasRateLimit() {
      return ((bitField0_ & 0x00010000) == 0x00010000);
    }
    /**
     * optional uint64 rate_limit = 17 [default = 150];
     */
    public long getRateLimit() {
      return rateLimit_;
    }

    public static final int RECORD_MAX_BUFFERED_TIME_FIELD_NUMBER = 18;
    private long recordMaxBufferedTime_;
    /**
     * optional uint64 record_max_buffered_time = 18 [default = 100];
     */
    public boolean hasRecordMaxBufferedTime() {
      return ((bitField0_ & 0x00020000) == 0x00020000);
    }
    /**
     * optional uint64 record_max_buffered_time = 18 [default = 100];
     */
    public long getRecordMaxBufferedTime() {
      return recordMaxBufferedTime_;
    }

    public static final int RECORD_TTL_FIELD_NUMBER = 19;
    private long recordTtl_;
    /**
     * optional uint64 record_ttl = 19 [default = 30000];
     */
    public boolean hasRecordTtl() {
      return ((bitField0_ & 0x00040000) == 0x00040000);
    }
    /**
     * optional uint64 record_ttl = 19 [default = 30000];
     */
    public long getRecordTtl() {
      return recordTtl_;
    }

    public static final int REGION_FIELD_NUMBER = 20;
    private java.lang.Object region_;
    /**
     * optional string region = 20 [default = ""];
     */
    public boolean hasRegion() {
      return ((bitField0_ & 0x00080000) == 0x00080000);
    }
    /**
     * optional string region = 20 [default = ""];
     */
    public java.lang.String getRegion() {
      java.lang.Object ref = region_;
      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()) {
          region_ = s;
        }
        return s;
      }
    }
    /**
     * optional string region = 20 [default = ""];
     */
    public com.google.protobuf.ByteString
        getRegionBytes() {
      java.lang.Object ref = region_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        region_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int REQUEST_TIMEOUT_FIELD_NUMBER = 21;
    private long requestTimeout_;
    /**
     * optional uint64 request_timeout = 21 [default = 6000];
     */
    public boolean hasRequestTimeout() {
      return ((bitField0_ & 0x00100000) == 0x00100000);
    }
    /**
     * optional uint64 request_timeout = 21 [default = 6000];
     */
    public long getRequestTimeout() {
      return requestTimeout_;
    }

    public static final int VERIFY_CERTIFICATE_FIELD_NUMBER = 22;
    private boolean verifyCertificate_;
    /**
     * optional bool verify_certificate = 22 [default = true];
     */
    public boolean hasVerifyCertificate() {
      return ((bitField0_ & 0x00200000) == 0x00200000);
    }
    /**
     * optional bool verify_certificate = 22 [default = true];
     */
    public boolean getVerifyCertificate() {
      return verifyCertificate_;
    }

    private void initFields() {
      additionalMetricDims_ = java.util.Collections.emptyList();
      aggregationEnabled_ = true;
      aggregationMaxCount_ = 4294967295L;
      aggregationMaxSize_ = 51200L;
      collectionMaxCount_ = 500L;
      collectionMaxSize_ = 5242880L;
      connectTimeout_ = 6000L;
      customEndpoint_ = "";
      failIfThrottled_ = false;
      logLevel_ = "info";
      maxConnections_ = 24L;
      metricsGranularity_ = "shard";
      metricsLevel_ = "detailed";
      metricsNamespace_ = "KinesisProducerLibrary";
      metricsUploadDelay_ = 60000L;
      minConnections_ = 1L;
      port_ = 443L;
      rateLimit_ = 150L;
      recordMaxBufferedTime_ = 100L;
      recordTtl_ = 30000L;
      region_ = "";
      requestTimeout_ = 6000L;
      verifyCertificate_ = true;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      for (int i = 0; i < getAdditionalMetricDimsCount(); i++) {
        if (!getAdditionalMetricDims(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, aggregationEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt64(2, aggregationMaxCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeUInt64(3, aggregationMaxSize_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeUInt64(4, collectionMaxCount_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeUInt64(5, collectionMaxSize_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeUInt64(6, connectTimeout_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        output.writeBytes(7, getCustomEndpointBytes());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        output.writeBool(8, failIfThrottled_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        output.writeBytes(9, getLogLevelBytes());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        output.writeUInt64(10, maxConnections_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        output.writeBytes(11, getMetricsGranularityBytes());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        output.writeBytes(12, getMetricsLevelBytes());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        output.writeBytes(13, getMetricsNamespaceBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        output.writeUInt64(14, metricsUploadDelay_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        output.writeUInt64(15, minConnections_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        output.writeUInt64(16, port_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        output.writeUInt64(17, rateLimit_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        output.writeUInt64(18, recordMaxBufferedTime_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        output.writeUInt64(19, recordTtl_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        output.writeBytes(20, getRegionBytes());
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        output.writeUInt64(21, requestTimeout_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        output.writeBool(22, verifyCertificate_);
      }
      for (int i = 0; i < additionalMetricDims_.size(); i++) {
        output.writeMessage(128, additionalMetricDims_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

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

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, aggregationEnabled_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, aggregationMaxCount_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, aggregationMaxSize_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, collectionMaxCount_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(5, collectionMaxSize_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(6, connectTimeout_);
      }
      if (((bitField0_ & 0x00000040) == 0x00000040)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(7, getCustomEndpointBytes());
      }
      if (((bitField0_ & 0x00000080) == 0x00000080)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, failIfThrottled_);
      }
      if (((bitField0_ & 0x00000100) == 0x00000100)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(9, getLogLevelBytes());
      }
      if (((bitField0_ & 0x00000200) == 0x00000200)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(10, maxConnections_);
      }
      if (((bitField0_ & 0x00000400) == 0x00000400)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(11, getMetricsGranularityBytes());
      }
      if (((bitField0_ & 0x00000800) == 0x00000800)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(12, getMetricsLevelBytes());
      }
      if (((bitField0_ & 0x00001000) == 0x00001000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(13, getMetricsNamespaceBytes());
      }
      if (((bitField0_ & 0x00002000) == 0x00002000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(14, metricsUploadDelay_);
      }
      if (((bitField0_ & 0x00004000) == 0x00004000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(15, minConnections_);
      }
      if (((bitField0_ & 0x00008000) == 0x00008000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(16, port_);
      }
      if (((bitField0_ & 0x00010000) == 0x00010000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(17, rateLimit_);
      }
      if (((bitField0_ & 0x00020000) == 0x00020000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(18, recordMaxBufferedTime_);
      }
      if (((bitField0_ & 0x00040000) == 0x00040000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(19, recordTtl_);
      }
      if (((bitField0_ & 0x00080000) == 0x00080000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(20, getRegionBytes());
      }
      if (((bitField0_ & 0x00100000) == 0x00100000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(21, requestTimeout_);
      }
      if (((bitField0_ & 0x00200000) == 0x00200000)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(22, verifyCertificate_);
      }
      for (int i = 0; i < additionalMetricDims_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(128, additionalMetricDims_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code com.amazonaws.services.kinesis.producer.protobuf.Configuration}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder implements
        // @@protoc_insertion_point(builder_implements:com.amazonaws.services.kinesis.producer.protobuf.Configuration)
        com.amazonaws.services.kinesis.producer.protobuf.Config.ConfigurationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.class, com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.Builder.class);
      }

      // Construct using com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getAdditionalMetricDimsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (additionalMetricDimsBuilder_ == null) {
          additionalMetricDims_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          additionalMetricDimsBuilder_.clear();
        }
        aggregationEnabled_ = true;
        bitField0_ = (bitField0_ & ~0x00000002);
        aggregationMaxCount_ = 4294967295L;
        bitField0_ = (bitField0_ & ~0x00000004);
        aggregationMaxSize_ = 51200L;
        bitField0_ = (bitField0_ & ~0x00000008);
        collectionMaxCount_ = 500L;
        bitField0_ = (bitField0_ & ~0x00000010);
        collectionMaxSize_ = 5242880L;
        bitField0_ = (bitField0_ & ~0x00000020);
        connectTimeout_ = 6000L;
        bitField0_ = (bitField0_ & ~0x00000040);
        customEndpoint_ = "";
        bitField0_ = (bitField0_ & ~0x00000080);
        failIfThrottled_ = false;
        bitField0_ = (bitField0_ & ~0x00000100);
        logLevel_ = "info";
        bitField0_ = (bitField0_ & ~0x00000200);
        maxConnections_ = 24L;
        bitField0_ = (bitField0_ & ~0x00000400);
        metricsGranularity_ = "shard";
        bitField0_ = (bitField0_ & ~0x00000800);
        metricsLevel_ = "detailed";
        bitField0_ = (bitField0_ & ~0x00001000);
        metricsNamespace_ = "KinesisProducerLibrary";
        bitField0_ = (bitField0_ & ~0x00002000);
        metricsUploadDelay_ = 60000L;
        bitField0_ = (bitField0_ & ~0x00004000);
        minConnections_ = 1L;
        bitField0_ = (bitField0_ & ~0x00008000);
        port_ = 443L;
        bitField0_ = (bitField0_ & ~0x00010000);
        rateLimit_ = 150L;
        bitField0_ = (bitField0_ & ~0x00020000);
        recordMaxBufferedTime_ = 100L;
        bitField0_ = (bitField0_ & ~0x00040000);
        recordTtl_ = 30000L;
        bitField0_ = (bitField0_ & ~0x00080000);
        region_ = "";
        bitField0_ = (bitField0_ & ~0x00100000);
        requestTimeout_ = 6000L;
        bitField0_ = (bitField0_ & ~0x00200000);
        verifyCertificate_ = true;
        bitField0_ = (bitField0_ & ~0x00400000);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor;
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration getDefaultInstanceForType() {
        return com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.getDefaultInstance();
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration build() {
        com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration buildPartial() {
        com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration result = new com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (additionalMetricDimsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            additionalMetricDims_ = java.util.Collections.unmodifiableList(additionalMetricDims_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.additionalMetricDims_ = additionalMetricDims_;
        } else {
          result.additionalMetricDims_ = additionalMetricDimsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000001;
        }
        result.aggregationEnabled_ = aggregationEnabled_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000002;
        }
        result.aggregationMaxCount_ = aggregationMaxCount_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        result.aggregationMaxSize_ = aggregationMaxSize_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000008;
        }
        result.collectionMaxCount_ = collectionMaxCount_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000010;
        }
        result.collectionMaxSize_ = collectionMaxSize_;
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000020;
        }
        result.connectTimeout_ = connectTimeout_;
        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
          to_bitField0_ |= 0x00000040;
        }
        result.customEndpoint_ = customEndpoint_;
        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
          to_bitField0_ |= 0x00000080;
        }
        result.failIfThrottled_ = failIfThrottled_;
        if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
          to_bitField0_ |= 0x00000100;
        }
        result.logLevel_ = logLevel_;
        if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
          to_bitField0_ |= 0x00000200;
        }
        result.maxConnections_ = maxConnections_;
        if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
          to_bitField0_ |= 0x00000400;
        }
        result.metricsGranularity_ = metricsGranularity_;
        if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
          to_bitField0_ |= 0x00000800;
        }
        result.metricsLevel_ = metricsLevel_;
        if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
          to_bitField0_ |= 0x00001000;
        }
        result.metricsNamespace_ = metricsNamespace_;
        if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
          to_bitField0_ |= 0x00002000;
        }
        result.metricsUploadDelay_ = metricsUploadDelay_;
        if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
          to_bitField0_ |= 0x00004000;
        }
        result.minConnections_ = minConnections_;
        if (((from_bitField0_ & 0x00010000) == 0x00010000)) {
          to_bitField0_ |= 0x00008000;
        }
        result.port_ = port_;
        if (((from_bitField0_ & 0x00020000) == 0x00020000)) {
          to_bitField0_ |= 0x00010000;
        }
        result.rateLimit_ = rateLimit_;
        if (((from_bitField0_ & 0x00040000) == 0x00040000)) {
          to_bitField0_ |= 0x00020000;
        }
        result.recordMaxBufferedTime_ = recordMaxBufferedTime_;
        if (((from_bitField0_ & 0x00080000) == 0x00080000)) {
          to_bitField0_ |= 0x00040000;
        }
        result.recordTtl_ = recordTtl_;
        if (((from_bitField0_ & 0x00100000) == 0x00100000)) {
          to_bitField0_ |= 0x00080000;
        }
        result.region_ = region_;
        if (((from_bitField0_ & 0x00200000) == 0x00200000)) {
          to_bitField0_ |= 0x00100000;
        }
        result.requestTimeout_ = requestTimeout_;
        if (((from_bitField0_ & 0x00400000) == 0x00400000)) {
          to_bitField0_ |= 0x00200000;
        }
        result.verifyCertificate_ = verifyCertificate_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration) {
          return mergeFrom((com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration other) {
        if (other == com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration.getDefaultInstance()) return this;
        if (additionalMetricDimsBuilder_ == null) {
          if (!other.additionalMetricDims_.isEmpty()) {
            if (additionalMetricDims_.isEmpty()) {
              additionalMetricDims_ = other.additionalMetricDims_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureAdditionalMetricDimsIsMutable();
              additionalMetricDims_.addAll(other.additionalMetricDims_);
            }
            onChanged();
          }
        } else {
          if (!other.additionalMetricDims_.isEmpty()) {
            if (additionalMetricDimsBuilder_.isEmpty()) {
              additionalMetricDimsBuilder_.dispose();
              additionalMetricDimsBuilder_ = null;
              additionalMetricDims_ = other.additionalMetricDims_;
              bitField0_ = (bitField0_ & ~0x00000001);
              additionalMetricDimsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAdditionalMetricDimsFieldBuilder() : null;
            } else {
              additionalMetricDimsBuilder_.addAllMessages(other.additionalMetricDims_);
            }
          }
        }
        if (other.hasAggregationEnabled()) {
          setAggregationEnabled(other.getAggregationEnabled());
        }
        if (other.hasAggregationMaxCount()) {
          setAggregationMaxCount(other.getAggregationMaxCount());
        }
        if (other.hasAggregationMaxSize()) {
          setAggregationMaxSize(other.getAggregationMaxSize());
        }
        if (other.hasCollectionMaxCount()) {
          setCollectionMaxCount(other.getCollectionMaxCount());
        }
        if (other.hasCollectionMaxSize()) {
          setCollectionMaxSize(other.getCollectionMaxSize());
        }
        if (other.hasConnectTimeout()) {
          setConnectTimeout(other.getConnectTimeout());
        }
        if (other.hasCustomEndpoint()) {
          bitField0_ |= 0x00000080;
          customEndpoint_ = other.customEndpoint_;
          onChanged();
        }
        if (other.hasFailIfThrottled()) {
          setFailIfThrottled(other.getFailIfThrottled());
        }
        if (other.hasLogLevel()) {
          bitField0_ |= 0x00000200;
          logLevel_ = other.logLevel_;
          onChanged();
        }
        if (other.hasMaxConnections()) {
          setMaxConnections(other.getMaxConnections());
        }
        if (other.hasMetricsGranularity()) {
          bitField0_ |= 0x00000800;
          metricsGranularity_ = other.metricsGranularity_;
          onChanged();
        }
        if (other.hasMetricsLevel()) {
          bitField0_ |= 0x00001000;
          metricsLevel_ = other.metricsLevel_;
          onChanged();
        }
        if (other.hasMetricsNamespace()) {
          bitField0_ |= 0x00002000;
          metricsNamespace_ = other.metricsNamespace_;
          onChanged();
        }
        if (other.hasMetricsUploadDelay()) {
          setMetricsUploadDelay(other.getMetricsUploadDelay());
        }
        if (other.hasMinConnections()) {
          setMinConnections(other.getMinConnections());
        }
        if (other.hasPort()) {
          setPort(other.getPort());
        }
        if (other.hasRateLimit()) {
          setRateLimit(other.getRateLimit());
        }
        if (other.hasRecordMaxBufferedTime()) {
          setRecordMaxBufferedTime(other.getRecordMaxBufferedTime());
        }
        if (other.hasRecordTtl()) {
          setRecordTtl(other.getRecordTtl());
        }
        if (other.hasRegion()) {
          bitField0_ |= 0x00100000;
          region_ = other.region_;
          onChanged();
        }
        if (other.hasRequestTimeout()) {
          setRequestTimeout(other.getRequestTimeout());
        }
        if (other.hasVerifyCertificate()) {
          setVerifyCertificate(other.getVerifyCertificate());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        for (int i = 0; i < getAdditionalMetricDimsCount(); i++) {
          if (!getAdditionalMetricDims(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.amazonaws.services.kinesis.producer.protobuf.Config.Configuration) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List additionalMetricDims_ =
        java.util.Collections.emptyList();
      private void ensureAdditionalMetricDimsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          additionalMetricDims_ = new java.util.ArrayList(additionalMetricDims_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder> additionalMetricDimsBuilder_;

      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public java.util.List getAdditionalMetricDimsList() {
        if (additionalMetricDimsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(additionalMetricDims_);
        } else {
          return additionalMetricDimsBuilder_.getMessageList();
        }
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public int getAdditionalMetricDimsCount() {
        if (additionalMetricDimsBuilder_ == null) {
          return additionalMetricDims_.size();
        } else {
          return additionalMetricDimsBuilder_.getCount();
        }
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension getAdditionalMetricDims(int index) {
        if (additionalMetricDimsBuilder_ == null) {
          return additionalMetricDims_.get(index);
        } else {
          return additionalMetricDimsBuilder_.getMessage(index);
        }
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder setAdditionalMetricDims(
          int index, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension value) {
        if (additionalMetricDimsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.set(index, value);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder setAdditionalMetricDims(
          int index, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder builderForValue) {
        if (additionalMetricDimsBuilder_ == null) {
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.set(index, builderForValue.build());
          onChanged();
        } else {
          additionalMetricDimsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder addAdditionalMetricDims(com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension value) {
        if (additionalMetricDimsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.add(value);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder addAdditionalMetricDims(
          int index, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension value) {
        if (additionalMetricDimsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.add(index, value);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder addAdditionalMetricDims(
          com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder builderForValue) {
        if (additionalMetricDimsBuilder_ == null) {
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.add(builderForValue.build());
          onChanged();
        } else {
          additionalMetricDimsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder addAdditionalMetricDims(
          int index, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder builderForValue) {
        if (additionalMetricDimsBuilder_ == null) {
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.add(index, builderForValue.build());
          onChanged();
        } else {
          additionalMetricDimsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder addAllAdditionalMetricDims(
          java.lang.Iterable values) {
        if (additionalMetricDimsBuilder_ == null) {
          ensureAdditionalMetricDimsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, additionalMetricDims_);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder clearAdditionalMetricDims() {
        if (additionalMetricDimsBuilder_ == null) {
          additionalMetricDims_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.clear();
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public Builder removeAdditionalMetricDims(int index) {
        if (additionalMetricDimsBuilder_ == null) {
          ensureAdditionalMetricDimsIsMutable();
          additionalMetricDims_.remove(index);
          onChanged();
        } else {
          additionalMetricDimsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder getAdditionalMetricDimsBuilder(
          int index) {
        return getAdditionalMetricDimsFieldBuilder().getBuilder(index);
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder getAdditionalMetricDimsOrBuilder(
          int index) {
        if (additionalMetricDimsBuilder_ == null) {
          return additionalMetricDims_.get(index);  } else {
          return additionalMetricDimsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public java.util.List 
           getAdditionalMetricDimsOrBuilderList() {
        if (additionalMetricDimsBuilder_ != null) {
          return additionalMetricDimsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(additionalMetricDims_);
        }
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder addAdditionalMetricDimsBuilder() {
        return getAdditionalMetricDimsFieldBuilder().addBuilder(
            com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.getDefaultInstance());
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder addAdditionalMetricDimsBuilder(
          int index) {
        return getAdditionalMetricDimsFieldBuilder().addBuilder(
            index, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.getDefaultInstance());
      }
      /**
       * repeated .com.amazonaws.services.kinesis.producer.protobuf.AdditionalDimension additional_metric_dims = 128;
       */
      public java.util.List 
           getAdditionalMetricDimsBuilderList() {
        return getAdditionalMetricDimsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder> 
          getAdditionalMetricDimsFieldBuilder() {
        if (additionalMetricDimsBuilder_ == null) {
          additionalMetricDimsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimension.Builder, com.amazonaws.services.kinesis.producer.protobuf.Config.AdditionalDimensionOrBuilder>(
                  additionalMetricDims_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          additionalMetricDims_ = null;
        }
        return additionalMetricDimsBuilder_;
      }

      private boolean aggregationEnabled_ = true;
      /**
       * optional bool aggregation_enabled = 1 [default = true];
       */
      public boolean hasAggregationEnabled() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * optional bool aggregation_enabled = 1 [default = true];
       */
      public boolean getAggregationEnabled() {
        return aggregationEnabled_;
      }
      /**
       * optional bool aggregation_enabled = 1 [default = true];
       */
      public Builder setAggregationEnabled(boolean value) {
        bitField0_ |= 0x00000002;
        aggregationEnabled_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool aggregation_enabled = 1 [default = true];
       */
      public Builder clearAggregationEnabled() {
        bitField0_ = (bitField0_ & ~0x00000002);
        aggregationEnabled_ = true;
        onChanged();
        return this;
      }

      private long aggregationMaxCount_ = 4294967295L;
      /**
       * optional uint64 aggregation_max_count = 2 [default = 4294967295];
       */
      public boolean hasAggregationMaxCount() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * optional uint64 aggregation_max_count = 2 [default = 4294967295];
       */
      public long getAggregationMaxCount() {
        return aggregationMaxCount_;
      }
      /**
       * optional uint64 aggregation_max_count = 2 [default = 4294967295];
       */
      public Builder setAggregationMaxCount(long value) {
        bitField0_ |= 0x00000004;
        aggregationMaxCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 aggregation_max_count = 2 [default = 4294967295];
       */
      public Builder clearAggregationMaxCount() {
        bitField0_ = (bitField0_ & ~0x00000004);
        aggregationMaxCount_ = 4294967295L;
        onChanged();
        return this;
      }

      private long aggregationMaxSize_ = 51200L;
      /**
       * optional uint64 aggregation_max_size = 3 [default = 51200];
       */
      public boolean hasAggregationMaxSize() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * optional uint64 aggregation_max_size = 3 [default = 51200];
       */
      public long getAggregationMaxSize() {
        return aggregationMaxSize_;
      }
      /**
       * optional uint64 aggregation_max_size = 3 [default = 51200];
       */
      public Builder setAggregationMaxSize(long value) {
        bitField0_ |= 0x00000008;
        aggregationMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 aggregation_max_size = 3 [default = 51200];
       */
      public Builder clearAggregationMaxSize() {
        bitField0_ = (bitField0_ & ~0x00000008);
        aggregationMaxSize_ = 51200L;
        onChanged();
        return this;
      }

      private long collectionMaxCount_ = 500L;
      /**
       * optional uint64 collection_max_count = 4 [default = 500];
       */
      public boolean hasCollectionMaxCount() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * optional uint64 collection_max_count = 4 [default = 500];
       */
      public long getCollectionMaxCount() {
        return collectionMaxCount_;
      }
      /**
       * optional uint64 collection_max_count = 4 [default = 500];
       */
      public Builder setCollectionMaxCount(long value) {
        bitField0_ |= 0x00000010;
        collectionMaxCount_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 collection_max_count = 4 [default = 500];
       */
      public Builder clearCollectionMaxCount() {
        bitField0_ = (bitField0_ & ~0x00000010);
        collectionMaxCount_ = 500L;
        onChanged();
        return this;
      }

      private long collectionMaxSize_ = 5242880L;
      /**
       * optional uint64 collection_max_size = 5 [default = 5242880];
       */
      public boolean hasCollectionMaxSize() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      /**
       * optional uint64 collection_max_size = 5 [default = 5242880];
       */
      public long getCollectionMaxSize() {
        return collectionMaxSize_;
      }
      /**
       * optional uint64 collection_max_size = 5 [default = 5242880];
       */
      public Builder setCollectionMaxSize(long value) {
        bitField0_ |= 0x00000020;
        collectionMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 collection_max_size = 5 [default = 5242880];
       */
      public Builder clearCollectionMaxSize() {
        bitField0_ = (bitField0_ & ~0x00000020);
        collectionMaxSize_ = 5242880L;
        onChanged();
        return this;
      }

      private long connectTimeout_ = 6000L;
      /**
       * optional uint64 connect_timeout = 6 [default = 6000];
       */
      public boolean hasConnectTimeout() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      /**
       * optional uint64 connect_timeout = 6 [default = 6000];
       */
      public long getConnectTimeout() {
        return connectTimeout_;
      }
      /**
       * optional uint64 connect_timeout = 6 [default = 6000];
       */
      public Builder setConnectTimeout(long value) {
        bitField0_ |= 0x00000040;
        connectTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 connect_timeout = 6 [default = 6000];
       */
      public Builder clearConnectTimeout() {
        bitField0_ = (bitField0_ & ~0x00000040);
        connectTimeout_ = 6000L;
        onChanged();
        return this;
      }

      private java.lang.Object customEndpoint_ = "";
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public boolean hasCustomEndpoint() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public java.lang.String getCustomEndpoint() {
        java.lang.Object ref = customEndpoint_;
        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()) {
            customEndpoint_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public com.google.protobuf.ByteString
          getCustomEndpointBytes() {
        java.lang.Object ref = customEndpoint_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          customEndpoint_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public Builder setCustomEndpoint(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        customEndpoint_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public Builder clearCustomEndpoint() {
        bitField0_ = (bitField0_ & ~0x00000080);
        customEndpoint_ = getDefaultInstance().getCustomEndpoint();
        onChanged();
        return this;
      }
      /**
       * optional string custom_endpoint = 7 [default = ""];
       */
      public Builder setCustomEndpointBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000080;
        customEndpoint_ = value;
        onChanged();
        return this;
      }

      private boolean failIfThrottled_ ;
      /**
       * optional bool fail_if_throttled = 8 [default = false];
       */
      public boolean hasFailIfThrottled() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      /**
       * optional bool fail_if_throttled = 8 [default = false];
       */
      public boolean getFailIfThrottled() {
        return failIfThrottled_;
      }
      /**
       * optional bool fail_if_throttled = 8 [default = false];
       */
      public Builder setFailIfThrottled(boolean value) {
        bitField0_ |= 0x00000100;
        failIfThrottled_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool fail_if_throttled = 8 [default = false];
       */
      public Builder clearFailIfThrottled() {
        bitField0_ = (bitField0_ & ~0x00000100);
        failIfThrottled_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object logLevel_ = "info";
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public boolean hasLogLevel() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public java.lang.String getLogLevel() {
        java.lang.Object ref = logLevel_;
        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()) {
            logLevel_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public com.google.protobuf.ByteString
          getLogLevelBytes() {
        java.lang.Object ref = logLevel_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          logLevel_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public Builder setLogLevel(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
        logLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public Builder clearLogLevel() {
        bitField0_ = (bitField0_ & ~0x00000200);
        logLevel_ = getDefaultInstance().getLogLevel();
        onChanged();
        return this;
      }
      /**
       * optional string log_level = 9 [default = "info"];
       */
      public Builder setLogLevelBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000200;
        logLevel_ = value;
        onChanged();
        return this;
      }

      private long maxConnections_ = 24L;
      /**
       * optional uint64 max_connections = 10 [default = 24];
       */
      public boolean hasMaxConnections() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      /**
       * optional uint64 max_connections = 10 [default = 24];
       */
      public long getMaxConnections() {
        return maxConnections_;
      }
      /**
       * optional uint64 max_connections = 10 [default = 24];
       */
      public Builder setMaxConnections(long value) {
        bitField0_ |= 0x00000400;
        maxConnections_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 max_connections = 10 [default = 24];
       */
      public Builder clearMaxConnections() {
        bitField0_ = (bitField0_ & ~0x00000400);
        maxConnections_ = 24L;
        onChanged();
        return this;
      }

      private java.lang.Object metricsGranularity_ = "shard";
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public boolean hasMetricsGranularity() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public java.lang.String getMetricsGranularity() {
        java.lang.Object ref = metricsGranularity_;
        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()) {
            metricsGranularity_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public com.google.protobuf.ByteString
          getMetricsGranularityBytes() {
        java.lang.Object ref = metricsGranularity_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          metricsGranularity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public Builder setMetricsGranularity(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000800;
        metricsGranularity_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public Builder clearMetricsGranularity() {
        bitField0_ = (bitField0_ & ~0x00000800);
        metricsGranularity_ = getDefaultInstance().getMetricsGranularity();
        onChanged();
        return this;
      }
      /**
       * optional string metrics_granularity = 11 [default = "shard"];
       */
      public Builder setMetricsGranularityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000800;
        metricsGranularity_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object metricsLevel_ = "detailed";
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public boolean hasMetricsLevel() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public java.lang.String getMetricsLevel() {
        java.lang.Object ref = metricsLevel_;
        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()) {
            metricsLevel_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public com.google.protobuf.ByteString
          getMetricsLevelBytes() {
        java.lang.Object ref = metricsLevel_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          metricsLevel_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public Builder setMetricsLevel(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        metricsLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public Builder clearMetricsLevel() {
        bitField0_ = (bitField0_ & ~0x00001000);
        metricsLevel_ = getDefaultInstance().getMetricsLevel();
        onChanged();
        return this;
      }
      /**
       * optional string metrics_level = 12 [default = "detailed"];
       */
      public Builder setMetricsLevelBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00001000;
        metricsLevel_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object metricsNamespace_ = "KinesisProducerLibrary";
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public boolean hasMetricsNamespace() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public java.lang.String getMetricsNamespace() {
        java.lang.Object ref = metricsNamespace_;
        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()) {
            metricsNamespace_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public com.google.protobuf.ByteString
          getMetricsNamespaceBytes() {
        java.lang.Object ref = metricsNamespace_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          metricsNamespace_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public Builder setMetricsNamespace(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        metricsNamespace_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public Builder clearMetricsNamespace() {
        bitField0_ = (bitField0_ & ~0x00002000);
        metricsNamespace_ = getDefaultInstance().getMetricsNamespace();
        onChanged();
        return this;
      }
      /**
       * optional string metrics_namespace = 13 [default = "KinesisProducerLibrary"];
       */
      public Builder setMetricsNamespaceBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00002000;
        metricsNamespace_ = value;
        onChanged();
        return this;
      }

      private long metricsUploadDelay_ = 60000L;
      /**
       * optional uint64 metrics_upload_delay = 14 [default = 60000];
       */
      public boolean hasMetricsUploadDelay() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      /**
       * optional uint64 metrics_upload_delay = 14 [default = 60000];
       */
      public long getMetricsUploadDelay() {
        return metricsUploadDelay_;
      }
      /**
       * optional uint64 metrics_upload_delay = 14 [default = 60000];
       */
      public Builder setMetricsUploadDelay(long value) {
        bitField0_ |= 0x00004000;
        metricsUploadDelay_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 metrics_upload_delay = 14 [default = 60000];
       */
      public Builder clearMetricsUploadDelay() {
        bitField0_ = (bitField0_ & ~0x00004000);
        metricsUploadDelay_ = 60000L;
        onChanged();
        return this;
      }

      private long minConnections_ = 1L;
      /**
       * optional uint64 min_connections = 15 [default = 1];
       */
      public boolean hasMinConnections() {
        return ((bitField0_ & 0x00008000) == 0x00008000);
      }
      /**
       * optional uint64 min_connections = 15 [default = 1];
       */
      public long getMinConnections() {
        return minConnections_;
      }
      /**
       * optional uint64 min_connections = 15 [default = 1];
       */
      public Builder setMinConnections(long value) {
        bitField0_ |= 0x00008000;
        minConnections_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 min_connections = 15 [default = 1];
       */
      public Builder clearMinConnections() {
        bitField0_ = (bitField0_ & ~0x00008000);
        minConnections_ = 1L;
        onChanged();
        return this;
      }

      private long port_ = 443L;
      /**
       * optional uint64 port = 16 [default = 443];
       */
      public boolean hasPort() {
        return ((bitField0_ & 0x00010000) == 0x00010000);
      }
      /**
       * optional uint64 port = 16 [default = 443];
       */
      public long getPort() {
        return port_;
      }
      /**
       * optional uint64 port = 16 [default = 443];
       */
      public Builder setPort(long value) {
        bitField0_ |= 0x00010000;
        port_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 port = 16 [default = 443];
       */
      public Builder clearPort() {
        bitField0_ = (bitField0_ & ~0x00010000);
        port_ = 443L;
        onChanged();
        return this;
      }

      private long rateLimit_ = 150L;
      /**
       * optional uint64 rate_limit = 17 [default = 150];
       */
      public boolean hasRateLimit() {
        return ((bitField0_ & 0x00020000) == 0x00020000);
      }
      /**
       * optional uint64 rate_limit = 17 [default = 150];
       */
      public long getRateLimit() {
        return rateLimit_;
      }
      /**
       * optional uint64 rate_limit = 17 [default = 150];
       */
      public Builder setRateLimit(long value) {
        bitField0_ |= 0x00020000;
        rateLimit_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 rate_limit = 17 [default = 150];
       */
      public Builder clearRateLimit() {
        bitField0_ = (bitField0_ & ~0x00020000);
        rateLimit_ = 150L;
        onChanged();
        return this;
      }

      private long recordMaxBufferedTime_ = 100L;
      /**
       * optional uint64 record_max_buffered_time = 18 [default = 100];
       */
      public boolean hasRecordMaxBufferedTime() {
        return ((bitField0_ & 0x00040000) == 0x00040000);
      }
      /**
       * optional uint64 record_max_buffered_time = 18 [default = 100];
       */
      public long getRecordMaxBufferedTime() {
        return recordMaxBufferedTime_;
      }
      /**
       * optional uint64 record_max_buffered_time = 18 [default = 100];
       */
      public Builder setRecordMaxBufferedTime(long value) {
        bitField0_ |= 0x00040000;
        recordMaxBufferedTime_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 record_max_buffered_time = 18 [default = 100];
       */
      public Builder clearRecordMaxBufferedTime() {
        bitField0_ = (bitField0_ & ~0x00040000);
        recordMaxBufferedTime_ = 100L;
        onChanged();
        return this;
      }

      private long recordTtl_ = 30000L;
      /**
       * optional uint64 record_ttl = 19 [default = 30000];
       */
      public boolean hasRecordTtl() {
        return ((bitField0_ & 0x00080000) == 0x00080000);
      }
      /**
       * optional uint64 record_ttl = 19 [default = 30000];
       */
      public long getRecordTtl() {
        return recordTtl_;
      }
      /**
       * optional uint64 record_ttl = 19 [default = 30000];
       */
      public Builder setRecordTtl(long value) {
        bitField0_ |= 0x00080000;
        recordTtl_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 record_ttl = 19 [default = 30000];
       */
      public Builder clearRecordTtl() {
        bitField0_ = (bitField0_ & ~0x00080000);
        recordTtl_ = 30000L;
        onChanged();
        return this;
      }

      private java.lang.Object region_ = "";
      /**
       * optional string region = 20 [default = ""];
       */
      public boolean hasRegion() {
        return ((bitField0_ & 0x00100000) == 0x00100000);
      }
      /**
       * optional string region = 20 [default = ""];
       */
      public java.lang.String getRegion() {
        java.lang.Object ref = region_;
        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()) {
            region_ = s;
          }
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * optional string region = 20 [default = ""];
       */
      public com.google.protobuf.ByteString
          getRegionBytes() {
        java.lang.Object ref = region_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          region_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * optional string region = 20 [default = ""];
       */
      public Builder setRegion(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00100000;
        region_ = value;
        onChanged();
        return this;
      }
      /**
       * optional string region = 20 [default = ""];
       */
      public Builder clearRegion() {
        bitField0_ = (bitField0_ & ~0x00100000);
        region_ = getDefaultInstance().getRegion();
        onChanged();
        return this;
      }
      /**
       * optional string region = 20 [default = ""];
       */
      public Builder setRegionBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00100000;
        region_ = value;
        onChanged();
        return this;
      }

      private long requestTimeout_ = 6000L;
      /**
       * optional uint64 request_timeout = 21 [default = 6000];
       */
      public boolean hasRequestTimeout() {
        return ((bitField0_ & 0x00200000) == 0x00200000);
      }
      /**
       * optional uint64 request_timeout = 21 [default = 6000];
       */
      public long getRequestTimeout() {
        return requestTimeout_;
      }
      /**
       * optional uint64 request_timeout = 21 [default = 6000];
       */
      public Builder setRequestTimeout(long value) {
        bitField0_ |= 0x00200000;
        requestTimeout_ = value;
        onChanged();
        return this;
      }
      /**
       * optional uint64 request_timeout = 21 [default = 6000];
       */
      public Builder clearRequestTimeout() {
        bitField0_ = (bitField0_ & ~0x00200000);
        requestTimeout_ = 6000L;
        onChanged();
        return this;
      }

      private boolean verifyCertificate_ = true;
      /**
       * optional bool verify_certificate = 22 [default = true];
       */
      public boolean hasVerifyCertificate() {
        return ((bitField0_ & 0x00400000) == 0x00400000);
      }
      /**
       * optional bool verify_certificate = 22 [default = true];
       */
      public boolean getVerifyCertificate() {
        return verifyCertificate_;
      }
      /**
       * optional bool verify_certificate = 22 [default = true];
       */
      public Builder setVerifyCertificate(boolean value) {
        bitField0_ |= 0x00400000;
        verifyCertificate_ = value;
        onChanged();
        return this;
      }
      /**
       * optional bool verify_certificate = 22 [default = true];
       */
      public Builder clearVerifyCertificate() {
        bitField0_ = (bitField0_ & ~0x00400000);
        verifyCertificate_ = true;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:com.amazonaws.services.kinesis.producer.protobuf.Configuration)
    }

    static {
      defaultInstance = new Configuration(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:com.amazonaws.services.kinesis.producer.protobuf.Configuration)
  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\014config.proto\0220com.amazonaws.services.k" +
      "inesis.producer.protobuf\"F\n\023AdditionalDi" +
      "mension\022\013\n\003key\030\001 \002(\t\022\r\n\005value\030\002 \002(\t\022\023\n\013g" +
      "ranularity\030\003 \002(\t\"\277\006\n\rConfiguration\022f\n\026ad" +
      "ditional_metric_dims\030\200\001 \003(\0132E.com.amazon" +
      "aws.services.kinesis.producer.protobuf.A" +
      "dditionalDimension\022!\n\023aggregation_enable" +
      "d\030\001 \001(\010:\004true\022)\n\025aggregation_max_count\030\002" +
      " \001(\004:\n4294967295\022#\n\024aggregation_max_size" +
      "\030\003 \001(\004:\00551200\022!\n\024collection_max_count\030\004 ",
      "\001(\004:\003500\022$\n\023collection_max_size\030\005 \001(\004:\0075" +
      "242880\022\035\n\017connect_timeout\030\006 \001(\004:\0046000\022\031\n" +
      "\017custom_endpoint\030\007 \001(\t:\000\022 \n\021fail_if_thro" +
      "ttled\030\010 \001(\010:\005false\022\027\n\tlog_level\030\t \001(\t:\004i" +
      "nfo\022\033\n\017max_connections\030\n \001(\004:\00224\022\"\n\023metr" +
      "ics_granularity\030\013 \001(\t:\005shard\022\037\n\rmetrics_" +
      "level\030\014 \001(\t:\010detailed\0221\n\021metrics_namespa" +
      "ce\030\r \001(\t:\026KinesisProducerLibrary\022#\n\024metr" +
      "ics_upload_delay\030\016 \001(\004:\00560000\022\032\n\017min_con" +
      "nections\030\017 \001(\004:\0011\022\021\n\004port\030\020 \001(\004:\003443\022\027\n\n",
      "rate_limit\030\021 \001(\004:\003150\022%\n\030record_max_buff" +
      "ered_time\030\022 \001(\004:\003100\022\031\n\nrecord_ttl\030\023 \001(\004" +
      ":\00530000\022\020\n\006region\030\024 \001(\t:\000\022\035\n\017request_tim" +
      "eout\030\025 \001(\004:\0046000\022 \n\022verify_certificate\030\026" +
      " \001(\010:\004true"
    };
    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[] {
        }, assigner);
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_com_amazonaws_services_kinesis_producer_protobuf_AdditionalDimension_descriptor,
        new java.lang.String[] { "Key", "Value", "Granularity", });
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
        internal_static_com_amazonaws_services_kinesis_producer_protobuf_Configuration_descriptor,
        new java.lang.String[] { "AdditionalMetricDims", "AggregationEnabled", "AggregationMaxCount", "AggregationMaxSize", "CollectionMaxCount", "CollectionMaxSize", "ConnectTimeout", "CustomEndpoint", "FailIfThrottled", "LogLevel", "MaxConnections", "MetricsGranularity", "MetricsLevel", "MetricsNamespace", "MetricsUploadDelay", "MinConnections", "Port", "RateLimit", "RecordMaxBufferedTime", "RecordTtl", "Region", "RequestTimeout", "VerifyCertificate", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy