reseller.customers.get

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

reseller.customers.insert

enum_CustomerCustomerType := [ "customerTypeUnspecified", "domain", "team" ]

valid {
    input.Body.alternateEmail == STRING
    input.Body.customerDomain == STRING
    input.Body.customerDomainVerified == BOOLEAN
    input.Body.customerId == STRING
    input.Body.customerType == enum_CustomerCustomerType[_]
    input.Body.kind == STRING
    input.Body.phoneNumber == STRING
    input.Body.postalAddress.addressLine1 == STRING
    input.Body.postalAddress.addressLine2 == STRING
    input.Body.postalAddress.addressLine3 == STRING
    input.Body.postalAddress.contactName == STRING
    input.Body.postalAddress.countryCode == STRING
    input.Body.postalAddress.kind == STRING
    input.Body.postalAddress.locality == STRING
    input.Body.postalAddress.organizationName == STRING
    input.Body.postalAddress.postalCode == STRING
    input.Body.postalAddress.region == STRING
    input.Body.primaryAdmin.primaryEmail == STRING
    input.Body.resourceUiUrl == STRING
    input.Qs.customerAuthToken == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.customers.patch

enum_CustomerCustomerType := [ "customerTypeUnspecified", "domain", "team" ]

valid {
    input.Body.alternateEmail == STRING
    input.Body.customerDomain == STRING
    input.Body.customerDomainVerified == BOOLEAN
    input.Body.customerId == STRING
    input.Body.customerType == enum_CustomerCustomerType[_]
    input.Body.kind == STRING
    input.Body.phoneNumber == STRING
    input.Body.postalAddress.addressLine1 == STRING
    input.Body.postalAddress.addressLine2 == STRING
    input.Body.postalAddress.addressLine3 == STRING
    input.Body.postalAddress.contactName == STRING
    input.Body.postalAddress.countryCode == STRING
    input.Body.postalAddress.kind == STRING
    input.Body.postalAddress.locality == STRING
    input.Body.postalAddress.organizationName == STRING
    input.Body.postalAddress.postalCode == STRING
    input.Body.postalAddress.region == STRING
    input.Body.primaryAdmin.primaryEmail == STRING
    input.Body.resourceUiUrl == STRING
    input.ReqMap.customerId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.customers.update

enum_CustomerCustomerType := [ "customerTypeUnspecified", "domain", "team" ]

valid {
    input.Body.alternateEmail == STRING
    input.Body.customerDomain == STRING
    input.Body.customerDomainVerified == BOOLEAN
    input.Body.customerId == STRING
    input.Body.customerType == enum_CustomerCustomerType[_]
    input.Body.kind == STRING
    input.Body.phoneNumber == STRING
    input.Body.postalAddress.addressLine1 == STRING
    input.Body.postalAddress.addressLine2 == STRING
    input.Body.postalAddress.addressLine3 == STRING
    input.Body.postalAddress.contactName == STRING
    input.Body.postalAddress.countryCode == STRING
    input.Body.postalAddress.kind == STRING
    input.Body.postalAddress.locality == STRING
    input.Body.postalAddress.organizationName == STRING
    input.Body.postalAddress.postalCode == STRING
    input.Body.postalAddress.region == STRING
    input.Body.primaryAdmin.primaryEmail == STRING
    input.Body.resourceUiUrl == STRING
    input.ReqMap.customerId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.resellernotify.getwatchdetails

valid {
    input.ProviderMetadata.Region == STRING
}

reseller.resellernotify.register

valid {
    input.Qs.serviceAccountEmailAddress == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.resellernotify.unregister

valid {
    input.Qs.serviceAccountEmailAddress == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.activate

valid {
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.changePlan

valid {
    input.Body.dealCode == STRING
    input.Body.kind == STRING
    input.Body.planName == STRING
    input.Body.purchaseOrderId == STRING
    input.Body.seats.kind == STRING
    input.Body.seats.licensedNumberOfSeats == INTEGER
    input.Body.seats.maximumNumberOfSeats == INTEGER
    input.Body.seats.numberOfSeats == INTEGER
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.changeRenewalSettings

valid {
    input.Body.kind == STRING
    input.Body.renewalType == STRING
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.changeSeats

valid {
    input.Body.kind == STRING
    input.Body.licensedNumberOfSeats == INTEGER
    input.Body.maximumNumberOfSeats == INTEGER
    input.Body.numberOfSeats == INTEGER
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.delete

enum_DeletionTypeParameter := [ "deletion_type_undefined", "cancel", "transfer_to_direct" ]

valid {
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.Qs.deletionType == enum_DeletionTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.get

valid {
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.insert

enum_ActionParameter := [ "actionUnspecified", "buy", "switch" ]

valid {
    input.Body.billingMethod == STRING
    input.Body.creationTime == STRING
    input.Body.customerDomain == STRING
    input.Body.customerId == STRING
    input.Body.dealCode == STRING
    input.Body.kind == STRING
    input.Body.plan.commitmentInterval.endTime == STRING
    input.Body.plan.commitmentInterval.startTime == STRING
    input.Body.plan.isCommitmentPlan == BOOLEAN
    input.Body.plan.planName == STRING
    input.Body.purchaseOrderId == STRING
    input.Body.renewalSettings.kind == STRING
    input.Body.renewalSettings.renewalType == STRING
    input.Body.resourceUiUrl == STRING
    input.Body.seats.kind == STRING
    input.Body.seats.licensedNumberOfSeats == INTEGER
    input.Body.seats.maximumNumberOfSeats == INTEGER
    input.Body.seats.numberOfSeats == INTEGER
    input.Body.skuId == STRING
    input.Body.skuName == STRING
    input.Body.status == STRING
    input.Body.subscriptionId == STRING
    input.Body.suspensionReasons[_] == STRING
    input.Body.transferInfo.currentLegacySkuId == STRING
    input.Body.transferInfo.minimumTransferableSeats == INTEGER
    input.Body.transferInfo.transferabilityExpirationTime == STRING
    input.Body.trialSettings.isInTrial == BOOLEAN
    input.Body.trialSettings.trialEndTime == STRING
    input.ReqMap.customerId == STRING
    input.Qs.action == enum_ActionParameter[_]
    input.Qs.customerAuthToken == STRING
    input.Qs.sourceSkuId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.list

valid {
    input.Qs.customerAuthToken == STRING
    input.Qs.customerId == STRING
    input.Qs.customerNamePrefix == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.startPaidService

valid {
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}

reseller.subscriptions.suspend

valid {
    input.ReqMap.customerId == STRING
    input.ReqMap.subscriptionId == STRING
    input.ProviderMetadata.Region == STRING
}