PAYMENTSRESELLERSUBSCRIPTION

paymentsresellersubscription.partners.products.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.promotions.findEligible

valid {
    input.Body.filter == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.promotions.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.cancel

enum_GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequestCancellationReason := [ "CANCELLATION_REASON_UNSPECIFIED", "CANCELLATION_REASON_FRAUD", "CANCELLATION_REASON_REMORSE", "CANCELLATION_REASON_ACCIDENTAL_PURCHASE", "CANCELLATION_REASON_PAST_DUE", "CANCELLATION_REASON_ACCOUNT_CLOSED", "CANCELLATION_REASON_UPGRADE_DOWNGRADE", "CANCELLATION_REASON_USER_DELINQUENCY", "CANCELLATION_REASON_SYSTEM_ERROR", "CANCELLATION_REASON_SYSTEM_CANCEL", "CANCELLATION_REASON_OTHER" ]

valid {
    input.Body.cancelImmediately == BOOLEAN
    input.Body.cancellationReason == enum_GoogleCloudPaymentsResellerSubscriptionV1CancelSubscriptionRequestCancellationReason[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.create

enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadOffering := [ "OFFERING_UNSPECIFIED", "OFFERING_VAS_BUNDLE", "OFFERING_VAS_STANDALONE", "OFFERING_HARD_BUNDLE", "OFFERING_SOFT_BUNDLE" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadSalesChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_RETAIL", "CHANNEL_ONLINE_WEB", "CHANNEL_ONLINE_ANDROID_APP", "CHANNEL_ONLINE_IOS_APP" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetailsBillingCycleSpec := [ "BILLING_CYCLE_SPEC_UNSPECIFIED", "BILLING_CYCLE_SPEC_ALIGN_WITH_PREVIOUS_SUBSCRIPTION", "BILLING_CYCLE_SPEC_START_IMMEDIATELY" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1YoutubePayloadPartnerPlanType := [ "PARTNER_PLAN_TYPE_UNSPECIFIED", "PARTNER_PLAN_TYPE_STANDALONE", "PARTNER_PLAN_TYPE_HARD_BUNDLE", "PARTNER_PLAN_TYPE_SOFT_BUNDLE" ]

valid {
    input.Body.lineItems[_].finiteBillingCycleDetails.billingCycleCountLimit == STRING
    input.Body.lineItems[_].lineItemPromotionSpecs[_].promotion == STRING
    input.Body.lineItems[_].product == STRING
    input.Body.lineItems[_].productPayload.googleOnePayload.campaigns[_] == STRING
    input.Body.lineItems[_].productPayload.googleOnePayload.offering == enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadOffering[_]
    input.Body.lineItems[_].productPayload.googleOnePayload.salesChannel == enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadSalesChannel[_]
    input.Body.lineItems[_].productPayload.googleOnePayload.storeId == STRING
    input.Body.lineItems[_].productPayload.youtubePayload.partnerEligibilityIds[_] == STRING
    input.Body.lineItems[_].productPayload.youtubePayload.partnerPlanType == enum_GoogleCloudPaymentsResellerSubscriptionV1YoutubePayloadPartnerPlanType[_]
    input.Body.name == STRING
    input.Body.partnerUserToken == STRING
    input.Body.products[_] == STRING
    input.Body.promotionSpecs[_].promotion == STRING
    input.Body.promotions[_] == STRING
    input.Body.purchaseTime == STRING
    input.Body.serviceLocation.postalCode == STRING
    input.Body.serviceLocation.regionCode == STRING
    input.Body.upgradeDowngradeDetails.billingCycleSpec == enum_GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetailsBillingCycleSpec[_]
    input.Body.upgradeDowngradeDetails.previousSubscriptionId == STRING
    input.ReqMap.parent == STRING
    input.Qs.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.entitle

valid {
    input.Body.lineItemEntitlementDetails[_].lineItemIndex == INTEGER
    input.Body.lineItemEntitlementDetails[_].products[_] == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.extend

enum_GoogleCloudPaymentsResellerSubscriptionV1DurationUnit := [ "UNIT_UNSPECIFIED", "MONTH", "DAY", "HOUR" ]

valid {
    input.Body.extension.duration.count == INTEGER
    input.Body.extension.duration.unit == enum_GoogleCloudPaymentsResellerSubscriptionV1DurationUnit[_]
    input.Body.extension.partnerUserToken == STRING
    input.Body.requestId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.provision

enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadOffering := [ "OFFERING_UNSPECIFIED", "OFFERING_VAS_BUNDLE", "OFFERING_VAS_STANDALONE", "OFFERING_HARD_BUNDLE", "OFFERING_SOFT_BUNDLE" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadSalesChannel := [ "CHANNEL_UNSPECIFIED", "CHANNEL_RETAIL", "CHANNEL_ONLINE_WEB", "CHANNEL_ONLINE_ANDROID_APP", "CHANNEL_ONLINE_IOS_APP" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetailsBillingCycleSpec := [ "BILLING_CYCLE_SPEC_UNSPECIFIED", "BILLING_CYCLE_SPEC_ALIGN_WITH_PREVIOUS_SUBSCRIPTION", "BILLING_CYCLE_SPEC_START_IMMEDIATELY" ]
enum_GoogleCloudPaymentsResellerSubscriptionV1YoutubePayloadPartnerPlanType := [ "PARTNER_PLAN_TYPE_UNSPECIFIED", "PARTNER_PLAN_TYPE_STANDALONE", "PARTNER_PLAN_TYPE_HARD_BUNDLE", "PARTNER_PLAN_TYPE_SOFT_BUNDLE" ]

valid {
    input.Body.lineItems[_].finiteBillingCycleDetails.billingCycleCountLimit == STRING
    input.Body.lineItems[_].lineItemPromotionSpecs[_].promotion == STRING
    input.Body.lineItems[_].product == STRING
    input.Body.lineItems[_].productPayload.googleOnePayload.campaigns[_] == STRING
    input.Body.lineItems[_].productPayload.googleOnePayload.offering == enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadOffering[_]
    input.Body.lineItems[_].productPayload.googleOnePayload.salesChannel == enum_GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayloadSalesChannel[_]
    input.Body.lineItems[_].productPayload.googleOnePayload.storeId == STRING
    input.Body.lineItems[_].productPayload.youtubePayload.partnerEligibilityIds[_] == STRING
    input.Body.lineItems[_].productPayload.youtubePayload.partnerPlanType == enum_GoogleCloudPaymentsResellerSubscriptionV1YoutubePayloadPartnerPlanType[_]
    input.Body.name == STRING
    input.Body.partnerUserToken == STRING
    input.Body.products[_] == STRING
    input.Body.promotionSpecs[_].promotion == STRING
    input.Body.promotions[_] == STRING
    input.Body.purchaseTime == STRING
    input.Body.serviceLocation.postalCode == STRING
    input.Body.serviceLocation.regionCode == STRING
    input.Body.upgradeDowngradeDetails.billingCycleSpec == enum_GoogleCloudPaymentsResellerSubscriptionV1SubscriptionUpgradeDowngradeDetailsBillingCycleSpec[_]
    input.Body.upgradeDowngradeDetails.previousSubscriptionId == STRING
    input.ReqMap.parent == STRING
    input.Qs.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

paymentsresellersubscription.partners.subscriptions.undoCancel

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}