CLOUDCHANNEL

cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.create

enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]
enum_GoogleCloudChannelV1RepricingConfigRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]

valid {
    input.Body.repricingConfig.adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.channelPartnerGranularity.STRING == STRING
    input.Body.repricingConfig.conditionalOverrides[_].adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.conditionalOverrides[_].rebillingBasis == enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis[_]
    input.Body.repricingConfig.conditionalOverrides[_].repricingCondition.skuGroupCondition.skuGroup == STRING
    input.Body.repricingConfig.effectiveInvoiceMonth.day == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.month == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.year == INTEGER
    input.Body.repricingConfig.entitlementGranularity.entitlement == STRING
    input.Body.repricingConfig.rebillingBasis == enum_GoogleCloudChannelV1RepricingConfigRebillingBasis[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.delete

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

cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.get

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

cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.list

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

cloudchannel.accounts.channelPartnerLinks.channelPartnerRepricingConfigs.patch

enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]
enum_GoogleCloudChannelV1RepricingConfigRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]

valid {
    input.Body.repricingConfig.adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.channelPartnerGranularity.STRING == STRING
    input.Body.repricingConfig.conditionalOverrides[_].adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.conditionalOverrides[_].rebillingBasis == enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis[_]
    input.Body.repricingConfig.conditionalOverrides[_].repricingCondition.skuGroupCondition.skuGroup == STRING
    input.Body.repricingConfig.effectiveInvoiceMonth.day == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.month == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.year == INTEGER
    input.Body.repricingConfig.entitlementGranularity.entitlement == STRING
    input.Body.repricingConfig.rebillingBasis == enum_GoogleCloudChannelV1RepricingConfigRebillingBasis[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.create

enum_GoogleCloudChannelV1ChannelPartnerLinkLinkState := [ "CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED", "INVITED", "ACTIVE", "REVOKED", "SUSPENDED" ]

valid {
    input.Body.linkState == enum_GoogleCloudChannelV1ChannelPartnerLinkLinkState[_]
    input.Body.resellerCloudIdentityId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.customers.create

valid {
    input.Body.alternateEmail == STRING
    input.Body.channelPartnerId == STRING
    input.Body.correlationId == STRING
    input.Body.domain == STRING
    input.Body.languageCode == STRING
    input.Body.orgDisplayName == STRING
    input.Body.orgPostalAddress.addressLines[_] == STRING
    input.Body.orgPostalAddress.administrativeArea == STRING
    input.Body.orgPostalAddress.languageCode == STRING
    input.Body.orgPostalAddress.locality == STRING
    input.Body.orgPostalAddress.organization == STRING
    input.Body.orgPostalAddress.postalCode == STRING
    input.Body.orgPostalAddress.recipients[_] == STRING
    input.Body.orgPostalAddress.regionCode == STRING
    input.Body.orgPostalAddress.revision == INTEGER
    input.Body.orgPostalAddress.sortingCode == STRING
    input.Body.orgPostalAddress.sublocality == STRING
    input.Body.primaryContactInfo.email == STRING
    input.Body.primaryContactInfo.firstName == STRING
    input.Body.primaryContactInfo.lastName == STRING
    input.Body.primaryContactInfo.phone == STRING
    input.Body.primaryContactInfo.title == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.customers.delete

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

cloudchannel.accounts.channelPartnerLinks.customers.get

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

cloudchannel.accounts.channelPartnerLinks.customers.import

valid {
    input.Body.authToken == STRING
    input.Body.channelPartnerId == STRING
    input.Body.cloudIdentityId == STRING
    input.Body.customer == STRING
    input.Body.domain == STRING
    input.Body.overwriteIfExists == BOOLEAN
    input.Body.primaryAdminEmail == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.customers.list

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

cloudchannel.accounts.channelPartnerLinks.customers.patch

valid {
    input.Body.alternateEmail == STRING
    input.Body.channelPartnerId == STRING
    input.Body.correlationId == STRING
    input.Body.domain == STRING
    input.Body.languageCode == STRING
    input.Body.orgDisplayName == STRING
    input.Body.orgPostalAddress.addressLines[_] == STRING
    input.Body.orgPostalAddress.administrativeArea == STRING
    input.Body.orgPostalAddress.languageCode == STRING
    input.Body.orgPostalAddress.locality == STRING
    input.Body.orgPostalAddress.organization == STRING
    input.Body.orgPostalAddress.postalCode == STRING
    input.Body.orgPostalAddress.recipients[_] == STRING
    input.Body.orgPostalAddress.regionCode == STRING
    input.Body.orgPostalAddress.revision == INTEGER
    input.Body.orgPostalAddress.sortingCode == STRING
    input.Body.orgPostalAddress.sublocality == STRING
    input.Body.primaryContactInfo.email == STRING
    input.Body.primaryContactInfo.firstName == STRING
    input.Body.primaryContactInfo.lastName == STRING
    input.Body.primaryContactInfo.phone == STRING
    input.Body.primaryContactInfo.title == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.get

enum_ViewParameter := [ "UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.list

enum_ViewParameter := [ "UNSPECIFIED", "BASIC", "FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.channelPartnerLinks.patch

enum_GoogleCloudChannelV1ChannelPartnerLinkLinkState := [ "CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED", "INVITED", "ACTIVE", "REVOKED", "SUSPENDED" ]

valid {
    input.Body.channelPartnerLink.linkState == enum_GoogleCloudChannelV1ChannelPartnerLinkLinkState[_]
    input.Body.channelPartnerLink.resellerCloudIdentityId == STRING
    input.Body.updateMask == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.checkCloudIdentityAccountsExist

valid {
    input.Body.domain == STRING
    input.Body.primaryAdminEmail == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.create

valid {
    input.Body.alternateEmail == STRING
    input.Body.channelPartnerId == STRING
    input.Body.correlationId == STRING
    input.Body.domain == STRING
    input.Body.languageCode == STRING
    input.Body.orgDisplayName == STRING
    input.Body.orgPostalAddress.addressLines[_] == STRING
    input.Body.orgPostalAddress.administrativeArea == STRING
    input.Body.orgPostalAddress.languageCode == STRING
    input.Body.orgPostalAddress.locality == STRING
    input.Body.orgPostalAddress.organization == STRING
    input.Body.orgPostalAddress.postalCode == STRING
    input.Body.orgPostalAddress.recipients[_] == STRING
    input.Body.orgPostalAddress.regionCode == STRING
    input.Body.orgPostalAddress.revision == INTEGER
    input.Body.orgPostalAddress.sortingCode == STRING
    input.Body.orgPostalAddress.sublocality == STRING
    input.Body.primaryContactInfo.email == STRING
    input.Body.primaryContactInfo.firstName == STRING
    input.Body.primaryContactInfo.lastName == STRING
    input.Body.primaryContactInfo.phone == STRING
    input.Body.primaryContactInfo.title == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.customerRepricingConfigs.create

enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]
enum_GoogleCloudChannelV1RepricingConfigRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]

valid {
    input.Body.repricingConfig.adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.channelPartnerGranularity.STRING == STRING
    input.Body.repricingConfig.conditionalOverrides[_].adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.conditionalOverrides[_].rebillingBasis == enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis[_]
    input.Body.repricingConfig.conditionalOverrides[_].repricingCondition.skuGroupCondition.skuGroup == STRING
    input.Body.repricingConfig.effectiveInvoiceMonth.day == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.month == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.year == INTEGER
    input.Body.repricingConfig.entitlementGranularity.entitlement == STRING
    input.Body.repricingConfig.rebillingBasis == enum_GoogleCloudChannelV1RepricingConfigRebillingBasis[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.customerRepricingConfigs.delete

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

cloudchannel.accounts.customers.customerRepricingConfigs.get

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

cloudchannel.accounts.customers.customerRepricingConfigs.list

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

cloudchannel.accounts.customers.customerRepricingConfigs.patch

enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]
enum_GoogleCloudChannelV1RepricingConfigRebillingBasis := [ "REBILLING_BASIS_UNSPECIFIED", "COST_AT_LIST", "DIRECT_CUSTOMER_COST" ]

valid {
    input.Body.repricingConfig.adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.channelPartnerGranularity.STRING == STRING
    input.Body.repricingConfig.conditionalOverrides[_].adjustment.percentageAdjustment.percentage.value == STRING
    input.Body.repricingConfig.conditionalOverrides[_].rebillingBasis == enum_GoogleCloudChannelV1ConditionalOverrideRebillingBasis[_]
    input.Body.repricingConfig.conditionalOverrides[_].repricingCondition.skuGroupCondition.skuGroup == STRING
    input.Body.repricingConfig.effectiveInvoiceMonth.day == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.month == INTEGER
    input.Body.repricingConfig.effectiveInvoiceMonth.year == INTEGER
    input.Body.repricingConfig.entitlementGranularity.entitlement == STRING
    input.Body.repricingConfig.rebillingBasis == enum_GoogleCloudChannelV1RepricingConfigRebillingBasis[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.delete

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

cloudchannel.accounts.customers.entitlements.activate

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

cloudchannel.accounts.customers.entitlements.cancel

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

cloudchannel.accounts.customers.entitlements.changeOffer

valid {
    input.Body.billingAccount == STRING
    input.Body.offer == STRING
    input.Body.parameters[_].name == STRING
    input.Body.parameters[_].value.boolValue == BOOLEAN
    input.Body.parameters[_].value.doubleValue == NUMBER
    input.Body.parameters[_].value.int64Value == STRING
    input.Body.parameters[_].value.protoValue.STRING == ANY
    input.Body.parameters[_].value.stringValue == STRING
    input.Body.priceReferenceId == STRING
    input.Body.purchaseOrderId == STRING
    input.Body.requestId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.entitlements.changeParameters

valid {
    input.Body.parameters[_].name == STRING
    input.Body.parameters[_].value.boolValue == BOOLEAN
    input.Body.parameters[_].value.doubleValue == NUMBER
    input.Body.parameters[_].value.int64Value == STRING
    input.Body.parameters[_].value.protoValue.STRING == ANY
    input.Body.parameters[_].value.stringValue == STRING
    input.Body.purchaseOrderId == STRING
    input.Body.requestId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.entitlements.changeRenewalSettings

enum_GoogleCloudChannelV1PeriodPeriodType := [ "PERIOD_TYPE_UNSPECIFIED", "DAY", "MONTH", "YEAR" ]
enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan := [ "PAYMENT_PLAN_UNSPECIFIED", "COMMITMENT", "FLEXIBLE", "FREE", "TRIAL", "OFFLINE" ]

valid {
    input.Body.renewalSettings.enableRenewal == BOOLEAN
    input.Body.renewalSettings.paymentCycle.duration == INTEGER
    input.Body.renewalSettings.paymentCycle.periodType == enum_GoogleCloudChannelV1PeriodPeriodType[_]
    input.Body.renewalSettings.paymentPlan == enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan[_]
    input.Body.renewalSettings.resizeUnitCount == BOOLEAN
    input.Body.requestId == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.entitlements.create

enum_GoogleCloudChannelV1PeriodPeriodType := [ "PERIOD_TYPE_UNSPECIFIED", "DAY", "MONTH", "YEAR" ]
enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan := [ "PAYMENT_PLAN_UNSPECIFIED", "COMMITMENT", "FLEXIBLE", "FREE", "TRIAL", "OFFLINE" ]

valid {
    input.Body.entitlement.associationInfo.baseEntitlement == STRING
    input.Body.entitlement.billingAccount == STRING
    input.Body.entitlement.commitmentSettings.renewalSettings.enableRenewal == BOOLEAN
    input.Body.entitlement.commitmentSettings.renewalSettings.paymentCycle.duration == INTEGER
    input.Body.entitlement.commitmentSettings.renewalSettings.paymentCycle.periodType == enum_GoogleCloudChannelV1PeriodPeriodType[_]
    input.Body.entitlement.commitmentSettings.renewalSettings.paymentPlan == enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan[_]
    input.Body.entitlement.commitmentSettings.renewalSettings.resizeUnitCount == BOOLEAN
    input.Body.entitlement.offer == STRING
    input.Body.entitlement.parameters[_].name == STRING
    input.Body.entitlement.parameters[_].value.boolValue == BOOLEAN
    input.Body.entitlement.parameters[_].value.doubleValue == NUMBER
    input.Body.entitlement.parameters[_].value.int64Value == STRING
    input.Body.entitlement.parameters[_].value.protoValue.STRING == ANY
    input.Body.entitlement.parameters[_].value.stringValue == STRING
    input.Body.entitlement.priceReferenceId == STRING
    input.Body.entitlement.purchaseOrderId == STRING
    input.Body.requestId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.entitlements.get

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

cloudchannel.accounts.customers.entitlements.list

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

cloudchannel.accounts.customers.entitlements.listEntitlementChanges

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

cloudchannel.accounts.customers.entitlements.lookupOffer

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

cloudchannel.accounts.customers.entitlements.startPaidService

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

cloudchannel.accounts.customers.entitlements.suspend

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

cloudchannel.accounts.customers.get

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

cloudchannel.accounts.customers.import

valid {
    input.Body.authToken == STRING
    input.Body.channelPartnerId == STRING
    input.Body.cloudIdentityId == STRING
    input.Body.customer == STRING
    input.Body.domain == STRING
    input.Body.overwriteIfExists == BOOLEAN
    input.Body.primaryAdminEmail == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.list

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

cloudchannel.accounts.customers.listPurchasableOffers

valid {
    input.ReqMap.customer == STRING
    input.Qs.changeOfferPurchase.billingAccount == STRING
    input.Qs.changeOfferPurchase.entitlement == STRING
    input.Qs.changeOfferPurchase.newSku == STRING
    input.Qs.createEntitlementPurchase.billingAccount == STRING
    input.Qs.createEntitlementPurchase.sku == STRING
    input.Qs.languageCode == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.listPurchasableSkus

enum_ChangeOfferPurchase.changeTypeParameter := [ "CHANGE_TYPE_UNSPECIFIED", "UPGRADE", "DOWNGRADE" ]

valid {
    input.ReqMap.customer == STRING
    input.Qs.changeOfferPurchase.changeType == enum_ChangeOfferPurchase.changeTypeParameter[_]
    input.Qs.changeOfferPurchase.entitlement == STRING
    input.Qs.createEntitlementPurchase.product == STRING
    input.Qs.languageCode == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.patch

valid {
    input.Body.alternateEmail == STRING
    input.Body.channelPartnerId == STRING
    input.Body.correlationId == STRING
    input.Body.domain == STRING
    input.Body.languageCode == STRING
    input.Body.orgDisplayName == STRING
    input.Body.orgPostalAddress.addressLines[_] == STRING
    input.Body.orgPostalAddress.administrativeArea == STRING
    input.Body.orgPostalAddress.languageCode == STRING
    input.Body.orgPostalAddress.locality == STRING
    input.Body.orgPostalAddress.organization == STRING
    input.Body.orgPostalAddress.postalCode == STRING
    input.Body.orgPostalAddress.recipients[_] == STRING
    input.Body.orgPostalAddress.regionCode == STRING
    input.Body.orgPostalAddress.revision == INTEGER
    input.Body.orgPostalAddress.sortingCode == STRING
    input.Body.orgPostalAddress.sublocality == STRING
    input.Body.primaryContactInfo.email == STRING
    input.Body.primaryContactInfo.firstName == STRING
    input.Body.primaryContactInfo.lastName == STRING
    input.Body.primaryContactInfo.phone == STRING
    input.Body.primaryContactInfo.title == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.provisionCloudIdentity

enum_GoogleCloudChannelV1CloudIdentityInfoCustomerType := [ "CUSTOMER_TYPE_UNSPECIFIED", "DOMAIN", "TEAM" ]
enum_GoogleCloudChannelV1EduDataInstituteSize := [ "INSTITUTE_SIZE_UNSPECIFIED", "SIZE_1_100", "SIZE_101_500", "SIZE_501_1000", "SIZE_1001_2000", "SIZE_2001_5000", "SIZE_5001_10000", "SIZE_10001_OR_MORE" ]
enum_GoogleCloudChannelV1EduDataInstituteType := [ "INSTITUTE_TYPE_UNSPECIFIED", "K12", "UNIVERSITY" ]

valid {
    input.Body.cloudIdentityInfo.alternateEmail == STRING
    input.Body.cloudIdentityInfo.customerType == enum_GoogleCloudChannelV1CloudIdentityInfoCustomerType[_]
    input.Body.cloudIdentityInfo.eduData.instituteSize == enum_GoogleCloudChannelV1EduDataInstituteSize[_]
    input.Body.cloudIdentityInfo.eduData.instituteType == enum_GoogleCloudChannelV1EduDataInstituteType[_]
    input.Body.cloudIdentityInfo.eduData.website == STRING
    input.Body.cloudIdentityInfo.languageCode == STRING
    input.Body.cloudIdentityInfo.phoneNumber == STRING
    input.Body.user.email == STRING
    input.Body.user.familyName == STRING
    input.Body.user.givenName == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.customer == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.queryEligibleBillingAccounts

valid {
    input.ReqMap.customer == STRING
    input.Qs.skus == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.transferEntitlements

enum_GoogleCloudChannelV1PeriodPeriodType := [ "PERIOD_TYPE_UNSPECIFIED", "DAY", "MONTH", "YEAR" ]
enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan := [ "PAYMENT_PLAN_UNSPECIFIED", "COMMITMENT", "FLEXIBLE", "FREE", "TRIAL", "OFFLINE" ]

valid {
    input.Body.authToken == STRING
    input.Body.entitlements[_].associationInfo.baseEntitlement == STRING
    input.Body.entitlements[_].billingAccount == STRING
    input.Body.entitlements[_].commitmentSettings.renewalSettings.enableRenewal == BOOLEAN
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentCycle.duration == INTEGER
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentCycle.periodType == enum_GoogleCloudChannelV1PeriodPeriodType[_]
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentPlan == enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan[_]
    input.Body.entitlements[_].commitmentSettings.renewalSettings.resizeUnitCount == BOOLEAN
    input.Body.entitlements[_].offer == STRING
    input.Body.entitlements[_].parameters[_].name == STRING
    input.Body.entitlements[_].parameters[_].value.boolValue == BOOLEAN
    input.Body.entitlements[_].parameters[_].value.doubleValue == NUMBER
    input.Body.entitlements[_].parameters[_].value.int64Value == STRING
    input.Body.entitlements[_].parameters[_].value.protoValue.STRING == ANY
    input.Body.entitlements[_].parameters[_].value.stringValue == STRING
    input.Body.entitlements[_].priceReferenceId == STRING
    input.Body.entitlements[_].purchaseOrderId == STRING
    input.Body.requestId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.customers.transferEntitlementsToGoogle

enum_GoogleCloudChannelV1PeriodPeriodType := [ "PERIOD_TYPE_UNSPECIFIED", "DAY", "MONTH", "YEAR" ]
enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan := [ "PAYMENT_PLAN_UNSPECIFIED", "COMMITMENT", "FLEXIBLE", "FREE", "TRIAL", "OFFLINE" ]

valid {
    input.Body.entitlements[_].associationInfo.baseEntitlement == STRING
    input.Body.entitlements[_].billingAccount == STRING
    input.Body.entitlements[_].commitmentSettings.renewalSettings.enableRenewal == BOOLEAN
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentCycle.duration == INTEGER
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentCycle.periodType == enum_GoogleCloudChannelV1PeriodPeriodType[_]
    input.Body.entitlements[_].commitmentSettings.renewalSettings.paymentPlan == enum_GoogleCloudChannelV1RenewalSettingsPaymentPlan[_]
    input.Body.entitlements[_].commitmentSettings.renewalSettings.resizeUnitCount == BOOLEAN
    input.Body.entitlements[_].offer == STRING
    input.Body.entitlements[_].parameters[_].name == STRING
    input.Body.entitlements[_].parameters[_].value.boolValue == BOOLEAN
    input.Body.entitlements[_].parameters[_].value.doubleValue == NUMBER
    input.Body.entitlements[_].parameters[_].value.int64Value == STRING
    input.Body.entitlements[_].parameters[_].value.protoValue.STRING == ANY
    input.Body.entitlements[_].parameters[_].value.stringValue == STRING
    input.Body.entitlements[_].priceReferenceId == STRING
    input.Body.entitlements[_].purchaseOrderId == STRING
    input.Body.requestId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.listSubscribers

valid {
    input.ReqMap.account == STRING
    input.Qs.integrator == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.listTransferableOffers

valid {
    input.Body.billingAccount == STRING
    input.Body.cloudIdentityId == STRING
    input.Body.customerName == STRING
    input.Body.languageCode == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.sku == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.listTransferableSkus

valid {
    input.Body.authToken == STRING
    input.Body.cloudIdentityId == STRING
    input.Body.customerName == STRING
    input.Body.languageCode == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.offers.list

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

cloudchannel.accounts.register

valid {
    input.Body.account == STRING
    input.Body.integrator == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.account == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.reportJobs.fetchReportResults

valid {
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.partitionKeys[_] == STRING
    input.ReqMap.reportJob == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.reports.list

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

cloudchannel.accounts.reports.run

valid {
    input.Body.dateRange.invoiceEndDate.day == INTEGER
    input.Body.dateRange.invoiceEndDate.month == INTEGER
    input.Body.dateRange.invoiceEndDate.year == INTEGER
    input.Body.dateRange.invoiceStartDate.day == INTEGER
    input.Body.dateRange.invoiceStartDate.month == INTEGER
    input.Body.dateRange.invoiceStartDate.year == INTEGER
    input.Body.dateRange.usageEndDateTime.day == INTEGER
    input.Body.dateRange.usageEndDateTime.hours == INTEGER
    input.Body.dateRange.usageEndDateTime.minutes == INTEGER
    input.Body.dateRange.usageEndDateTime.month == INTEGER
    input.Body.dateRange.usageEndDateTime.nanos == INTEGER
    input.Body.dateRange.usageEndDateTime.seconds == INTEGER
    input.Body.dateRange.usageEndDateTime.timeZone.id == STRING
    input.Body.dateRange.usageEndDateTime.timeZone.version == STRING
    input.Body.dateRange.usageEndDateTime.utcOffset == STRING
    input.Body.dateRange.usageEndDateTime.year == INTEGER
    input.Body.dateRange.usageStartDateTime.day == INTEGER
    input.Body.dateRange.usageStartDateTime.hours == INTEGER
    input.Body.dateRange.usageStartDateTime.minutes == INTEGER
    input.Body.dateRange.usageStartDateTime.month == INTEGER
    input.Body.dateRange.usageStartDateTime.nanos == INTEGER
    input.Body.dateRange.usageStartDateTime.seconds == INTEGER
    input.Body.dateRange.usageStartDateTime.timeZone.id == STRING
    input.Body.dateRange.usageStartDateTime.timeZone.version == STRING
    input.Body.dateRange.usageStartDateTime.utcOffset == STRING
    input.Body.dateRange.usageStartDateTime.year == INTEGER
    input.Body.filter == STRING
    input.Body.languageCode == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.accounts.skuGroups.billableSkus.list

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

cloudchannel.accounts.skuGroups.list

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

cloudchannel.accounts.unregister

valid {
    input.Body.account == STRING
    input.Body.integrator == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.account == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.integrators.listSubscribers

valid {
    input.ReqMap.integrator == STRING
    input.Qs.account == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.integrators.registerSubscriber

valid {
    input.Body.account == STRING
    input.Body.integrator == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.integrator == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.integrators.unregisterSubscriber

valid {
    input.Body.account == STRING
    input.Body.integrator == STRING
    input.Body.serviceAccount == STRING
    input.ReqMap.integrator == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.operations.cancel

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

cloudchannel.operations.delete

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

cloudchannel.operations.get

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

cloudchannel.operations.list

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

cloudchannel.products.list

valid {
    input.Qs.account == STRING
    input.Qs.languageCode == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

cloudchannel.products.skus.list

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