Class Quota.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Quota.Builder>
com.google.api.Quota.Builder
All Implemented Interfaces:
QuotaOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Quota

public static final class Quota.Builder extends com.google.protobuf.GeneratedMessage.Builder<Quota.Builder> 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
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Quota.Builder>
    • clear

      public Quota.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<Quota.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<Quota.Builder>
    • getDefaultInstanceForType

      public Quota getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

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

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

      public Quota.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Quota.Builder>
    • mergeFrom

      public Quota.Builder mergeFrom(Quota other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<Quota.Builder>
    • mergeFrom

      public Quota.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Quota.Builder>
      Throws:
      IOException
    • getLimitsList

      public 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
    • setLimits

      public Quota.Builder setLimits(int index, QuotaLimit value)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • setLimits

      public Quota.Builder setLimits(int index, QuotaLimit.Builder builderForValue)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addLimits

      public Quota.Builder addLimits(QuotaLimit value)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addLimits

      public Quota.Builder addLimits(int index, QuotaLimit value)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addLimits

      public Quota.Builder addLimits(QuotaLimit.Builder builderForValue)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addLimits

      public Quota.Builder addLimits(int index, QuotaLimit.Builder builderForValue)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addAllLimits

      public Quota.Builder addAllLimits(Iterable<? extends QuotaLimit> values)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • clearLimits

      public Quota.Builder clearLimits()
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • removeLimits

      public Quota.Builder removeLimits(int index)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • getLimitsBuilder

      public QuotaLimit.Builder getLimitsBuilder(int index)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • getLimitsOrBuilder

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

      public List<? extends QuotaLimitOrBuilder> getLimitsOrBuilderList()
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
      Specified by:
      getLimitsOrBuilderList in interface QuotaOrBuilder
    • addLimitsBuilder

      public QuotaLimit.Builder addLimitsBuilder()
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • addLimitsBuilder

      public QuotaLimit.Builder addLimitsBuilder(int index)
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • getLimitsBuilderList

      public List<QuotaLimit.Builder> getLimitsBuilderList()
       List of QuotaLimit definitions for the service.
       
      repeated .google.api.QuotaLimit limits = 3;
    • getMetricRulesList

      public 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
    • 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
    • setMetricRules

      public Quota.Builder setMetricRules(int index, MetricRule value)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • setMetricRules

      public Quota.Builder setMetricRules(int index, MetricRule.Builder builderForValue)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addMetricRules

      public Quota.Builder addMetricRules(MetricRule value)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addMetricRules

      public Quota.Builder addMetricRules(int index, MetricRule value)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addMetricRules

      public Quota.Builder addMetricRules(MetricRule.Builder builderForValue)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addMetricRules

      public Quota.Builder addMetricRules(int index, MetricRule.Builder builderForValue)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addAllMetricRules

      public Quota.Builder addAllMetricRules(Iterable<? extends MetricRule> values)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • clearMetricRules

      public Quota.Builder clearMetricRules()
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • removeMetricRules

      public Quota.Builder removeMetricRules(int index)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • getMetricRulesBuilder

      public MetricRule.Builder getMetricRulesBuilder(int index)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • 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
    • getMetricRulesOrBuilderList

      public 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
    • addMetricRulesBuilder

      public MetricRule.Builder addMetricRulesBuilder()
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • addMetricRulesBuilder

      public MetricRule.Builder addMetricRulesBuilder(int index)
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;
    • getMetricRulesBuilderList

      public List<MetricRule.Builder> getMetricRulesBuilderList()
       List of MetricRule definitions, each one mapping a selected method to one
       or more metrics.
       
      repeated .google.api.MetricRule metric_rules = 4;