Class Quota

  • All Implemented Interfaces:
    QuotaOrBuilder, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, java.io.Serializable

    public final class Quota
    extends com.google.protobuf.GeneratedMessageV3
    implements QuotaOrBuilder
     Quota configuration helps to achieve fairness and budgeting in service
     usage.
    
     The metric based quota configuration works this way:
     - The service configuration defines a set of metrics.
     - For API calls, the quota.metric_rules maps methods to metrics with
       corresponding costs.
     - The quota.limits defines limits on the metrics, which will be used for
       quota checks at runtime.
    
     An example quota configuration in yaml format:
    
        quota:
          limits:
    
          - name: apiWriteQpsPerProject
            metric: library.googleapis.com/write_calls
            unit: "1/min/{project}"  # rate limit for consumer projects
            values:
              STANDARD: 10000
    
    
          (The metric rules bind all methods to the read_calls metric,
           except for the UpdateBook and DeleteBook methods. These two methods
           are mapped to the write_calls metric, with the UpdateBook method
           consuming at twice rate as the DeleteBook method.)
          metric_rules:
          - selector: "*"
            metric_costs:
              library.googleapis.com/read_calls: 1
          - selector: google.example.library.v1.LibraryService.UpdateBook
            metric_costs:
              library.googleapis.com/write_calls: 2
          - selector: google.example.library.v1.LibraryService.DeleteBook
            metric_costs:
              library.googleapis.com/write_calls: 1
    
      Corresponding Metric definition:
    
          metrics:
          - name: library.googleapis.com/read_calls
            display_name: Read requests
            metric_kind: DELTA
            value_type: INT64
    
          - name: library.googleapis.com/write_calls
            display_name: Write requests
            metric_kind: DELTA
            value_type: INT64
     
    Protobuf type google.api.Quota
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Quota.Builder
      Quota configuration helps to achieve fairness and budgeting in service usage.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage

        com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionSerializer, com.google.protobuf.GeneratedMessage.ExtendableMessage.ExtensionWriter
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int LIMITS_FIELD_NUMBER  
      static int METRIC_RULES_FIELD_NUMBER  
      • Fields inherited from class com.google.protobuf.GeneratedMessage

        alwaysUseFieldBuilders, unknownFields
      • Fields inherited from class com.google.protobuf.AbstractMessage

        memoizedSize
      • Fields inherited from class com.google.protobuf.AbstractMessageLite

        memoizedHashCode
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      static Quota getDefaultInstance()  
      Quota getDefaultInstanceForType()  
      static com.google.protobuf.Descriptors.Descriptor getDescriptor()  
      QuotaLimit getLimits​(int index)
      List of QuotaLimit definitions for the service.
      int getLimitsCount()
      List of QuotaLimit definitions for the service.
      java.util.List<QuotaLimit> getLimitsList()
      List of QuotaLimit definitions for the service.
      QuotaLimitOrBuilder getLimitsOrBuilder​(int index)
      List of QuotaLimit definitions for the service.
      java.util.List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
      List of QuotaLimit definitions for the service.
      MetricRule getMetricRules​(int index)
      List of MetricRule definitions, each one mapping a selected method to one or more metrics.
      int getMetricRulesCount()
      List of MetricRule definitions, each one mapping a selected method to one or more metrics.
      java.util.List<MetricRule> getMetricRulesList()
      List of MetricRule definitions, each one mapping a selected method to one or more metrics.
      MetricRuleOrBuilder getMetricRulesOrBuilder​(int index)
      List of MetricRule definitions, each one mapping a selected method to one or more metrics.
      java.util.List<? extends MetricRuleOrBuilder> getMetricRulesOrBuilderList()
      List of MetricRule definitions, each one mapping a selected method to one or more metrics.
      com.google.protobuf.Parser<Quota> getParserForType()  
      int getSerializedSize()  
      int hashCode()  
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()  
      boolean isInitialized()  
      static Quota.Builder newBuilder()  
      static Quota.Builder newBuilder​(Quota prototype)  
      Quota.Builder newBuilderForType()  
      protected Quota.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)  
      protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)  
      static Quota parseDelimitedFrom​(java.io.InputStream input)  
      static Quota parseDelimitedFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Quota parseFrom​(byte[] data)  
      static Quota parseFrom​(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Quota parseFrom​(com.google.protobuf.ByteString data)  
      static Quota parseFrom​(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Quota parseFrom​(com.google.protobuf.CodedInputStream input)  
      static Quota parseFrom​(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Quota parseFrom​(java.io.InputStream input)  
      static Quota parseFrom​(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static Quota parseFrom​(java.nio.ByteBuffer data)  
      static Quota parseFrom​(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)  
      static com.google.protobuf.Parser<Quota> parser()  
      Quota.Builder toBuilder()  
      void writeTo​(com.google.protobuf.CodedOutputStream output)  
      • Methods inherited from class com.google.protobuf.GeneratedMessageV3

        mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBuilderForType
      • Methods inherited from class com.google.protobuf.GeneratedMessage.ExtendableMessage

        extensionsAreInitialized, extensionsSerializedSize, extensionsSerializedSizeAsMessageSet, getAllFields, getAllFieldsRaw, getExtension, getExtension, getExtensionCount, getExtensionFields, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasField, newExtensionSerializer, newExtensionWriter, newMessageSetExtensionSerializer, newMessageSetExtensionWriter
      • Methods inherited from class com.google.protobuf.GeneratedMessage

        canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getDescriptorForType, getOneofFieldDescriptor, getUnknownFields, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
      • Methods inherited from class com.google.protobuf.AbstractMessage

        findInitializationErrors, getInitializationErrorString, hashFields, toString
      • Methods inherited from class com.google.protobuf.AbstractMessageLite

        addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.google.protobuf.MessageLite

        toByteArray, toByteString, writeDelimitedTo, writeTo
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Detail

      • newInstance

        protected java.lang.Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Overrides:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getLimitsList

        public java.util.List<QuotaLimit> getLimitsList()
         List of QuotaLimit definitions for the service.
         
        repeated .google.api.QuotaLimit limits = 3;
        Specified by:
        getLimitsList in interface QuotaOrBuilder
      • getLimitsCount

        public int getLimitsCount()
         List of QuotaLimit definitions for the service.
         
        repeated .google.api.QuotaLimit limits = 3;
        Specified by:
        getLimitsCount in interface QuotaOrBuilder
      • getLimits

        public QuotaLimit getLimits​(int index)
         List of QuotaLimit definitions for the service.
         
        repeated .google.api.QuotaLimit limits = 3;
        Specified by:
        getLimits in interface QuotaOrBuilder
      • getMetricRulesList

        public java.util.List<MetricRule> getMetricRulesList()
         List of MetricRule definitions, each one mapping a selected method to one
         or more metrics.
         
        repeated .google.api.MetricRule metric_rules = 4;
        Specified by:
        getMetricRulesList in interface QuotaOrBuilder
      • getMetricRulesOrBuilderList

        public java.util.List<? extends MetricRuleOrBuilder> getMetricRulesOrBuilderList()
         List of MetricRule definitions, each one mapping a selected method to one
         or more metrics.
         
        repeated .google.api.MetricRule metric_rules = 4;
        Specified by:
        getMetricRulesOrBuilderList in interface QuotaOrBuilder
      • getMetricRulesCount

        public int getMetricRulesCount()
         List of MetricRule definitions, each one mapping a selected method to one
         or more metrics.
         
        repeated .google.api.MetricRule metric_rules = 4;
        Specified by:
        getMetricRulesCount in interface QuotaOrBuilder
      • getMetricRules

        public MetricRule getMetricRules​(int index)
         List of MetricRule definitions, each one mapping a selected method to one
         or more metrics.
         
        repeated .google.api.MetricRule metric_rules = 4;
        Specified by:
        getMetricRules in interface QuotaOrBuilder
      • getMetricRulesOrBuilder

        public MetricRuleOrBuilder getMetricRulesOrBuilder​(int index)
         List of MetricRule definitions, each one mapping a selected method to one
         or more metrics.
         
        repeated .google.api.MetricRule metric_rules = 4;
        Specified by:
        getMetricRulesOrBuilder in interface QuotaOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.ExtendableMessage<com.google.protobuf.GeneratedMessageV3>
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Quota parseFrom​(java.nio.ByteBuffer data)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(java.nio.ByteBuffer data,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(com.google.protobuf.ByteString data)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(com.google.protobuf.ByteString data,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(byte[] data)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(byte[] data,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                               throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Quota parseFrom​(java.io.InputStream input)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Quota parseFrom​(java.io.InputStream input,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Quota parseDelimitedFrom​(java.io.InputStream input)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static Quota parseDelimitedFrom​(java.io.InputStream input,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Quota parseFrom​(com.google.protobuf.CodedInputStream input)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static Quota parseFrom​(com.google.protobuf.CodedInputStream input,
                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public Quota.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Quota.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Quota.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Quota getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Quota> parser()
      • getParserForType

        public com.google.protobuf.Parser<Quota> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public Quota getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<com.google.protobuf.GeneratedMessageV3>
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder