Class QuotaLimit

  • All Implemented Interfaces:
    QuotaLimitOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class QuotaLimit
    extends com.google.protobuf.GeneratedMessageV3
    implements QuotaLimitOrBuilder
     `QuotaLimit` defines a specific limit that applies over a specified duration
     for a limit type. There can be at most one limit for a duration and limit
     type combination defined within a `QuotaGroup`.
     
    Protobuf type google.api.QuotaLimit
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  QuotaLimit.Builder
      `QuotaLimit` defines a specific limit that applies over a specified duration for a limit type.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

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

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Method Detail

      • newInstance

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

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Name of the quota limit.
         The name must be provided, and it must be unique within the service. The
         name can only include alphanumeric characters as well as '-'.
         The maximum length of the limit name is 64 characters.
         
        string name = 6;
        Specified by:
        getName in interface QuotaLimitOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Name of the quota limit.
         The name must be provided, and it must be unique within the service. The
         name can only include alphanumeric characters as well as '-'.
         The maximum length of the limit name is 64 characters.
         
        string name = 6;
        Specified by:
        getNameBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for name.
      • getDescription

        public String getDescription()
         Optional. User-visible, extended description for this quota limit.
         Should be used only when more context is needed to understand this limit
         than provided by the limit's display name (see: `display_name`).
         
        string description = 2;
        Specified by:
        getDescription in interface QuotaLimitOrBuilder
        Returns:
        The description.
      • getDescriptionBytes

        public com.google.protobuf.ByteString getDescriptionBytes()
         Optional. User-visible, extended description for this quota limit.
         Should be used only when more context is needed to understand this limit
         than provided by the limit's display name (see: `display_name`).
         
        string description = 2;
        Specified by:
        getDescriptionBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for description.
      • getDefaultLimit

        public long getDefaultLimit()
         Default number of tokens that can be consumed during the specified
         duration. This is the number of tokens assigned when a client
         application developer activates the service for his/her project.
         Specifying a value of 0 will block all requests. This can be used if you
         are provisioning quota to selected consumers and blocking others.
         Similarly, a value of -1 will indicate an unlimited quota. No other
         negative values are allowed.
         Used by group-based quotas only.
         
        int64 default_limit = 3;
        Specified by:
        getDefaultLimit in interface QuotaLimitOrBuilder
        Returns:
        The defaultLimit.
      • getMaxLimit

        public long getMaxLimit()
         Maximum number of tokens that can be consumed during the specified
         duration. Client application developers can override the default limit up
         to this maximum. If specified, this value cannot be set to a value less
         than the default limit. If not specified, it is set to the default limit.
         To allow clients to apply overrides with no upper bound, set this to -1,
         indicating unlimited maximum quota.
         Used by group-based quotas only.
         
        int64 max_limit = 4;
        Specified by:
        getMaxLimit in interface QuotaLimitOrBuilder
        Returns:
        The maxLimit.
      • getFreeTier

        public long getFreeTier()
         Free tier value displayed in the Developers Console for this limit.
         The free tier is the number of tokens that will be subtracted from the
         billed amount when billing is enabled.
         This field can only be set on a limit with duration "1d", in a billable
         group; it is invalid on any other limit. If this field is not set, it
         defaults to 0, indicating that there is no free tier for this service.
         Used by group-based quotas only.
         
        int64 free_tier = 7;
        Specified by:
        getFreeTier in interface QuotaLimitOrBuilder
        Returns:
        The freeTier.
      • getDuration

        public String getDuration()
         Duration of this limit in textual notation. Must be "100s" or "1d".
         Used by group-based quotas only.
         
        string duration = 5;
        Specified by:
        getDuration in interface QuotaLimitOrBuilder
        Returns:
        The duration.
      • getDurationBytes

        public com.google.protobuf.ByteString getDurationBytes()
         Duration of this limit in textual notation. Must be "100s" or "1d".
         Used by group-based quotas only.
         
        string duration = 5;
        Specified by:
        getDurationBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for duration.
      • getMetric

        public String getMetric()
         The name of the metric this quota limit applies to. The quota limits with
         the same metric will be checked together during runtime. The metric must be
         defined within the service config.
         
        string metric = 8;
        Specified by:
        getMetric in interface QuotaLimitOrBuilder
        Returns:
        The metric.
      • getMetricBytes

        public com.google.protobuf.ByteString getMetricBytes()
         The name of the metric this quota limit applies to. The quota limits with
         the same metric will be checked together during runtime. The metric must be
         defined within the service config.
         
        string metric = 8;
        Specified by:
        getMetricBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for metric.
      • getUnit

        public String getUnit()
         Specify the unit of the quota limit. It uses the same syntax as
         [Metric.unit][]. The supported unit kinds are determined by the quota
         backend system.
         Here are some examples:
         * "1/min/{project}" for quota per minute per project.
         Note: the order of unit components is insignificant.
         The "1" at the beginning is required to follow the metric unit syntax.
         
        string unit = 9;
        Specified by:
        getUnit in interface QuotaLimitOrBuilder
        Returns:
        The unit.
      • getUnitBytes

        public com.google.protobuf.ByteString getUnitBytes()
         Specify the unit of the quota limit. It uses the same syntax as
         [Metric.unit][]. The supported unit kinds are determined by the quota
         backend system.
         Here are some examples:
         * "1/min/{project}" for quota per minute per project.
         Note: the order of unit components is insignificant.
         The "1" at the beginning is required to follow the metric unit syntax.
         
        string unit = 9;
        Specified by:
        getUnitBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for unit.
      • getValuesCount

        public int getValuesCount()
        Description copied from interface: QuotaLimitOrBuilder
         Tiered limit values. You must specify this as a key:value pair, with an
         integer value that is the maximum number of requests allowed for the
         specified unit. Currently only STANDARD is supported.
         
        map<string, int64> values = 10;
        Specified by:
        getValuesCount in interface QuotaLimitOrBuilder
      • containsValues

        public boolean containsValues​(String key)
         Tiered limit values. You must specify this as a key:value pair, with an
         integer value that is the maximum number of requests allowed for the
         specified unit. Currently only STANDARD is supported.
         
        map<string, int64> values = 10;
        Specified by:
        containsValues in interface QuotaLimitOrBuilder
      • getValuesMap

        public Map<String,​Long> getValuesMap()
         Tiered limit values. You must specify this as a key:value pair, with an
         integer value that is the maximum number of requests allowed for the
         specified unit. Currently only STANDARD is supported.
         
        map<string, int64> values = 10;
        Specified by:
        getValuesMap in interface QuotaLimitOrBuilder
      • getValuesOrDefault

        public long getValuesOrDefault​(String key,
                                       long defaultValue)
         Tiered limit values. You must specify this as a key:value pair, with an
         integer value that is the maximum number of requests allowed for the
         specified unit. Currently only STANDARD is supported.
         
        map<string, int64> values = 10;
        Specified by:
        getValuesOrDefault in interface QuotaLimitOrBuilder
      • getValuesOrThrow

        public long getValuesOrThrow​(String key)
         Tiered limit values. You must specify this as a key:value pair, with an
         integer value that is the maximum number of requests allowed for the
         specified unit. Currently only STANDARD is supported.
         
        map<string, int64> values = 10;
        Specified by:
        getValuesOrThrow in interface QuotaLimitOrBuilder
      • getDisplayName

        public String getDisplayName()
         User-visible display name for this limit.
         Optional. If not set, the UI will provide a default display name based on
         the quota configuration. This field can be used to override the default
         display name generated from the configuration.
         
        string display_name = 12;
        Specified by:
        getDisplayName in interface QuotaLimitOrBuilder
        Returns:
        The displayName.
      • getDisplayNameBytes

        public com.google.protobuf.ByteString getDisplayNameBytes()
         User-visible display name for this limit.
         Optional. If not set, the UI will provide a default display name based on
         the quota configuration. This field can be used to override the default
         display name generated from the configuration.
         
        string display_name = 12;
        Specified by:
        getDisplayNameBytes in interface QuotaLimitOrBuilder
        Returns:
        The bytes for displayName.
      • isInitialized

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

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

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

        public boolean equals​(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 QuotaLimit parseFrom​(ByteBuffer data)
                                    throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

        public static QuotaLimit getDefaultInstance()
      • parser

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

        public com.google.protobuf.Parser<QuotaLimit> 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.GeneratedMessageV3
      • getDefaultInstanceForType

        public QuotaLimit getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder