`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`.

Generated from protobuf message google.api.QuotaLimit

CloneableInstantiable
ExtendsGoogle\Protobuf\Internal\Message
Methods
public __construct( $data = NULL)
 
Constructor.

    public Google\Protobuf\Internal\Message::byteSize()
     


    • ignore
    public Google\Protobuf\Internal\Message::clear()
    public Google\Protobuf\Internal\Message::discardUnknownFields()
    public 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.

    Generated from protobuf field int64 default_limit = 3;

    • return int|string
    public 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).

    Generated from protobuf field string description = 2;

    • return string
    public 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.

    Generated from protobuf field string display_name = 12;

    • return string
    public getDuration()
     
    Duration of this limit in textual notation. Example: "100s", "24h", "1d".

    For duration longer than a day, only multiple of days is supported. We
    support only "100s" and "1d" for now. Additional support will be added in
    the future. "0" indicates indefinite duration.
    Used by group-based quotas only.

    Generated from protobuf field string duration = 5;

    • return string
    public 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.

    Generated from protobuf field int64 free_tier = 7;

    • return int|string
    public 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.

    Generated from protobuf field int64 max_limit = 4;

    • return int|string
    public 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.

    Used by metric-based quotas only.

    Generated from protobuf field string metric = 8;

    • return string
    public getName()
     
    Name of the quota limit. The name is used to refer to the limit when overriding the default limit on per-consumer basis.

    For group-based quota limits, the name must be unique within the quota
    group. If a name is not provided, it will be generated from the limit_by
    and duration fields.
    For metric-based quota limits, 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.
    The name of a limit is used as a unique identifier for this limit.
    Therefore, once a limit has been put into use, its name should be
    immutable. You can use the display_name field to provide a user-friendly
    name for the limit. The display name can be evolved over time without
    affecting the identity of the limit.

    Generated from protobuf field string name = 6;

    • return string
    public 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.

    The Google Service Control
    supports the following unit components:

    • One of the time intevals:
      • "/min" for quota every minute.
      • "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
      • Otherwise the quota won't be reset by time, such as storage limit.
    • One and only one of the granted containers:
      • "/{organization}" quota for an organization.
      • "/{project}" quota for a project.
      • "/{folder}" quota for a folder.
      • "/{resource}" quota for a universal resource.
    • Zero or more quota segmentation dimension. Not all combos are valid.
      • "/{region}" quota for every region. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{zone}" quota for every zone. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{resource}" quota for a resource associated with a project or org.
        Here are some examples:
    • "1/min/{project}" for quota per minute per project.
    • "1/min/{user}" for quota per minute per user.
    • "1/min/{organization}" for quota per minute per organization.
      Note: the order of unit components is insignificant.
      The "1" at the beginning is required to follow the metric unit syntax.
      Used by metric-based quotas only.

    Generated from protobuf field string unit = 9;

    • return string
    public getValues()
     
    Tiered limit values. Also allows for regional or zone overrides for these values if "/{region}" or "/{zone}" is specified in the unit field.

    Currently supported tiers from low to high:
    VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
    To apply different limit values for users according to their tiers, specify
    the values for the tiers you want to differentiate. For example:
    {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
    The limit value for each tier is optional except for the tier STANDARD.
    The limit value for an unspecified tier falls to the value of its next
    tier towards tier STANDARD. For the above example, the limit value for tier
    STANDARD is 500.
    To apply the same limit value for all users, just specify limit value for
    tier STANDARD. For example: {STANDARD:500}.
    To apply a regional overide for a tier, add a map entry with key
    "/", where is a region name. Similarly, for a zone
    override, add a map entry with key "/{zone}".
    Further, a wildcard can be used at the end of a zone name in order to
    specify zone level overrides. For example:
    LOW: 10, STANDARD: 50, HIGH: 100,
    LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
    LOW/us-central1-: 10, STANDARD/us-central1-: 20, HIGH/us-central1-*: 80
    The regional overrides tier set for each region must be the same as
    the tier set for default limit values. Same rule applies for zone overrides
    tier as well.
    Used by metric-based quotas only.

    Generated from protobuf field map<string, int64> values = 10;

    public Google\Protobuf\Internal\Message::jsonByteSize()
     


    • ignore
    public Google\Protobuf\Internal\Message::mergeFrom( $msg)
    public Google\Protobuf\Internal\Message::mergeFromJsonString( $data)
    public Google\Protobuf\Internal\Message::mergeFromString( $data)
    public Google\Protobuf\Internal\Message::parseFromJsonStream( $input)
     


    • ignore
    public Google\Protobuf\Internal\Message::parseFromStream( $input)
     


    • ignore
    public Google\Protobuf\Internal\Message::serializeToJsonStream( $output)
     


    • ignore
    public Google\Protobuf\Internal\Message::serializeToJsonString()
     
    Serialize the message to json string.

    • return string Serialized json protobuf data.
    public Google\Protobuf\Internal\Message::serializeToStream( $output)
     


    • ignore
    public Google\Protobuf\Internal\Message::serializeToString()
     
    Serialize the message to string.

    • return string Serialized binary protobuf data.
    public setDefaultLimit( $var)
     
    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.

    Generated from protobuf field int64 default_limit = 3;

    • return $this
    public setDescription( $var)
     
    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).

    Generated from protobuf field string description = 2;

    • return $this
    public setDisplayName( $var)
     
    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.

    Generated from protobuf field string display_name = 12;

    • return $this
    public setDuration( $var)
     
    Duration of this limit in textual notation. Example: "100s", "24h", "1d".

    For duration longer than a day, only multiple of days is supported. We
    support only "100s" and "1d" for now. Additional support will be added in
    the future. "0" indicates indefinite duration.
    Used by group-based quotas only.

    Generated from protobuf field string duration = 5;

    • return $this
    public setFreeTier( $var)
     
    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.

    Generated from protobuf field int64 free_tier = 7;

    • return $this
    public setMaxLimit( $var)
     
    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.

    Generated from protobuf field int64 max_limit = 4;

    • return $this
    public setMetric( $var)
     
    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.

    Used by metric-based quotas only.

    Generated from protobuf field string metric = 8;

    • return $this
    public setName( $var)
     
    Name of the quota limit. The name is used to refer to the limit when overriding the default limit on per-consumer basis.

    For group-based quota limits, the name must be unique within the quota
    group. If a name is not provided, it will be generated from the limit_by
    and duration fields.
    For metric-based quota limits, 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.
    The name of a limit is used as a unique identifier for this limit.
    Therefore, once a limit has been put into use, its name should be
    immutable. You can use the display_name field to provide a user-friendly
    name for the limit. The display name can be evolved over time without
    affecting the identity of the limit.

    Generated from protobuf field string name = 6;

    • return $this
    public setUnit( $var)
     
    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.

    The Google Service Control
    supports the following unit components:

    • One of the time intevals:
      • "/min" for quota every minute.
      • "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
      • Otherwise the quota won't be reset by time, such as storage limit.
    • One and only one of the granted containers:
      • "/{organization}" quota for an organization.
      • "/{project}" quota for a project.
      • "/{folder}" quota for a folder.
      • "/{resource}" quota for a universal resource.
    • Zero or more quota segmentation dimension. Not all combos are valid.
      • "/{region}" quota for every region. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{zone}" quota for every zone. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{resource}" quota for a resource associated with a project or org.
        Here are some examples:
    • "1/min/{project}" for quota per minute per project.
    • "1/min/{user}" for quota per minute per user.
    • "1/min/{organization}" for quota per minute per organization.
      Note: the order of unit components is insignificant.
      The "1" at the beginning is required to follow the metric unit syntax.
      Used by metric-based quotas only.

    Generated from protobuf field string unit = 9;

    • return $this
    public setValues( $var)
     
    Tiered limit values. Also allows for regional or zone overrides for these values if "/{region}" or "/{zone}" is specified in the unit field.

    Currently supported tiers from low to high:
    VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
    To apply different limit values for users according to their tiers, specify
    the values for the tiers you want to differentiate. For example:
    {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
    The limit value for each tier is optional except for the tier STANDARD.
    The limit value for an unspecified tier falls to the value of its next
    tier towards tier STANDARD. For the above example, the limit value for tier
    STANDARD is 500.
    To apply the same limit value for all users, just specify limit value for
    tier STANDARD. For example: {STANDARD:500}.
    To apply a regional overide for a tier, add a map entry with key
    "/", where is a region name. Similarly, for a zone
    override, add a map entry with key "/{zone}".
    Further, a wildcard can be used at the end of a zone name in order to
    specify zone level overrides. For example:
    LOW: 10, STANDARD: 50, HIGH: 100,
    LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
    LOW/us-central1-: 10, STANDARD/us-central1-: 20, HIGH/us-central1-*: 80
    The regional overrides tier set for each region must be the same as
    the tier set for default limit values. Same rule applies for zone overrides
    tier as well.
    Used by metric-based quotas only.

    Generated from protobuf field map<string, int64> values = 10;

    • return $this
    Methods
    protected Google\Protobuf\Internal\Message::mergeFromArray(array $array)
    protected Google\Protobuf\Internal\Message::mergeFromJsonArray( $array)
    protected Google\Protobuf\Internal\Message::readOneof( $number)
    protected Google\Protobuf\Internal\Message::readWrapperValue( $member)
    protected Google\Protobuf\Internal\Message::whichOneof( $oneof_name)
    protected Google\Protobuf\Internal\Message::writeOneof( $number, $value)
    protected Google\Protobuf\Internal\Message::writeWrapperValue( $member, $value)
    Properties
    private $default_limit
     
    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.

    Generated from protobuf field int64 default_limit = 3;

    private $description
     
    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).

    Generated from protobuf field string description = 2;

    private $display_name
     
    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.

    Generated from protobuf field string display_name = 12;

    private $duration
     
    Duration of this limit in textual notation. Example: "100s", "24h", "1d".

    For duration longer than a day, only multiple of days is supported. We
    support only "100s" and "1d" for now. Additional support will be added in
    the future. "0" indicates indefinite duration.
    Used by group-based quotas only.

    Generated from protobuf field string duration = 5;

    private $free_tier
     
    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.

    Generated from protobuf field int64 free_tier = 7;

    private $max_limit
     
    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.

    Generated from protobuf field int64 max_limit = 4;

    private $metric
     
    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.

    Used by metric-based quotas only.

    Generated from protobuf field string metric = 8;

    private $name
     
    Name of the quota limit. The name is used to refer to the limit when overriding the default limit on per-consumer basis.

    For group-based quota limits, the name must be unique within the quota
    group. If a name is not provided, it will be generated from the limit_by
    and duration fields.
    For metric-based quota limits, 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.
    The name of a limit is used as a unique identifier for this limit.
    Therefore, once a limit has been put into use, its name should be
    immutable. You can use the display_name field to provide a user-friendly
    name for the limit. The display name can be evolved over time without
    affecting the identity of the limit.

    Generated from protobuf field string name = 6;

    private $unit
     
    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.

    The Google Service Control
    supports the following unit components:

    • One of the time intevals:
      • "/min" for quota every minute.
      • "/d" for quota every 24 hours, starting 00:00 US Pacific Time.
      • Otherwise the quota won't be reset by time, such as storage limit.
    • One and only one of the granted containers:
      • "/{organization}" quota for an organization.
      • "/{project}" quota for a project.
      • "/{folder}" quota for a folder.
      • "/{resource}" quota for a universal resource.
    • Zero or more quota segmentation dimension. Not all combos are valid.
      • "/{region}" quota for every region. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{zone}" quota for every zone. Not to be used with time intervals.
      • Otherwise the resources granted on the target is not segmented.
      • "/{resource}" quota for a resource associated with a project or org.
        Here are some examples:
    • "1/min/{project}" for quota per minute per project.
    • "1/min/{user}" for quota per minute per user.
    • "1/min/{organization}" for quota per minute per organization.
      Note: the order of unit components is insignificant.
      The "1" at the beginning is required to follow the metric unit syntax.
      Used by metric-based quotas only.

    Generated from protobuf field string unit = 9;

    private $values
     
    Tiered limit values. Also allows for regional or zone overrides for these values if "/{region}" or "/{zone}" is specified in the unit field.

    Currently supported tiers from low to high:
    VERY_LOW, LOW, STANDARD, HIGH, VERY_HIGH
    To apply different limit values for users according to their tiers, specify
    the values for the tiers you want to differentiate. For example:
    {LOW:100, STANDARD:500, HIGH:1000, VERY_HIGH:5000}
    The limit value for each tier is optional except for the tier STANDARD.
    The limit value for an unspecified tier falls to the value of its next
    tier towards tier STANDARD. For the above example, the limit value for tier
    STANDARD is 500.
    To apply the same limit value for all users, just specify limit value for
    tier STANDARD. For example: {STANDARD:500}.
    To apply a regional overide for a tier, add a map entry with key
    "/", where is a region name. Similarly, for a zone
    override, add a map entry with key "/{zone}".
    Further, a wildcard can be used at the end of a zone name in order to
    specify zone level overrides. For example:
    LOW: 10, STANDARD: 50, HIGH: 100,
    LOW/us-central1: 20, STANDARD/us-central1: 60, HIGH/us-central1: 200,
    LOW/us-central1-: 10, STANDARD/us-central1-: 20, HIGH/us-central1-*: 80
    The regional overrides tier set for each region must be the same as
    the tier set for default limit values. Same rule applies for zone overrides
    tier as well.
    Used by metric-based quotas only.

    Generated from protobuf field map<string, int64> values = 10;

    Methods
    private Google\Protobuf\Internal\Message::appendHelper( $field, $append_value)
    private Google\Protobuf\Internal\Message::convertJsonValueToProtoValue( $value, $field, $is_map_key = false)
    private Google\Protobuf\Internal\Message::defaultValue( $field)
     


    • ignore
    private Google\Protobuf\Internal\Message::existField( $field)
     


    • ignore
    private Google\Protobuf\Internal\Message::fieldByteSize( $field)
     


    • ignore
    private Google\Protobuf\Internal\Message::fieldDataOnlyByteSize( $field, $value)
     


    • ignore
    private Google\Protobuf\Internal\Message::fieldDataOnlyJsonByteSize( $field, $value)
     


    • ignore
    private Google\Protobuf\Internal\Message::fieldJsonByteSize( $field)
     


    • ignore
    private Google\Protobuf\Internal\Message::initWithDescriptor(Google\Protobuf\Internal\Descriptor $desc)
     


    • ignore
    private Google\Protobuf\Internal\Message::initWithGeneratedPool()
     


    • ignore
    private Google\Protobuf\Internal\Message::kvUpdateHelper( $field, $update_key, $update_value)
    private Google\Protobuf\Internal\Message::mergeFromArrayJsonImpl( $array)
    private static Google\Protobuf\Internal\Message::normalizeArrayElementsToMessageType( $value, $class)
     
    Tries to normalize the elements in $value into a provided protobuf wrapper type $class. If $value is any type other than array, we do not do any conversion, and instead rely on the existing protobuf type checking. If $value is an array, we process each element and try to convert it to an instance of $class.

      private static Google\Protobuf\Internal\Message::normalizeToMessageType( $value, $class)
       
      Tries to normalize $value into a provided protobuf wrapper type $class.

      If $value is any type other than an object, we attempt to construct an
      instance of $class and assign $value to it using the setValue method
      shared by all wrapper types.

      This method will raise an error if it receives a type that cannot be
      assigned to the wrapper type via setValue.

        private Google\Protobuf\Internal\Message::parseFieldFromStream( $tag, $input, $field)
         


        • ignore
        private static Google\Protobuf\Internal\Message::parseFieldFromStreamNoTag( $input, $field, $value)
         


        • ignore
        private Google\Protobuf\Internal\Message::repeatedFieldDataOnlyByteSize( $field)
         


        • ignore
        private Google\Protobuf\Internal\Message::serializeFieldToJsonStream( $output, $field)
         


        • ignore
        private Google\Protobuf\Internal\Message::serializeFieldToStream( $output, $field)
         


        • ignore
        private Google\Protobuf\Internal\Message::serializeMapFieldToStream( $field, $output)
         


        • ignore
        private Google\Protobuf\Internal\Message::serializeRepeatedFieldToStream( $field, $output)
         


        • ignore
        private Google\Protobuf\Internal\Message::serializeSingularFieldToStream( $field, $output)
         


        • ignore
        private Google\Protobuf\Internal\Message::skipField( $input, $tag)
         


        • ignore
        Methods
        private static Google\Protobuf\Internal\Message::normalizeArrayElementsToMessageType( $value, $class)
         
        Tries to normalize the elements in $value into a provided protobuf wrapper type $class. If $value is any type other than array, we do not do any conversion, and instead rely on the existing protobuf type checking. If $value is an array, we process each element and try to convert it to an instance of $class.

          private static Google\Protobuf\Internal\Message::normalizeToMessageType( $value, $class)
           
          Tries to normalize $value into a provided protobuf wrapper type $class.

          If $value is any type other than an object, we attempt to construct an
          instance of $class and assign $value to it using the setValue method
          shared by all wrapper types.

          This method will raise an error if it receives a type that cannot be
          assigned to the wrapper type via setValue.

            private static Google\Protobuf\Internal\Message::parseFieldFromStreamNoTag( $input, $field, $value)
             


            • ignore
            © 2020 Bruce Wells
            Search Namespaces \ Classes
            ConfigurationNumbers (0-9.) only