Class PricingExpression.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<PricingExpression.Builder>
com.google.cloud.billing.v1.PricingExpression.Builder
All Implemented Interfaces:
PricingExpressionOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
PricingExpression

public static final class PricingExpression.Builder extends com.google.protobuf.GeneratedMessage.Builder<PricingExpression.Builder> implements PricingExpressionOrBuilder
 Expresses a mathematical pricing formula. For Example:-

 `usage_unit: GBy`
 `tiered_rates:`
 `[start_usage_amount: 20, unit_price: $10]`
 `[start_usage_amount: 100, unit_price: $5]`

 The above expresses a pricing formula where the first 20GB is free, the
 next 80GB is priced at $10 per GB followed by $5 per GB for additional
 usage.
 
Protobuf type google.cloud.billing.v1.PricingExpression
  • 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<PricingExpression.Builder>
    • clear

      public PricingExpression.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<PricingExpression.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<PricingExpression.Builder>
    • getDefaultInstanceForType

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

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

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

      public PricingExpression.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<PricingExpression.Builder>
    • mergeFrom

      public PricingExpression.Builder mergeFrom(PricingExpression other)
    • isInitialized

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

      public PricingExpression.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<PricingExpression.Builder>
      Throws:
      IOException
    • getUsageUnit

      public String getUsageUnit()
       The short hand for unit of usage this pricing is specified in.
       Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
       
      string usage_unit = 1;
      Specified by:
      getUsageUnit in interface PricingExpressionOrBuilder
      Returns:
      The usageUnit.
    • getUsageUnitBytes

      public com.google.protobuf.ByteString getUsageUnitBytes()
       The short hand for unit of usage this pricing is specified in.
       Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
       
      string usage_unit = 1;
      Specified by:
      getUsageUnitBytes in interface PricingExpressionOrBuilder
      Returns:
      The bytes for usageUnit.
    • setUsageUnit

      public PricingExpression.Builder setUsageUnit(String value)
       The short hand for unit of usage this pricing is specified in.
       Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
       
      string usage_unit = 1;
      Parameters:
      value - The usageUnit to set.
      Returns:
      This builder for chaining.
    • clearUsageUnit

      public PricingExpression.Builder clearUsageUnit()
       The short hand for unit of usage this pricing is specified in.
       Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
       
      string usage_unit = 1;
      Returns:
      This builder for chaining.
    • setUsageUnitBytes

      public PricingExpression.Builder setUsageUnitBytes(com.google.protobuf.ByteString value)
       The short hand for unit of usage this pricing is specified in.
       Example: usage_unit of "GiBy" means that usage is specified in "Gibi Byte".
       
      string usage_unit = 1;
      Parameters:
      value - The bytes for usageUnit to set.
      Returns:
      This builder for chaining.
    • getDisplayQuantity

      public double getDisplayQuantity()
       The recommended quantity of units for displaying pricing info. When
       displaying pricing info it is recommended to display:
       (unit_price * display_quantity) per display_quantity usage_unit.
       This field does not affect the pricing formula and is for display purposes
       only.
       Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
       the display_quantity is "1000" then the recommended way of displaying the
       pricing info is "0.10 USD per 1000 GB"
       
      double display_quantity = 2;
      Specified by:
      getDisplayQuantity in interface PricingExpressionOrBuilder
      Returns:
      The displayQuantity.
    • setDisplayQuantity

      public PricingExpression.Builder setDisplayQuantity(double value)
       The recommended quantity of units for displaying pricing info. When
       displaying pricing info it is recommended to display:
       (unit_price * display_quantity) per display_quantity usage_unit.
       This field does not affect the pricing formula and is for display purposes
       only.
       Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
       the display_quantity is "1000" then the recommended way of displaying the
       pricing info is "0.10 USD per 1000 GB"
       
      double display_quantity = 2;
      Parameters:
      value - The displayQuantity to set.
      Returns:
      This builder for chaining.
    • clearDisplayQuantity

      public PricingExpression.Builder clearDisplayQuantity()
       The recommended quantity of units for displaying pricing info. When
       displaying pricing info it is recommended to display:
       (unit_price * display_quantity) per display_quantity usage_unit.
       This field does not affect the pricing formula and is for display purposes
       only.
       Example: If the unit_price is "0.0001 USD", the usage_unit is "GB" and
       the display_quantity is "1000" then the recommended way of displaying the
       pricing info is "0.10 USD per 1000 GB"
       
      double display_quantity = 2;
      Returns:
      This builder for chaining.
    • getTieredRatesList

      public List<PricingExpression.TierRate> getTieredRatesList()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
      Specified by:
      getTieredRatesList in interface PricingExpressionOrBuilder
    • getTieredRatesCount

      public int getTieredRatesCount()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
      Specified by:
      getTieredRatesCount in interface PricingExpressionOrBuilder
    • getTieredRates

      public PricingExpression.TierRate getTieredRates(int index)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
      Specified by:
      getTieredRates in interface PricingExpressionOrBuilder
    • setTieredRates

      public PricingExpression.Builder setTieredRates(int index, PricingExpression.TierRate value)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • setTieredRates

      public PricingExpression.Builder setTieredRates(int index, PricingExpression.TierRate.Builder builderForValue)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addTieredRates

       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addTieredRates

      public PricingExpression.Builder addTieredRates(int index, PricingExpression.TierRate value)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addTieredRates

      public PricingExpression.Builder addTieredRates(PricingExpression.TierRate.Builder builderForValue)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addTieredRates

      public PricingExpression.Builder addTieredRates(int index, PricingExpression.TierRate.Builder builderForValue)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addAllTieredRates

      public PricingExpression.Builder addAllTieredRates(Iterable<? extends PricingExpression.TierRate> values)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • clearTieredRates

      public PricingExpression.Builder clearTieredRates()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • removeTieredRates

      public PricingExpression.Builder removeTieredRates(int index)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • getTieredRatesBuilder

      public PricingExpression.TierRate.Builder getTieredRatesBuilder(int index)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • getTieredRatesOrBuilder

      public PricingExpression.TierRateOrBuilder getTieredRatesOrBuilder(int index)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
      Specified by:
      getTieredRatesOrBuilder in interface PricingExpressionOrBuilder
    • getTieredRatesOrBuilderList

      public List<? extends PricingExpression.TierRateOrBuilder> getTieredRatesOrBuilderList()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
      Specified by:
      getTieredRatesOrBuilderList in interface PricingExpressionOrBuilder
    • addTieredRatesBuilder

      public PricingExpression.TierRate.Builder addTieredRatesBuilder()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • addTieredRatesBuilder

      public PricingExpression.TierRate.Builder addTieredRatesBuilder(int index)
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • getTieredRatesBuilderList

      public List<PricingExpression.TierRate.Builder> getTieredRatesBuilderList()
       The list of tiered rates for this pricing. The total cost is computed by
       applying each of the tiered rates on usage. This repeated list is sorted
       by ascending order of start_usage_amount.
       
      repeated .google.cloud.billing.v1.PricingExpression.TierRate tiered_rates = 3;
    • getUsageUnitDescription

      public String getUsageUnitDescription()
       The unit of usage in human readable form.
       Example: "gibi byte".
       
      string usage_unit_description = 4;
      Specified by:
      getUsageUnitDescription in interface PricingExpressionOrBuilder
      Returns:
      The usageUnitDescription.
    • getUsageUnitDescriptionBytes

      public com.google.protobuf.ByteString getUsageUnitDescriptionBytes()
       The unit of usage in human readable form.
       Example: "gibi byte".
       
      string usage_unit_description = 4;
      Specified by:
      getUsageUnitDescriptionBytes in interface PricingExpressionOrBuilder
      Returns:
      The bytes for usageUnitDescription.
    • setUsageUnitDescription

      public PricingExpression.Builder setUsageUnitDescription(String value)
       The unit of usage in human readable form.
       Example: "gibi byte".
       
      string usage_unit_description = 4;
      Parameters:
      value - The usageUnitDescription to set.
      Returns:
      This builder for chaining.
    • clearUsageUnitDescription

      public PricingExpression.Builder clearUsageUnitDescription()
       The unit of usage in human readable form.
       Example: "gibi byte".
       
      string usage_unit_description = 4;
      Returns:
      This builder for chaining.
    • setUsageUnitDescriptionBytes

      public PricingExpression.Builder setUsageUnitDescriptionBytes(com.google.protobuf.ByteString value)
       The unit of usage in human readable form.
       Example: "gibi byte".
       
      string usage_unit_description = 4;
      Parameters:
      value - The bytes for usageUnitDescription to set.
      Returns:
      This builder for chaining.
    • getBaseUnit

      public String getBaseUnit()
       The base unit for the SKU which is the unit used in usage exports.
       Example: "By"
       
      string base_unit = 5;
      Specified by:
      getBaseUnit in interface PricingExpressionOrBuilder
      Returns:
      The baseUnit.
    • getBaseUnitBytes

      public com.google.protobuf.ByteString getBaseUnitBytes()
       The base unit for the SKU which is the unit used in usage exports.
       Example: "By"
       
      string base_unit = 5;
      Specified by:
      getBaseUnitBytes in interface PricingExpressionOrBuilder
      Returns:
      The bytes for baseUnit.
    • setBaseUnit

      public PricingExpression.Builder setBaseUnit(String value)
       The base unit for the SKU which is the unit used in usage exports.
       Example: "By"
       
      string base_unit = 5;
      Parameters:
      value - The baseUnit to set.
      Returns:
      This builder for chaining.
    • clearBaseUnit

      public PricingExpression.Builder clearBaseUnit()
       The base unit for the SKU which is the unit used in usage exports.
       Example: "By"
       
      string base_unit = 5;
      Returns:
      This builder for chaining.
    • setBaseUnitBytes

      public PricingExpression.Builder setBaseUnitBytes(com.google.protobuf.ByteString value)
       The base unit for the SKU which is the unit used in usage exports.
       Example: "By"
       
      string base_unit = 5;
      Parameters:
      value - The bytes for baseUnit to set.
      Returns:
      This builder for chaining.
    • getBaseUnitDescription

      public String getBaseUnitDescription()
       The base unit in human readable form.
       Example: "byte".
       
      string base_unit_description = 6;
      Specified by:
      getBaseUnitDescription in interface PricingExpressionOrBuilder
      Returns:
      The baseUnitDescription.
    • getBaseUnitDescriptionBytes

      public com.google.protobuf.ByteString getBaseUnitDescriptionBytes()
       The base unit in human readable form.
       Example: "byte".
       
      string base_unit_description = 6;
      Specified by:
      getBaseUnitDescriptionBytes in interface PricingExpressionOrBuilder
      Returns:
      The bytes for baseUnitDescription.
    • setBaseUnitDescription

      public PricingExpression.Builder setBaseUnitDescription(String value)
       The base unit in human readable form.
       Example: "byte".
       
      string base_unit_description = 6;
      Parameters:
      value - The baseUnitDescription to set.
      Returns:
      This builder for chaining.
    • clearBaseUnitDescription

      public PricingExpression.Builder clearBaseUnitDescription()
       The base unit in human readable form.
       Example: "byte".
       
      string base_unit_description = 6;
      Returns:
      This builder for chaining.
    • setBaseUnitDescriptionBytes

      public PricingExpression.Builder setBaseUnitDescriptionBytes(com.google.protobuf.ByteString value)
       The base unit in human readable form.
       Example: "byte".
       
      string base_unit_description = 6;
      Parameters:
      value - The bytes for baseUnitDescription to set.
      Returns:
      This builder for chaining.
    • getBaseUnitConversionFactor

      public double getBaseUnitConversionFactor()
       Conversion factor for converting from price per usage_unit to price per
       base_unit, and start_usage_amount to start_usage_amount in base_unit.
       unit_price / base_unit_conversion_factor = price per base_unit.
       start_usage_amount * base_unit_conversion_factor = start_usage_amount in
       base_unit.
       
      double base_unit_conversion_factor = 7;
      Specified by:
      getBaseUnitConversionFactor in interface PricingExpressionOrBuilder
      Returns:
      The baseUnitConversionFactor.
    • setBaseUnitConversionFactor

      public PricingExpression.Builder setBaseUnitConversionFactor(double value)
       Conversion factor for converting from price per usage_unit to price per
       base_unit, and start_usage_amount to start_usage_amount in base_unit.
       unit_price / base_unit_conversion_factor = price per base_unit.
       start_usage_amount * base_unit_conversion_factor = start_usage_amount in
       base_unit.
       
      double base_unit_conversion_factor = 7;
      Parameters:
      value - The baseUnitConversionFactor to set.
      Returns:
      This builder for chaining.
    • clearBaseUnitConversionFactor

      public PricingExpression.Builder clearBaseUnitConversionFactor()
       Conversion factor for converting from price per usage_unit to price per
       base_unit, and start_usage_amount to start_usage_amount in base_unit.
       unit_price / base_unit_conversion_factor = price per base_unit.
       start_usage_amount * base_unit_conversion_factor = start_usage_amount in
       base_unit.
       
      double base_unit_conversion_factor = 7;
      Returns:
      This builder for chaining.