Class 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.GeneratedMessageV3.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 Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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
      • clone

        public PricingExpression.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • setField

        public PricingExpression.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • clearField

        public PricingExpression.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • clearOneof

        public PricingExpression.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • setRepeatedField

        public PricingExpression.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                          int index,
                                                          Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • addRepeatedField

        public PricingExpression.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                          Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.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>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.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

        public PricingExpression.Builder addTieredRates​(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​(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.
      • 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.
      • setUnknownFields

        public final PricingExpression.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>
      • mergeUnknownFields

        public final PricingExpression.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<PricingExpression.Builder>