Reference documentation and code samples for the Cloud Commerce Producer V1BETA API class Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer.
Configurations for the offer that is associated with a single product.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#amended_private_offer
def amended_private_offer() -> ::String-
(::String) — Optional. An existing private offer that will be superseded by this
offer. Unless the private offer is for a product type that supports
multiple active
orders,
an amendment private offer must be transacted if and only if the
destination customer billing account already contains an active order
for the same product. The offer to be superseded must be the offer
associated with an active order.
Amendments generally fall into one of two scenarios:
- Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
- Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).
If this is set, then the
base_standard_offerparent service must match the parent service of thebase_standard_offerin theamended_private_offer.Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:
- Price Model Compatibility:
- Flat Fee (with or without usage) offers can amend Flat Fee offers.
- Usage-only or CUD offers can amend usage-only offers.
- Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
- Billing Frequency Compatibility: Determined by
standard_intervalorcustom_interval_price.- If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
- If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
- Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
- For Monthly frequency, switching between
MONTHLY_PRORATEDandMONTHLY_NOT_PRORATEDis supported, unless the offer'sterm.end_policyisMATCH_AMENDED_OFFER. - For usage-only offers, there are no billing frequency restrictions.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_private_offer,amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
#amended_private_offer=
def amended_private_offer=(value) -> ::String-
value (::String) — Optional. An existing private offer that will be superseded by this
offer. Unless the private offer is for a product type that supports
multiple active
orders,
an amendment private offer must be transacted if and only if the
destination customer billing account already contains an active order
for the same product. The offer to be superseded must be the offer
associated with an active order.
Amendments generally fall into one of two scenarios:
- Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
- Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).
If this is set, then the
base_standard_offerparent service must match the parent service of thebase_standard_offerin theamended_private_offer.Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:
- Price Model Compatibility:
- Flat Fee (with or without usage) offers can amend Flat Fee offers.
- Usage-only or CUD offers can amend usage-only offers.
- Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
- Billing Frequency Compatibility: Determined by
standard_intervalorcustom_interval_price.- If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
- If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
- Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
- For Monthly frequency, switching between
MONTHLY_PRORATEDandMONTHLY_NOT_PRORATEDis supported, unless the offer'sterm.end_policyisMATCH_AMENDED_OFFER. - For usage-only offers, there are no billing frequency restrictions.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_private_offer,amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
-
(::String) — Optional. An existing private offer that will be superseded by this
offer. Unless the private offer is for a product type that supports
multiple active
orders,
an amendment private offer must be transacted if and only if the
destination customer billing account already contains an active order
for the same product. The offer to be superseded must be the offer
associated with an active order.
Amendments generally fall into one of two scenarios:
- Active Order / Ended Offer: The term of the amended offer has ended but it is still associated with an active order. The new offer must amend the ended private offer.
- Active Order / Active Offer: The term of the amended offer is still active and the associated order is active. Similar to above, the new offer must amend the currently active offer (unless "multiple active orders" are supported).
If this is set, then the
base_standard_offerparent service must match the parent service of thebase_standard_offerin theamended_private_offer.Active Term Restrictions: If the term of the amended private offer has NOT ended, then the following compatibility rules apply:
- Price Model Compatibility:
- Flat Fee (with or without usage) offers can amend Flat Fee offers.
- Usage-only or CUD offers can amend usage-only offers.
- Commitment-based offers must amend offers of the same price model subtype (e.g., "additional usage at list price" vs "all usage discounted").
- Billing Frequency Compatibility: Determined by
standard_intervalorcustom_interval_price.- If the amended offer has a custom billing frequency, the new offer must also have a custom frequency.
- If the amended offer has a standard frequency (Monthly, Quarterly, or Yearly), the new offer must maintain the same frequency or transition to a custom frequency.
- Switching between different standard frequencies (e.g., Monthly to Quarterly) is not supported.
- For Monthly frequency, switching between
MONTHLY_PRORATEDandMONTHLY_NOT_PRORATEDis supported, unless the offer'sterm.end_policyisMATCH_AMENDED_OFFER. - For usage-only offers, there are no billing frequency restrictions.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_private_offer,amended_standard_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
#amended_standard_offer
def amended_standard_offer() -> ::String-
(::String) — Optional. An existing standard offer that will be superseded by this
offer. An amendment private offer must be transacted if the destination
customer billing account already contains an active order for the same
product, and otherwise cannot be transacted. The offer to be superseded
must be the offer associated with the active order.
If this is set, then the
base_standard_offermust contain the same parent service as the parent service of theamended_standard_offer. The price model of this offer must be compatible with the price model of theamended_standard_offer:- Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
- Usage-only offers, or CUD offers can amend usage-only standard offers.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_standard_offer,amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
#amended_standard_offer=
def amended_standard_offer=(value) -> ::String-
value (::String) — Optional. An existing standard offer that will be superseded by this
offer. An amendment private offer must be transacted if the destination
customer billing account already contains an active order for the same
product, and otherwise cannot be transacted. The offer to be superseded
must be the offer associated with the active order.
If this is set, then the
base_standard_offermust contain the same parent service as the parent service of theamended_standard_offer. The price model of this offer must be compatible with the price model of theamended_standard_offer:- Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
- Usage-only offers, or CUD offers can amend usage-only standard offers.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_standard_offer,amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
-
(::String) — Optional. An existing standard offer that will be superseded by this
offer. An amendment private offer must be transacted if the destination
customer billing account already contains an active order for the same
product, and otherwise cannot be transacted. The offer to be superseded
must be the offer associated with the active order.
If this is set, then the
base_standard_offermust contain the same parent service as the parent service of theamended_standard_offer. The price model of this offer must be compatible with the price model of theamended_standard_offer:- Flat Fee, or Flat Fee with usage offers can amend Flat Fee or Flat Fee with usage standard offers.
- Usage-only offers, or CUD offers can amend usage-only standard offers.
Other criteria for offer amendment are detailed elsewhere.
Note: The following fields are mutually exclusive:
amended_standard_offer,amended_private_offer. If a field in that set is populated, all other fields in the set will automatically be cleared.
#base_standard_offer
def base_standard_offer() -> ::String-
(::String) — Optional. The StandardOffer this PrivateOffer is based on.
Must be in the same project as the private offer, and must be effective
at the time of publishing. Must be present to publish the offer.
Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
#base_standard_offer=
def base_standard_offer=(value) -> ::String-
value (::String) — Optional. The StandardOffer this PrivateOffer is based on.
Must be in the same project as the private offer, and must be effective
at the time of publishing. Must be present to publish the offer.
Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
-
(::String) — Optional. The StandardOffer this PrivateOffer is based on.
Must be in the same project as the private offer, and must be effective
at the time of publishing. Must be present to publish the offer.
Format: projects/{project}/locations/{location}/services/{service}/standardOffers/{standard_offer}
#contract_value
def contract_value() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::ContractValue-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::ContractValue) — Output only. Contract value of the offer.
Not included for
PRIVATE_OFFER_VIEW_BASIC.
#custom_interval_price
def custom_interval_price() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals.
Custom interval corresponds to "custom billing frequency",
see
https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
custom_interval_price,standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.
#custom_interval_price=
def custom_interval_price=(value) -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice-
value (::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals.
Custom interval corresponds to "custom billing frequency",
see
https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
custom_interval_price,standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.
-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::CustomIntervalPrice) — Optional. Price configurations for offers with custom intervals.
Custom interval corresponds to "custom billing frequency",
see
https://docs.cloud.google.com/marketplace/docs/partners/offers/select-payment-schedule.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
custom_interval_price,standard_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.
#effective_installment_timeline
def effective_installment_timeline() -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Installment>-
(::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Installment>) — Output only. The effective installment timeline of the offer.
Not included for
PRIVATE_OFFER_VIEW_BASIC. Included forPRIVATE_OFFER_VIEW_FULLif all necessary information is available to generate the timeline, and if the offer has 'standard_interval_price' of 'MONTHLY_PRORATED', 'MONTHLY_NOT_PRORATED', 'QUARTERLY_NOT_PRORATED', or 'YEARLY_NOT_PRORATED'.
#features
def features() -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>-
(::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer.
Feature
display_namevalues must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.
#features=
def features=(value) -> ::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>-
value (::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer.
Feature
display_namevalues must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.
-
(::Array<::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::Feature>) — Optional. The custom product features to display for this offer.
Feature
display_namevalues must be unique to publish the offer. The set of features specified here should generally include all features included in the base service level, with optionally customized values, but is not required to match exactly and may include additional features.
#reseller_private_offer_plan_id
def reseller_private_offer_plan_id() -> ::String-
(::String) — Output only. Present for offers created by a reseller from a reseller
private offer plan (RPOP). When set, contains the ID of the originating
RPOP. Not included for
PRIVATE_OFFER_VIEW_BASIC.
#revenue_share
def revenue_share() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::RevenueShare-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::RevenueShare) — Output only. Revenue share information for this Private Offer.
Not included for
PRIVATE_OFFER_VIEW_BASIC.
#service_level
def service_level() -> ::String- (::String) — Output only. The service level (also known as the 'plan') of the base standard offer. The value is populated at publish time from the base standard offer.
#standard_interval_price
def standard_interval_price() -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice) — Optional. Price configurations for offers with standard intervals.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
standard_interval_price,custom_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.
#standard_interval_price=
def standard_interval_price=(value) -> ::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice-
value (::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice) — Optional. Price configurations for offers with standard intervals.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
standard_interval_price,custom_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.
-
(::Google::Cloud::CommerceProducer::V1beta::PrivateOffer::SingleProductOffer::StandardIntervalPrice) — Optional. Price configurations for offers with standard intervals.
A price must be set when publishing the offer.
Note: The following fields are mutually exclusive:
standard_interval_price,custom_interval_price. If a field in that set is populated, all other fields in the set will automatically be cleared.