RepricingConfig

Configuration for repricing a Google bill over a period of time.

JSON representation
{
  "effectiveInvoiceMonth": {
    object (Date)
  },
  "adjustment": {
    object (RepricingAdjustment)
  },
  "rebillingBasis": enum (RebillingBasis),
  "conditionalOverrides": [
    {
      object (ConditionalOverride)
    }
  ],

  // Union field granularity can be only one of the following:
  "entitlementGranularity": {
    object (EntitlementGranularity)
  },
  "channelPartnerGranularity": {
    object (ChannelPartnerGranularity)
  }
  // End of list of possible types for union field granularity.
}
Fields
effectiveInvoiceMonth

object (Date)

Required. The YearMonth when these adjustments activate. The Day field needs to be "0" since we only accept YearMonth repricing boundaries.

adjustment

object (RepricingAdjustment)

Required. Information about the adjustment.

rebillingBasis

enum (RebillingBasis)

Required. The RebillingBasis to use for this bill. Specifies the relative cost based on repricing costs you will apply.

conditionalOverrides[]

object (ConditionalOverride)

The conditional overrides to apply for this configuration. If you list multiple overrides, only the first valid override is used. If you don't list any overrides, the API uses the normal adjustment and rebilling basis.

Union field granularity. Required. Defines the granularity for repricing. granularity can be only one of the following:
entitlementGranularity

object (EntitlementGranularity)

Applies the repricing configuration at the entitlement level.

Note: If a ChannelPartnerRepricingConfig using RepricingConfig.EntitlementGranularity becomes effective, then no existing or future RepricingConfig.ChannelPartnerGranularity will apply to the RepricingConfig.EntitlementGranularity.entitlement. This is the recommended value for both CustomerRepricingConfig and ChannelPartnerRepricingConfig.

channelPartnerGranularity
(deprecated)

object (ChannelPartnerGranularity)

Applies the repricing configuration at the channel partner level. Only ChannelPartnerRepricingConfig supports this value. Deprecated: This is no longer supported. Use RepricingConfig.entitlement_granularity instead.

EntitlementGranularity

Applies the repricing configuration at the entitlement level.

JSON representation
{
  "entitlement": string
}
Fields
entitlement

string

Resource name of the entitlement. Format: accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}

ChannelPartnerGranularity

This type has no fields.

Applies the repricing configuration at the channel partner level. The channel partner value is derived from the resource name. Takes an empty json object. Deprecated: This is no longer supported. Use RepricingConfig.EntitlementGranularity instead.

RepricingAdjustment

A type that represents the various adjustments you can apply to a bill.

JSON representation
{

  // Union field adjustment can be only one of the following:
  "percentageAdjustment": {
    object (PercentageAdjustment)
  }
  // End of list of possible types for union field adjustment.
}
Fields
Union field adjustment. A oneof that represents the different types for this adjustment. adjustment can be only one of the following:
percentageAdjustment

object (PercentageAdjustment)

Flat markup or markdown on an entire bill.

PercentageAdjustment

An adjustment that applies a flat markup or markdown to an entire bill.

JSON representation
{
  "percentage": {
    object (Decimal)
  }
}
Fields
percentage

object (Decimal)

The percentage of the bill to adjust. For example: Mark down by 1% => "-1.00" Mark up by 1% => "1.00" Pass-Through => "0.00"

RebillingBasis

Specifies the different costs that the modified bill can be based on.

Enums
REBILLING_BASIS_UNSPECIFIED Not used.
COST_AT_LIST Use the list cost, also known as the MSRP.
DIRECT_CUSTOMER_COST Pass through all discounts except the Reseller Program Discount. If this is the default cost base and no adjustments are specified, the output cost will be exactly what the customer would see if they viewed the bill in the Google Cloud Console.

ConditionalOverride

Specifies the override to conditionally apply.

JSON representation
{
  "adjustment": {
    object (RepricingAdjustment)
  },
  "rebillingBasis": enum (RebillingBasis),
  "repricingCondition": {
    object (RepricingCondition)
  }
}
Fields
adjustment

object (RepricingAdjustment)

Required. Information about the applied override's adjustment.

rebillingBasis

enum (RebillingBasis)

Required. The RebillingBasis to use for the applied override. Shows the relative cost based on your repricing costs.

repricingCondition

object (RepricingCondition)

Required. Specifies the condition which, if met, will apply the override.

RepricingCondition

Represents the various repricing conditions you can use for a conditional override.

JSON representation
{

  // Union field condition can be only one of the following:
  "skuGroupCondition": {
    object (SkuGroupCondition)
  }
  // End of list of possible types for union field condition.
}
Fields
Union field condition. Represents the types of existing conditional statements. condition can be only one of the following:
skuGroupCondition

object (SkuGroupCondition)

SKU Group condition for override.

SkuGroupCondition

A condition that applies the override if a line item SKU is found in the SKU group.

JSON representation
{
  "skuGroup": string
}
Fields
skuGroup

string

Specifies a SKU group (https://cloud.google.com/skus/sku-groups). Resource name of SKU group. Format: accounts/{account}/skuGroups/{skuGroup}. Example: "accounts/C01234/skuGroups/3d50fd57-3157-4577-a5a9-a219b8490041".