DFAREPORTING

dfareporting.accountActiveAdSummaries.get

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.summaryAccountId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountPermissionGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountPermissionGroups.list

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

dfareporting.accountPermissions.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountPermissions.list

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

dfareporting.accountUserProfiles.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountUserProfiles.insert

enum_AccountUserProfileTraffickerType := [ "INTERNAL_NON_TRAFFICKER", "INTERNAL_TRAFFICKER", "EXTERNAL_TRAFFICKER" ]
enum_AccountUserProfileUserAccessType := [ "NORMAL_USER", "SUPER_USER", "INTERNAL_ADMINISTRATOR", "READ_ONLY_SUPER_USER" ]
enum_ObjectFilterStatus := [ "NONE", "ASSIGNED", "ALL" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserFilter.kind == STRING
    input.Body.advertiserFilter.objectIds[_] == STRING
    input.Body.advertiserFilter.status == enum_ObjectFilterStatus[_]
    input.Body.campaignFilter.kind == STRING
    input.Body.campaignFilter.objectIds[_] == STRING
    input.Body.campaignFilter.status == enum_ObjectFilterStatus[_]
    input.Body.comments == STRING
    input.Body.email == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.locale == STRING
    input.Body.name == STRING
    input.Body.siteFilter.kind == STRING
    input.Body.siteFilter.objectIds[_] == STRING
    input.Body.siteFilter.status == enum_ObjectFilterStatus[_]
    input.Body.subaccountId == STRING
    input.Body.traffickerType == enum_AccountUserProfileTraffickerType[_]
    input.Body.userAccessType == enum_AccountUserProfileUserAccessType[_]
    input.Body.userRoleFilter.kind == STRING
    input.Body.userRoleFilter.objectIds[_] == STRING
    input.Body.userRoleFilter.status == enum_ObjectFilterStatus[_]
    input.Body.userRoleId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountUserProfiles.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.subaccountId == STRING
    input.Qs.userRoleId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountUserProfiles.patch

enum_AccountUserProfileTraffickerType := [ "INTERNAL_NON_TRAFFICKER", "INTERNAL_TRAFFICKER", "EXTERNAL_TRAFFICKER" ]
enum_AccountUserProfileUserAccessType := [ "NORMAL_USER", "SUPER_USER", "INTERNAL_ADMINISTRATOR", "READ_ONLY_SUPER_USER" ]
enum_ObjectFilterStatus := [ "NONE", "ASSIGNED", "ALL" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserFilter.kind == STRING
    input.Body.advertiserFilter.objectIds[_] == STRING
    input.Body.advertiserFilter.status == enum_ObjectFilterStatus[_]
    input.Body.campaignFilter.kind == STRING
    input.Body.campaignFilter.objectIds[_] == STRING
    input.Body.campaignFilter.status == enum_ObjectFilterStatus[_]
    input.Body.comments == STRING
    input.Body.email == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.locale == STRING
    input.Body.name == STRING
    input.Body.siteFilter.kind == STRING
    input.Body.siteFilter.objectIds[_] == STRING
    input.Body.siteFilter.status == enum_ObjectFilterStatus[_]
    input.Body.subaccountId == STRING
    input.Body.traffickerType == enum_AccountUserProfileTraffickerType[_]
    input.Body.userAccessType == enum_AccountUserProfileUserAccessType[_]
    input.Body.userRoleFilter.kind == STRING
    input.Body.userRoleFilter.objectIds[_] == STRING
    input.Body.userRoleFilter.status == enum_ObjectFilterStatus[_]
    input.Body.userRoleId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accountUserProfiles.update

enum_AccountUserProfileTraffickerType := [ "INTERNAL_NON_TRAFFICKER", "INTERNAL_TRAFFICKER", "EXTERNAL_TRAFFICKER" ]
enum_AccountUserProfileUserAccessType := [ "NORMAL_USER", "SUPER_USER", "INTERNAL_ADMINISTRATOR", "READ_ONLY_SUPER_USER" ]
enum_ObjectFilterStatus := [ "NONE", "ASSIGNED", "ALL" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserFilter.kind == STRING
    input.Body.advertiserFilter.objectIds[_] == STRING
    input.Body.advertiserFilter.status == enum_ObjectFilterStatus[_]
    input.Body.campaignFilter.kind == STRING
    input.Body.campaignFilter.objectIds[_] == STRING
    input.Body.campaignFilter.status == enum_ObjectFilterStatus[_]
    input.Body.comments == STRING
    input.Body.email == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.locale == STRING
    input.Body.name == STRING
    input.Body.siteFilter.kind == STRING
    input.Body.siteFilter.objectIds[_] == STRING
    input.Body.siteFilter.status == enum_ObjectFilterStatus[_]
    input.Body.subaccountId == STRING
    input.Body.traffickerType == enum_AccountUserProfileTraffickerType[_]
    input.Body.userAccessType == enum_AccountUserProfileUserAccessType[_]
    input.Body.userRoleFilter.kind == STRING
    input.Body.userRoleFilter.objectIds[_] == STRING
    input.Body.userRoleFilter.status == enum_ObjectFilterStatus[_]
    input.Body.userRoleId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accounts.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accounts.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.accounts.patch

enum_AccountAccountProfile := [ "ACCOUNT_PROFILE_BASIC", "ACCOUNT_PROFILE_STANDARD" ]
enum_AccountActiveAdsLimitTier := [ "ACTIVE_ADS_TIER_40K", "ACTIVE_ADS_TIER_75K", "ACTIVE_ADS_TIER_100K", "ACTIVE_ADS_TIER_200K", "ACTIVE_ADS_TIER_300K", "ACTIVE_ADS_TIER_500K", "ACTIVE_ADS_TIER_750K", "ACTIVE_ADS_TIER_1M" ]

valid {
    input.Body.accountPermissionIds[_] == STRING
    input.Body.accountProfile == enum_AccountAccountProfile[_]
    input.Body.active == BOOLEAN
    input.Body.activeAdsLimitTier == enum_AccountActiveAdsLimitTier[_]
    input.Body.activeViewOptOut == BOOLEAN
    input.Body.availablePermissionIds[_] == STRING
    input.Body.countryId == STRING
    input.Body.currencyId == STRING
    input.Body.defaultCreativeSizeId == STRING
    input.Body.description == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.locale == STRING
    input.Body.maximumImageSize == STRING
    input.Body.name == STRING
    input.Body.nielsenOcrEnabled == BOOLEAN
    input.Body.reportsConfiguration.exposureToConversionEnabled == BOOLEAN
    input.Body.reportsConfiguration.lookbackConfiguration.clickDuration == INTEGER
    input.Body.reportsConfiguration.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.reportsConfiguration.reportGenerationTimeZoneId == STRING
    input.Body.shareReportsWithTwitter == BOOLEAN
    input.Body.teaserSizeLimit == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.accounts.update

enum_AccountAccountProfile := [ "ACCOUNT_PROFILE_BASIC", "ACCOUNT_PROFILE_STANDARD" ]
enum_AccountActiveAdsLimitTier := [ "ACTIVE_ADS_TIER_40K", "ACTIVE_ADS_TIER_75K", "ACTIVE_ADS_TIER_100K", "ACTIVE_ADS_TIER_200K", "ACTIVE_ADS_TIER_300K", "ACTIVE_ADS_TIER_500K", "ACTIVE_ADS_TIER_750K", "ACTIVE_ADS_TIER_1M" ]

valid {
    input.Body.accountPermissionIds[_] == STRING
    input.Body.accountProfile == enum_AccountAccountProfile[_]
    input.Body.active == BOOLEAN
    input.Body.activeAdsLimitTier == enum_AccountActiveAdsLimitTier[_]
    input.Body.activeViewOptOut == BOOLEAN
    input.Body.availablePermissionIds[_] == STRING
    input.Body.countryId == STRING
    input.Body.currencyId == STRING
    input.Body.defaultCreativeSizeId == STRING
    input.Body.description == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.locale == STRING
    input.Body.maximumImageSize == STRING
    input.Body.name == STRING
    input.Body.nielsenOcrEnabled == BOOLEAN
    input.Body.reportsConfiguration.exposureToConversionEnabled == BOOLEAN
    input.Body.reportsConfiguration.lookbackConfiguration.clickDuration == INTEGER
    input.Body.reportsConfiguration.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.reportsConfiguration.reportGenerationTimeZoneId == STRING
    input.Body.shareReportsWithTwitter == BOOLEAN
    input.Body.teaserSizeLimit == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.ads.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.ads.insert

enum_AdCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_AdType := [ "AD_SERVING_STANDARD_AD", "AD_SERVING_DEFAULT_AD", "AD_SERVING_CLICK_TRACKER", "AD_SERVING_TRACKING", "AD_SERVING_BRAND_SAFE_AD" ]
enum_CreativeGroupAssignmentCreativeGroupNumber := [ "CREATIVE_GROUP_ONE", "CREATIVE_GROUP_TWO" ]
enum_CreativeRotationType := [ "CREATIVE_ROTATION_TYPE_SEQUENTIAL", "CREATIVE_ROTATION_TYPE_RANDOM" ]
enum_CreativeRotationWeightCalculationStrategy := [ "WEIGHT_STRATEGY_EQUAL", "WEIGHT_STRATEGY_CUSTOM", "WEIGHT_STRATEGY_HIGHEST_CTR", "WEIGHT_STRATEGY_OPTIMIZED" ]
enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DeliverySchedulePriority := [ "AD_PRIORITY_01", "AD_PRIORITY_02", "AD_PRIORITY_03", "AD_PRIORITY_04", "AD_PRIORITY_05", "AD_PRIORITY_06", "AD_PRIORITY_07", "AD_PRIORITY_08", "AD_PRIORITY_09", "AD_PRIORITY_10", "AD_PRIORITY_11", "AD_PRIORITY_12", "AD_PRIORITY_13", "AD_PRIORITY_14", "AD_PRIORITY_15", "AD_PRIORITY_16" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentId == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.clickThroughUrl.landingPageId == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comments == STRING
    input.Body.compatibility == enum_AdCompatibility[_]
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].active == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].applyEventTags == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.dimensionName == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.etag == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.id == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.kind == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.value == STRING
    input.Body.creativeRotation.creativeAssignments[_].endTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].enabled == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].exitId == STRING
    input.Body.creativeRotation.creativeAssignments[_].sequence == INTEGER
    input.Body.creativeRotation.creativeAssignments[_].sslCompliant == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].startTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].weight == INTEGER
    input.Body.creativeRotation.creativeOptimizationConfigurationId == STRING
    input.Body.creativeRotation.type == enum_CreativeRotationType[_]
    input.Body.creativeRotation.weightCalculationStrategy == enum_CreativeRotationWeightCalculationStrategy[_]
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.deliverySchedule.frequencyCap.duration == STRING
    input.Body.deliverySchedule.frequencyCap.impressions == STRING
    input.Body.deliverySchedule.hardCutoff == BOOLEAN
    input.Body.deliverySchedule.impressionRatio == STRING
    input.Body.deliverySchedule.priority == enum_DeliverySchedulePriority[_]
    input.Body.dynamicClickTracker == BOOLEAN
    input.Body.endTime == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementAssignments[_].active == BOOLEAN
    input.Body.placementAssignments[_].placementId == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.dimensionName == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.etag == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.id == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.kind == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementAssignments[_].placementIdDimensionValue.value == STRING
    input.Body.placementAssignments[_].sslRequired == BOOLEAN
    input.Body.remarketingListExpression.expression == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.startTime == STRING
    input.Body.subaccountId == STRING
    input.Body.targetingTemplateId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.Body.type == enum_AdType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.ads.list

enum_CompatibilityParameter := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_TypeParameter := [ "AD_SERVING_STANDARD_AD", "AD_SERVING_DEFAULT_AD", "AD_SERVING_CLICK_TRACKER", "AD_SERVING_TRACKING", "AD_SERVING_BRAND_SAFE_AD" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.advertiserId == STRING
    input.Qs.archived == BOOLEAN
    input.Qs.audienceSegmentIds == STRING
    input.Qs.campaignIds == STRING
    input.Qs.compatibility == enum_CompatibilityParameter[_]
    input.Qs.creativeIds == STRING
    input.Qs.creativeOptimizationConfigurationIds == STRING
    input.Qs.dynamicClickTracker == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.landingPageIds == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.overriddenEventTagId == STRING
    input.Qs.pageToken == STRING
    input.Qs.placementIds == STRING
    input.Qs.remarketingListIds == STRING
    input.Qs.searchString == STRING
    input.Qs.sizeIds == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.sslCompliant == BOOLEAN
    input.Qs.sslRequired == BOOLEAN
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.ads.patch

enum_AdCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_AdType := [ "AD_SERVING_STANDARD_AD", "AD_SERVING_DEFAULT_AD", "AD_SERVING_CLICK_TRACKER", "AD_SERVING_TRACKING", "AD_SERVING_BRAND_SAFE_AD" ]
enum_CreativeGroupAssignmentCreativeGroupNumber := [ "CREATIVE_GROUP_ONE", "CREATIVE_GROUP_TWO" ]
enum_CreativeRotationType := [ "CREATIVE_ROTATION_TYPE_SEQUENTIAL", "CREATIVE_ROTATION_TYPE_RANDOM" ]
enum_CreativeRotationWeightCalculationStrategy := [ "WEIGHT_STRATEGY_EQUAL", "WEIGHT_STRATEGY_CUSTOM", "WEIGHT_STRATEGY_HIGHEST_CTR", "WEIGHT_STRATEGY_OPTIMIZED" ]
enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DeliverySchedulePriority := [ "AD_PRIORITY_01", "AD_PRIORITY_02", "AD_PRIORITY_03", "AD_PRIORITY_04", "AD_PRIORITY_05", "AD_PRIORITY_06", "AD_PRIORITY_07", "AD_PRIORITY_08", "AD_PRIORITY_09", "AD_PRIORITY_10", "AD_PRIORITY_11", "AD_PRIORITY_12", "AD_PRIORITY_13", "AD_PRIORITY_14", "AD_PRIORITY_15", "AD_PRIORITY_16" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentId == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.clickThroughUrl.landingPageId == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comments == STRING
    input.Body.compatibility == enum_AdCompatibility[_]
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].active == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].applyEventTags == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.dimensionName == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.etag == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.id == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.kind == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.value == STRING
    input.Body.creativeRotation.creativeAssignments[_].endTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].enabled == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].exitId == STRING
    input.Body.creativeRotation.creativeAssignments[_].sequence == INTEGER
    input.Body.creativeRotation.creativeAssignments[_].sslCompliant == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].startTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].weight == INTEGER
    input.Body.creativeRotation.creativeOptimizationConfigurationId == STRING
    input.Body.creativeRotation.type == enum_CreativeRotationType[_]
    input.Body.creativeRotation.weightCalculationStrategy == enum_CreativeRotationWeightCalculationStrategy[_]
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.deliverySchedule.frequencyCap.duration == STRING
    input.Body.deliverySchedule.frequencyCap.impressions == STRING
    input.Body.deliverySchedule.hardCutoff == BOOLEAN
    input.Body.deliverySchedule.impressionRatio == STRING
    input.Body.deliverySchedule.priority == enum_DeliverySchedulePriority[_]
    input.Body.dynamicClickTracker == BOOLEAN
    input.Body.endTime == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementAssignments[_].active == BOOLEAN
    input.Body.placementAssignments[_].placementId == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.dimensionName == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.etag == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.id == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.kind == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementAssignments[_].placementIdDimensionValue.value == STRING
    input.Body.placementAssignments[_].sslRequired == BOOLEAN
    input.Body.remarketingListExpression.expression == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.startTime == STRING
    input.Body.subaccountId == STRING
    input.Body.targetingTemplateId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.Body.type == enum_AdType[_]
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.ads.update

enum_AdCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_AdType := [ "AD_SERVING_STANDARD_AD", "AD_SERVING_DEFAULT_AD", "AD_SERVING_CLICK_TRACKER", "AD_SERVING_TRACKING", "AD_SERVING_BRAND_SAFE_AD" ]
enum_CreativeGroupAssignmentCreativeGroupNumber := [ "CREATIVE_GROUP_ONE", "CREATIVE_GROUP_TWO" ]
enum_CreativeRotationType := [ "CREATIVE_ROTATION_TYPE_SEQUENTIAL", "CREATIVE_ROTATION_TYPE_RANDOM" ]
enum_CreativeRotationWeightCalculationStrategy := [ "WEIGHT_STRATEGY_EQUAL", "WEIGHT_STRATEGY_CUSTOM", "WEIGHT_STRATEGY_HIGHEST_CTR", "WEIGHT_STRATEGY_OPTIMIZED" ]
enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DeliverySchedulePriority := [ "AD_PRIORITY_01", "AD_PRIORITY_02", "AD_PRIORITY_03", "AD_PRIORITY_04", "AD_PRIORITY_05", "AD_PRIORITY_06", "AD_PRIORITY_07", "AD_PRIORITY_08", "AD_PRIORITY_09", "AD_PRIORITY_10", "AD_PRIORITY_11", "AD_PRIORITY_12", "AD_PRIORITY_13", "AD_PRIORITY_14", "AD_PRIORITY_15", "AD_PRIORITY_16" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentId == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.clickThroughUrl.landingPageId == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comments == STRING
    input.Body.compatibility == enum_AdCompatibility[_]
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].active == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].applyEventTags == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].companionCreativeOverrides[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeGroupAssignments[_].creativeGroupNumber == enum_CreativeGroupAssignmentCreativeGroupNumber[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeId == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.dimensionName == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.etag == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.id == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.kind == STRING
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeRotation.creativeAssignments[_].creativeIdDimensionValue.value == STRING
    input.Body.creativeRotation.creativeAssignments[_].endTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.defaultLandingPage == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].clickThroughUrl.landingPageId == STRING
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].enabled == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].richMediaExitOverrides[_].exitId == STRING
    input.Body.creativeRotation.creativeAssignments[_].sequence == INTEGER
    input.Body.creativeRotation.creativeAssignments[_].sslCompliant == BOOLEAN
    input.Body.creativeRotation.creativeAssignments[_].startTime == STRING
    input.Body.creativeRotation.creativeAssignments[_].weight == INTEGER
    input.Body.creativeRotation.creativeOptimizationConfigurationId == STRING
    input.Body.creativeRotation.type == enum_CreativeRotationType[_]
    input.Body.creativeRotation.weightCalculationStrategy == enum_CreativeRotationWeightCalculationStrategy[_]
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.deliverySchedule.frequencyCap.duration == STRING
    input.Body.deliverySchedule.frequencyCap.impressions == STRING
    input.Body.deliverySchedule.hardCutoff == BOOLEAN
    input.Body.deliverySchedule.impressionRatio == STRING
    input.Body.deliverySchedule.priority == enum_DeliverySchedulePriority[_]
    input.Body.dynamicClickTracker == BOOLEAN
    input.Body.endTime == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementAssignments[_].active == BOOLEAN
    input.Body.placementAssignments[_].placementId == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.dimensionName == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.etag == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.id == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.kind == STRING
    input.Body.placementAssignments[_].placementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementAssignments[_].placementIdDimensionValue.value == STRING
    input.Body.placementAssignments[_].sslRequired == BOOLEAN
    input.Body.remarketingListExpression.expression == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.startTime == STRING
    input.Body.subaccountId == STRING
    input.Body.targetingTemplateId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.Body.type == enum_AdType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.insert

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.patch

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserGroups.update

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserInvoices.list

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.issueMonth == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserLandingPages.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserLandingPages.insert

enum_MobileAppDirectory := [ "UNKNOWN", "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "ROKU_APP_STORE", "AMAZON_FIRETV_APP_STORE", "PLAYSTATION_APP_STORE", "APPLE_TV_APP_STORE", "XBOX_APP_STORE", "SAMSUNG_TV_APP_STORE", "ANDROID_TV_APP_STORE", "GENERIC_CTV_APP_STORE" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.archived == BOOLEAN
    input.Body.deepLinks[_].appUrl == STRING
    input.Body.deepLinks[_].fallbackUrl == STRING
    input.Body.deepLinks[_].kind == STRING
    input.Body.deepLinks[_].mobileApp.directory == enum_MobileAppDirectory[_]
    input.Body.deepLinks[_].mobileApp.id == STRING
    input.Body.deepLinks[_].mobileApp.kind == STRING
    input.Body.deepLinks[_].mobileApp.publisherName == STRING
    input.Body.deepLinks[_].mobileApp.title == STRING
    input.Body.deepLinks[_].remarketingListIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserLandingPages.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserIds == STRING
    input.Qs.archived == BOOLEAN
    input.Qs.campaignIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.subaccountId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserLandingPages.patch

enum_MobileAppDirectory := [ "UNKNOWN", "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "ROKU_APP_STORE", "AMAZON_FIRETV_APP_STORE", "PLAYSTATION_APP_STORE", "APPLE_TV_APP_STORE", "XBOX_APP_STORE", "SAMSUNG_TV_APP_STORE", "ANDROID_TV_APP_STORE", "GENERIC_CTV_APP_STORE" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.archived == BOOLEAN
    input.Body.deepLinks[_].appUrl == STRING
    input.Body.deepLinks[_].fallbackUrl == STRING
    input.Body.deepLinks[_].kind == STRING
    input.Body.deepLinks[_].mobileApp.directory == enum_MobileAppDirectory[_]
    input.Body.deepLinks[_].mobileApp.id == STRING
    input.Body.deepLinks[_].mobileApp.kind == STRING
    input.Body.deepLinks[_].mobileApp.publisherName == STRING
    input.Body.deepLinks[_].mobileApp.title == STRING
    input.Body.deepLinks[_].remarketingListIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertiserLandingPages.update

enum_MobileAppDirectory := [ "UNKNOWN", "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "ROKU_APP_STORE", "AMAZON_FIRETV_APP_STORE", "PLAYSTATION_APP_STORE", "APPLE_TV_APP_STORE", "XBOX_APP_STORE", "SAMSUNG_TV_APP_STORE", "ANDROID_TV_APP_STORE", "GENERIC_CTV_APP_STORE" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.archived == BOOLEAN
    input.Body.deepLinks[_].appUrl == STRING
    input.Body.deepLinks[_].fallbackUrl == STRING
    input.Body.deepLinks[_].kind == STRING
    input.Body.deepLinks[_].mobileApp.directory == enum_MobileAppDirectory[_]
    input.Body.deepLinks[_].mobileApp.id == STRING
    input.Body.deepLinks[_].mobileApp.kind == STRING
    input.Body.deepLinks[_].mobileApp.publisherName == STRING
    input.Body.deepLinks[_].mobileApp.title == STRING
    input.Body.deepLinks[_].remarketingListIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertisers.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertisers.insert

enum_AdvertiserStatus := [ "APPROVED", "ON_HOLD" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerAdvertiserLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerAdvertiserLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserGroupId == STRING
    input.Body.clickThroughUrlSuffix == STRING
    input.Body.defaultClickThroughEventTagId == STRING
    input.Body.defaultEmail == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerAdvertiserLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerAdvertiserLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerAdvertiserId == STRING
    input.Body.name == STRING
    input.Body.originalFloodlightConfigurationId == STRING
    input.Body.status == enum_AdvertiserStatus[_]
    input.Body.subaccountId == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertisers.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_StatusParameter := [ "APPROVED", "ON_HOLD" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserGroupIds == STRING
    input.Qs.floodlightConfigurationIds == STRING
    input.Qs.ids == STRING
    input.Qs.includeAdvertisersWithoutGroupsOnly == BOOLEAN
    input.Qs.maxResults == INTEGER
    input.Qs.onlyParent == BOOLEAN
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.status == enum_StatusParameter[_]
    input.Qs.subaccountId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertisers.patch

enum_AdvertiserStatus := [ "APPROVED", "ON_HOLD" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerAdvertiserLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerAdvertiserLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserGroupId == STRING
    input.Body.clickThroughUrlSuffix == STRING
    input.Body.defaultClickThroughEventTagId == STRING
    input.Body.defaultEmail == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerAdvertiserLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerAdvertiserLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerAdvertiserId == STRING
    input.Body.name == STRING
    input.Body.originalFloodlightConfigurationId == STRING
    input.Body.status == enum_AdvertiserStatus[_]
    input.Body.subaccountId == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.advertisers.update

enum_AdvertiserStatus := [ "APPROVED", "ON_HOLD" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerAdvertiserLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerAdvertiserLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserGroupId == STRING
    input.Body.clickThroughUrlSuffix == STRING
    input.Body.defaultClickThroughEventTagId == STRING
    input.Body.defaultEmail == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerAdvertiserLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerAdvertiserLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerAdvertiserId == STRING
    input.Body.name == STRING
    input.Body.originalFloodlightConfigurationId == STRING
    input.Body.status == enum_AdvertiserStatus[_]
    input.Body.subaccountId == STRING
    input.Body.suspended == BOOLEAN
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingAssignments.insert

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.campaignId == STRING
    input.Body.kind == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.billingProfileId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingAssignments.list

valid {
    input.ReqMap.billingProfileId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingProfiles.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingProfiles.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_StatusParameter := [ "UNDER_REVIEW", "ACTIVE", "ARCHIVED" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.currency_code == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.onlySuggestion == BOOLEAN
    input.Qs.pageToken == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.status == enum_StatusParameter[_]
    input.Qs.subaccountIds == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingProfiles.update

enum_BillingProfileInvoiceLevel := [ "ACCOUNT_LEVEL", "ADVERTISER_LEVEL", "CAMPAIGN_LEVEL" ]
enum_BillingProfileStatus := [ "UNDER_REVIEW", "ACTIVE", "ARCHIVED" ]

valid {
    input.Body.consolidatedInvoice == BOOLEAN
    input.Body.countryCode == STRING
    input.Body.currencyCode == STRING
    input.Body.id == STRING
    input.Body.invoiceLevel == enum_BillingProfileInvoiceLevel[_]
    input.Body.isDefault == BOOLEAN
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.paymentsAccountId == STRING
    input.Body.paymentsCustomerId == STRING
    input.Body.purchaseOrder == STRING
    input.Body.secondaryPaymentsCustomerId == STRING
    input.Body.status == enum_BillingProfileStatus[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.billingRates.list

valid {
    input.ReqMap.billingProfileId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.browsers.list

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

dfareporting.campaignCreativeAssociations.insert

valid {
    input.Body.creativeId == STRING
    input.Body.kind == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaignCreativeAssociations.list

enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaigns.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaigns.insert

enum_CreativeOptimizationConfigurationOptimizationModel := [ "CLICK", "POST_CLICK", "POST_IMPRESSION", "POST_CLICK_AND_IMPRESSION", "VIDEO_COMPLETION" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerCampaignLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerCampaignLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.adBlockingConfiguration.enabled == BOOLEAN
    input.Body.additionalCreativeOptimizationConfigurations[_].id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].name == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].weight == INTEGER
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.advertiserGroupId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentGroups[_].audienceSegments[_].allocation == INTEGER
    input.Body.audienceSegmentGroups[_].audienceSegments[_].id == STRING
    input.Body.audienceSegmentGroups[_].audienceSegments[_].name == STRING
    input.Body.audienceSegmentGroups[_].id == STRING
    input.Body.audienceSegmentGroups[_].name == STRING
    input.Body.billingInvoiceCode == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comment == STRING
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupIds[_] == STRING
    input.Body.creativeOptimizationConfiguration.id == STRING
    input.Body.creativeOptimizationConfiguration.name == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].weight == INTEGER
    input.Body.creativeOptimizationConfiguration.optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.defaultLandingPageId == STRING
    input.Body.endDate == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerCampaignLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerCampaignLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerCampaignId == STRING
    input.Body.name == STRING
    input.Body.startDate == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaigns.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserGroupIds == STRING
    input.Qs.advertiserIds == STRING
    input.Qs.archived == BOOLEAN
    input.Qs.atLeastOneOptimizationActivity == BOOLEAN
    input.Qs.excludedIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.overriddenEventTagId == STRING
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.subaccountId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaigns.patch

enum_CreativeOptimizationConfigurationOptimizationModel := [ "CLICK", "POST_CLICK", "POST_IMPRESSION", "POST_CLICK_AND_IMPRESSION", "VIDEO_COMPLETION" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerCampaignLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerCampaignLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.adBlockingConfiguration.enabled == BOOLEAN
    input.Body.additionalCreativeOptimizationConfigurations[_].id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].name == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].weight == INTEGER
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.advertiserGroupId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentGroups[_].audienceSegments[_].allocation == INTEGER
    input.Body.audienceSegmentGroups[_].audienceSegments[_].id == STRING
    input.Body.audienceSegmentGroups[_].audienceSegments[_].name == STRING
    input.Body.audienceSegmentGroups[_].id == STRING
    input.Body.audienceSegmentGroups[_].name == STRING
    input.Body.billingInvoiceCode == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comment == STRING
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupIds[_] == STRING
    input.Body.creativeOptimizationConfiguration.id == STRING
    input.Body.creativeOptimizationConfiguration.name == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].weight == INTEGER
    input.Body.creativeOptimizationConfiguration.optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.defaultLandingPageId == STRING
    input.Body.endDate == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerCampaignLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerCampaignLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerCampaignId == STRING
    input.Body.name == STRING
    input.Body.startDate == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.campaigns.update

enum_CreativeOptimizationConfigurationOptimizationModel := [ "CLICK", "POST_CLICK", "POST_IMPRESSION", "POST_CLICK_AND_IMPRESSION", "VIDEO_COMPLETION" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerCampaignLinkLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerCampaignLinkMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]

valid {
    input.Body.accountId == STRING
    input.Body.adBlockingConfiguration.enabled == BOOLEAN
    input.Body.additionalCreativeOptimizationConfigurations[_].id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].name == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationActivitys[_].weight == INTEGER
    input.Body.additionalCreativeOptimizationConfigurations[_].optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.advertiserGroupId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.archived == BOOLEAN
    input.Body.audienceSegmentGroups[_].audienceSegments[_].allocation == INTEGER
    input.Body.audienceSegmentGroups[_].audienceSegments[_].id == STRING
    input.Body.audienceSegmentGroups[_].audienceSegments[_].name == STRING
    input.Body.audienceSegmentGroups[_].id == STRING
    input.Body.audienceSegmentGroups[_].name == STRING
    input.Body.billingInvoiceCode == STRING
    input.Body.clickThroughUrlSuffixProperties.clickThroughUrlSuffix == STRING
    input.Body.clickThroughUrlSuffixProperties.overrideInheritedSuffix == BOOLEAN
    input.Body.comment == STRING
    input.Body.createInfo.time == STRING
    input.Body.creativeGroupIds[_] == STRING
    input.Body.creativeOptimizationConfiguration.id == STRING
    input.Body.creativeOptimizationConfiguration.name == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityId == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.dimensionName == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.etag == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.id == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.kind == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].floodlightActivityIdDimensionValue.value == STRING
    input.Body.creativeOptimizationConfiguration.optimizationActivitys[_].weight == INTEGER
    input.Body.creativeOptimizationConfiguration.optimizationModel == enum_CreativeOptimizationConfigurationOptimizationModel[_]
    input.Body.defaultClickThroughEventTagProperties.defaultClickThroughEventTagId == STRING
    input.Body.defaultClickThroughEventTagProperties.overrideInheritedEventTag == BOOLEAN
    input.Body.defaultLandingPageId == STRING
    input.Body.endDate == STRING
    input.Body.eventTagOverrides[_].enabled == BOOLEAN
    input.Body.eventTagOverrides[_].id == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.measurementPartnerLink.linkStatus == enum_MeasurementPartnerCampaignLinkLinkStatus[_]
    input.Body.measurementPartnerLink.measurementPartner == enum_MeasurementPartnerCampaignLinkMeasurementPartner[_]
    input.Body.measurementPartnerLink.partnerCampaignId == STRING
    input.Body.name == STRING
    input.Body.startDate == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.changeLogs.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.changeLogs.list

enum_ActionParameter := [ "ACTION_CREATE", "ACTION_UPDATE", "ACTION_DELETE", "ACTION_ENABLE", "ACTION_DISABLE", "ACTION_ADD", "ACTION_REMOVE", "ACTION_MARK_AS_DEFAULT", "ACTION_ASSOCIATE", "ACTION_ASSIGN", "ACTION_UNASSIGN", "ACTION_SEND", "ACTION_LINK", "ACTION_UNLINK", "ACTION_PUSH", "ACTION_EMAIL_TAGS", "ACTION_SHARE" ]
enum_ObjectTypeParameter := [ "OBJECT_ADVERTISER", "OBJECT_FLOODLIGHT_CONFIGURATION", "OBJECT_AD", "OBJECT_FLOODLIGHT_ACTVITY", "OBJECT_CAMPAIGN", "OBJECT_FLOODLIGHT_ACTIVITY_GROUP", "OBJECT_CREATIVE", "OBJECT_PLACEMENT", "OBJECT_DFA_SITE", "OBJECT_USER_ROLE", "OBJECT_USER_PROFILE", "OBJECT_ADVERTISER_GROUP", "OBJECT_ACCOUNT", "OBJECT_SUBACCOUNT", "OBJECT_RICHMEDIA_CREATIVE", "OBJECT_INSTREAM_CREATIVE", "OBJECT_MEDIA_ORDER", "OBJECT_CONTENT_CATEGORY", "OBJECT_PLACEMENT_STRATEGY", "OBJECT_SD_SITE", "OBJECT_SIZE", "OBJECT_CREATIVE_GROUP", "OBJECT_CREATIVE_ASSET", "OBJECT_USER_PROFILE_FILTER", "OBJECT_LANDING_PAGE", "OBJECT_CREATIVE_FIELD", "OBJECT_REMARKETING_LIST", "OBJECT_PROVIDED_LIST_CLIENT", "OBJECT_EVENT_TAG", "OBJECT_CREATIVE_BUNDLE", "OBJECT_BILLING_ACCOUNT_GROUP", "OBJECT_BILLING_FEATURE", "OBJECT_RATE_CARD", "OBJECT_ACCOUNT_BILLING_FEATURE", "OBJECT_BILLING_MINIMUM_FEE", "OBJECT_BILLING_PROFILE", "OBJECT_PLAYSTORE_LINK", "OBJECT_TARGETING_TEMPLATE", "OBJECT_SEARCH_LIFT_STUDY", "OBJECT_FLOODLIGHT_DV360_LINK", "OBJECT_ADVERTISER_CUSTOMER_LINK", "OBJECT_CONVERSION_DOMAIN", "OBJECT_ACCOUNT_CONVERSION_DOMAIN" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.action == enum_ActionParameter[_]
    input.Qs.ids == STRING
    input.Qs.maxChangeTime == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.minChangeTime == STRING
    input.Qs.objectIds == STRING
    input.Qs.objectType == enum_ObjectTypeParameter[_]
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.userProfileIds == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.cities.list

valid {
    input.ReqMap.profileId == STRING
    input.Qs.countryDartIds == STRING
    input.Qs.dartIds == STRING
    input.Qs.namePrefix == STRING
    input.Qs.regionDartIds == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.connectionTypes.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.connectionTypes.list

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

dfareporting.contentCategories.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.contentCategories.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.contentCategories.insert

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.contentCategories.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.contentCategories.patch

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.contentCategories.update

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.conversions.batchinsert

enum_ConversionAdUserDataConsent := [ "GRANTED", "DENIED" ]
enum_CustomFloodlightVariableType := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]
enum_EncryptionInfoEncryptionEntityType := [ "ENCRYPTION_ENTITY_TYPE_UNKNOWN", "DCM_ACCOUNT", "DCM_ADVERTISER", "DBM_PARTNER", "DBM_ADVERTISER", "ADWORDS_CUSTOMER", "DFP_NETWORK_CODE" ]
enum_EncryptionInfoEncryptionSource := [ "ENCRYPTION_SCOPE_UNKNOWN", "AD_SERVING", "DATA_TRANSFER" ]

valid {
    input.Body.conversions[_].adUserDataConsent == enum_ConversionAdUserDataConsent[_]
    input.Body.conversions[_].childDirectedTreatment == BOOLEAN
    input.Body.conversions[_].customVariables[_].kind == STRING
    input.Body.conversions[_].customVariables[_].type == enum_CustomFloodlightVariableType[_]
    input.Body.conversions[_].customVariables[_].value == STRING
    input.Body.conversions[_].dclid == STRING
    input.Body.conversions[_].encryptedUserId == STRING
    input.Body.conversions[_].encryptedUserIdCandidates[_] == STRING
    input.Body.conversions[_].floodlightActivityId == STRING
    input.Body.conversions[_].floodlightConfigurationId == STRING
    input.Body.conversions[_].gclid == STRING
    input.Body.conversions[_].impressionId == STRING
    input.Body.conversions[_].kind == STRING
    input.Body.conversions[_].limitAdTracking == BOOLEAN
    input.Body.conversions[_].matchId == STRING
    input.Body.conversions[_].mobileDeviceId == STRING
    input.Body.conversions[_].nonPersonalizedAd == BOOLEAN
    input.Body.conversions[_].ordinal == STRING
    input.Body.conversions[_].quantity == STRING
    input.Body.conversions[_].timestampMicros == STRING
    input.Body.conversions[_].treatmentForUnderage == BOOLEAN
    input.Body.conversions[_].userIdentifiers[_].addressInfo.city == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.countryCode == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedFirstName == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedLastName == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedStreetAddress == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.postalCode == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.state == STRING
    input.Body.conversions[_].userIdentifiers[_].hashedEmail == STRING
    input.Body.conversions[_].userIdentifiers[_].hashedPhoneNumber == STRING
    input.Body.conversions[_].value == NUMBER
    input.Body.encryptionInfo.encryptionEntityId == STRING
    input.Body.encryptionInfo.encryptionEntityType == enum_EncryptionInfoEncryptionEntityType[_]
    input.Body.encryptionInfo.encryptionSource == enum_EncryptionInfoEncryptionSource[_]
    input.Body.encryptionInfo.kind == STRING
    input.Body.kind == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.conversions.batchupdate

enum_ConversionAdUserDataConsent := [ "GRANTED", "DENIED" ]
enum_CustomFloodlightVariableType := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]
enum_EncryptionInfoEncryptionEntityType := [ "ENCRYPTION_ENTITY_TYPE_UNKNOWN", "DCM_ACCOUNT", "DCM_ADVERTISER", "DBM_PARTNER", "DBM_ADVERTISER", "ADWORDS_CUSTOMER", "DFP_NETWORK_CODE" ]
enum_EncryptionInfoEncryptionSource := [ "ENCRYPTION_SCOPE_UNKNOWN", "AD_SERVING", "DATA_TRANSFER" ]

valid {
    input.Body.conversions[_].adUserDataConsent == enum_ConversionAdUserDataConsent[_]
    input.Body.conversions[_].childDirectedTreatment == BOOLEAN
    input.Body.conversions[_].customVariables[_].kind == STRING
    input.Body.conversions[_].customVariables[_].type == enum_CustomFloodlightVariableType[_]
    input.Body.conversions[_].customVariables[_].value == STRING
    input.Body.conversions[_].dclid == STRING
    input.Body.conversions[_].encryptedUserId == STRING
    input.Body.conversions[_].encryptedUserIdCandidates[_] == STRING
    input.Body.conversions[_].floodlightActivityId == STRING
    input.Body.conversions[_].floodlightConfigurationId == STRING
    input.Body.conversions[_].gclid == STRING
    input.Body.conversions[_].impressionId == STRING
    input.Body.conversions[_].kind == STRING
    input.Body.conversions[_].limitAdTracking == BOOLEAN
    input.Body.conversions[_].matchId == STRING
    input.Body.conversions[_].mobileDeviceId == STRING
    input.Body.conversions[_].nonPersonalizedAd == BOOLEAN
    input.Body.conversions[_].ordinal == STRING
    input.Body.conversions[_].quantity == STRING
    input.Body.conversions[_].timestampMicros == STRING
    input.Body.conversions[_].treatmentForUnderage == BOOLEAN
    input.Body.conversions[_].userIdentifiers[_].addressInfo.city == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.countryCode == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedFirstName == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedLastName == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.hashedStreetAddress == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.postalCode == STRING
    input.Body.conversions[_].userIdentifiers[_].addressInfo.state == STRING
    input.Body.conversions[_].userIdentifiers[_].hashedEmail == STRING
    input.Body.conversions[_].userIdentifiers[_].hashedPhoneNumber == STRING
    input.Body.conversions[_].value == NUMBER
    input.Body.encryptionInfo.encryptionEntityId == STRING
    input.Body.encryptionInfo.encryptionEntityType == enum_EncryptionInfoEncryptionEntityType[_]
    input.Body.encryptionInfo.encryptionSource == enum_EncryptionInfoEncryptionSource[_]
    input.Body.encryptionInfo.kind == STRING
    input.Body.kind == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.countries.get

valid {
    input.ReqMap.dartId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.countries.list

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

dfareporting.creativeAssets.insert

enum_CreativeAssetIdType := [ "IMAGE", "FLASH", "VIDEO", "HTML", "HTML_IMAGE", "AUDIO" ]
enum_CreativeAssetMetadataDetectedFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeAssetMetadataWarnedValidationRules := [ "CLICK_TAG_NON_TOP_LEVEL", "CLICK_TAG_MISSING", "CLICK_TAG_MORE_THAN_ONE", "CLICK_TAG_INVALID", "ORPHANED_ASSET", "PRIMARY_HTML_MISSING", "EXTERNAL_FILE_REFERENCED", "MRAID_REFERENCED", "ADMOB_REFERENCED", "FILE_TYPE_INVALID", "ZIP_INVALID", "LINKED_FILE_NOT_FOUND", "MAX_FLASH_VERSION_11", "NOT_SSL_COMPLIANT", "FILE_DETAIL_EMPTY", "ASSET_INVALID", "GWD_PROPERTIES_INVALID", "ENABLER_UNSUPPORTED_METHOD_DCM", "ASSET_FORMAT_UNSUPPORTED_DCM", "COMPONENT_UNSUPPORTED_DCM", "HTML5_FEATURE_UNSUPPORTED", "CLICK_TAG_IN_GWD", "CLICK_TAG_HARD_CODED", "SVG_INVALID", "CLICK_TAG_IN_RICH_MEDIA", "MISSING_ENABLER_REFERENCE" ]
enum_CreativeCustomEventAdvertiserCustomEventType := [ "ADVERTISER_EVENT_TIMER", "ADVERTISER_EVENT_EXIT", "ADVERTISER_EVENT_COUNTER" ]
enum_CreativeCustomEventArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeCustomEventTargetType := [ "TARGET_BLANK", "TARGET_TOP", "TARGET_SELF", "TARGET_PARENT", "TARGET_POPUP" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PopupWindowPropertiesPositionType := [ "CENTER", "COORDINATES" ]

valid {
    input.Body.assetIdentifier.name == STRING
    input.Body.assetIdentifier.type == enum_CreativeAssetIdType[_]
    input.Body.clickTags[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.landingPageId == STRING
    input.Body.clickTags[_].eventName == STRING
    input.Body.clickTags[_].name == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.counterCustomEvents[_].artworkLabel == STRING
    input.Body.counterCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.counterCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.counterCustomEvents[_].id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.counterCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.counterCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.counterCustomEvents[_].videoReportingId == STRING
    input.Body.detectedFeatures[_] == enum_CreativeAssetMetadataDetectedFeatures[_]
    input.Body.exitCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.exitCustomEvents[_].artworkLabel == STRING
    input.Body.exitCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.exitCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.exitCustomEvents[_].id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.exitCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.exitCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.exitCustomEvents[_].videoReportingId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.richMedia == BOOLEAN
    input.Body.timerCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.timerCustomEvents[_].artworkLabel == STRING
    input.Body.timerCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.timerCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.timerCustomEvents[_].id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.timerCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.timerCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.timerCustomEvents[_].videoReportingId == STRING
    input.Body.warnedValidationRules[_] == enum_CreativeAssetMetadataWarnedValidationRules[_]
    input.ReqMap.advertiserId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.delete

valid {
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.get

valid {
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.insert

valid {
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.value == STRING
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.list

enum_SortFieldParameter := [ "ID", "VALUE" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.patch

valid {
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.value == STRING
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFieldValues.update

valid {
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.value == STRING
    input.ReqMap.creativeFieldId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeFields.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeGroups.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.groupNumber == INTEGER
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeGroups.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserIds == STRING
    input.Qs.groupNumber == INTEGER
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeGroups.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.groupNumber == INTEGER
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creativeGroups.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.groupNumber == INTEGER
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creatives.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creatives.insert

enum_CreativeArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetAlignment := [ "ALIGNMENT_TOP", "ALIGNMENT_RIGHT", "ALIGNMENT_BOTTOM", "ALIGNMENT_LEFT" ]
enum_CreativeAssetArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetChildAssetType := [ "CHILD_ASSET_TYPE_FLASH", "CHILD_ASSET_TYPE_VIDEO", "CHILD_ASSET_TYPE_IMAGE", "CHILD_ASSET_TYPE_DATA" ]
enum_CreativeAssetDetectedFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeAssetDisplayType := [ "ASSET_DISPLAY_TYPE_INPAGE", "ASSET_DISPLAY_TYPE_FLOATING", "ASSET_DISPLAY_TYPE_OVERLAY", "ASSET_DISPLAY_TYPE_EXPANDING", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING", "ASSET_DISPLAY_TYPE_PEEL_DOWN", "ASSET_DISPLAY_TYPE_VPAID_LINEAR", "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR", "ASSET_DISPLAY_TYPE_BACKDROP" ]
enum_CreativeAssetDurationType := [ "ASSET_DURATION_TYPE_AUTO", "ASSET_DURATION_TYPE_NONE", "ASSET_DURATION_TYPE_CUSTOM" ]
enum_CreativeAssetIdType := [ "IMAGE", "FLASH", "VIDEO", "HTML", "HTML_IMAGE", "AUDIO" ]
enum_CreativeAssetOrientation := [ "LANDSCAPE", "PORTRAIT", "SQUARE" ]
enum_CreativeAssetPositionLeftUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetPositionTopUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetRole := [ "PRIMARY", "BACKUP_IMAGE", "ADDITIONAL_IMAGE", "ADDITIONAL_FLASH", "PARENT_VIDEO", "TRANSCODED_VIDEO", "OTHER", "ALTERNATE_VIDEO", "PARENT_AUDIO", "TRANSCODED_AUDIO" ]
enum_CreativeAssetStartTimeType := [ "ASSET_START_TIME_TYPE_NONE", "ASSET_START_TIME_TYPE_CUSTOM" ]
enum_CreativeAssetWindowMode := [ "OPAQUE", "WINDOW", "TRANSPARENT" ]
enum_CreativeAuthoringSource := [ "CREATIVE_AUTHORING_SOURCE_DCM", "CREATIVE_AUTHORING_SOURCE_DBM", "CREATIVE_AUTHORING_SOURCE_STUDIO", "CREATIVE_AUTHORING_SOURCE_GWD", "CREATIVE_AUTHORING_SOURCE_ACS" ]
enum_CreativeAuthoringTool := [ "NINJA", "SWIFFY" ]
enum_CreativeBackupImageFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_CreativeCustomEventAdvertiserCustomEventType := [ "ADVERTISER_EVENT_TIMER", "ADVERTISER_EVENT_EXIT", "ADVERTISER_EVENT_COUNTER" ]
enum_CreativeCustomEventArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeCustomEventTargetType := [ "TARGET_BLANK", "TARGET_TOP", "TARGET_SELF", "TARGET_PARENT", "TARGET_POPUP" ]
enum_CreativeType := [ "IMAGE", "DISPLAY_REDIRECT", "CUSTOM_DISPLAY", "INTERNAL_REDIRECT", "CUSTOM_DISPLAY_INTERSTITIAL", "INTERSTITIAL_INTERNAL_REDIRECT", "TRACKING_TEXT", "RICH_MEDIA_DISPLAY_BANNER", "RICH_MEDIA_INPAGE_FLOATING", "RICH_MEDIA_IM_EXPAND", "RICH_MEDIA_DISPLAY_EXPANDING", "RICH_MEDIA_DISPLAY_INTERSTITIAL", "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", "RICH_MEDIA_MOBILE_IN_APP", "FLASH_INPAGE", "INSTREAM_VIDEO", "VPAID_LINEAR_VIDEO", "VPAID_NON_LINEAR_VIDEO", "INSTREAM_VIDEO_REDIRECT", "RICH_MEDIA_PEEL_DOWN", "HTML5_BANNER", "DISPLAY", "DISPLAY_IMAGE_GALLERY", "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", "INSTREAM_AUDIO" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FsCommandPositionOption := [ "CENTERED", "DISTANCE_FROM_TOP_LEFT_CORNER" ]
enum_PopupWindowPropertiesPositionType := [ "CENTER", "COORDINATES" ]
enum_TargetWindowTargetWindowOption := [ "NEW_WINDOW", "CURRENT_WINDOW", "CUSTOM" ]
enum_ThirdPartyTrackingUrlThirdPartyUrlType := [ "IMPRESSION", "CLICK_TRACKING", "VIDEO_START", "VIDEO_FIRST_QUARTILE", "VIDEO_MIDPOINT", "VIDEO_THIRD_QUARTILE", "VIDEO_COMPLETE", "VIDEO_MUTE", "VIDEO_PAUSE", "VIDEO_REWIND", "VIDEO_FULLSCREEN", "VIDEO_STOP", "VIDEO_CUSTOM", "SURVEY", "RICH_MEDIA_IMPRESSION", "RICH_MEDIA_RM_IMPRESSION", "RICH_MEDIA_BACKUP_IMPRESSION", "VIDEO_SKIP", "VIDEO_PROGRESS" ]
enum_UniversalAdIdRegistry := [ "OTHER", "AD_ID_OFFICIAL", "CLEARCAST", "DCM", "ARPP" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.adParameters == STRING
    input.Body.adTagKeys[_] == STRING
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.allowScriptAccess == BOOLEAN
    input.Body.archived == BOOLEAN
    input.Body.artworkType == enum_CreativeArtworkType[_]
    input.Body.authoringSource == enum_CreativeAuthoringSource[_]
    input.Body.authoringTool == enum_CreativeAuthoringTool[_]
    input.Body.autoAdvanceImages == BOOLEAN
    input.Body.backgroundColor == STRING
    input.Body.backupImageClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.customClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.landingPageId == STRING
    input.Body.backupImageFeatures[_] == enum_CreativeBackupImageFeatures[_]
    input.Body.backupImageReportingLabel == STRING
    input.Body.backupImageTargetWindow.customHtml == STRING
    input.Body.backupImageTargetWindow.targetWindowOption == enum_TargetWindowTargetWindowOption[_]
    input.Body.clickTags[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.landingPageId == STRING
    input.Body.clickTags[_].eventName == STRING
    input.Body.clickTags[_].name == STRING
    input.Body.commercialId == STRING
    input.Body.companionCreatives[_] == STRING
    input.Body.compatibility[_] == enum_CreativeCompatibility[_]
    input.Body.convertFlashToHtml5 == BOOLEAN
    input.Body.counterCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.counterCustomEvents[_].artworkLabel == STRING
    input.Body.counterCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.counterCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.counterCustomEvents[_].id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.counterCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.counterCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.counterCustomEvents[_].videoReportingId == STRING
    input.Body.creativeAssetSelection.defaultAssetId == STRING
    input.Body.creativeAssetSelection.rules[_].assetId == STRING
    input.Body.creativeAssetSelection.rules[_].name == STRING
    input.Body.creativeAssetSelection.rules[_].targetingTemplateId == STRING
    input.Body.creativeAssets[_].actionScript3 == BOOLEAN
    input.Body.creativeAssets[_].active == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].height == INTEGER
    input.Body.creativeAssets[_].additionalSizes[_].iab == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].id == STRING
    input.Body.creativeAssets[_].additionalSizes[_].kind == STRING
    input.Body.creativeAssets[_].additionalSizes[_].width == INTEGER
    input.Body.creativeAssets[_].alignment == enum_CreativeAssetAlignment[_]
    input.Body.creativeAssets[_].artworkType == enum_CreativeAssetArtworkType[_]
    input.Body.creativeAssets[_].assetIdentifier.name == STRING
    input.Body.creativeAssets[_].assetIdentifier.type == enum_CreativeAssetIdType[_]
    input.Body.creativeAssets[_].audioBitRate == INTEGER
    input.Body.creativeAssets[_].audioSampleRate == INTEGER
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventId == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventName == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.creativeAssets[_].backupImageExit.artworkLabel == STRING
    input.Body.creativeAssets[_].backupImageExit.artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.landingPageId == STRING
    input.Body.creativeAssets[_].backupImageExit.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.height == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.kind == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.width == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.left == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.top == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showToolBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.title == STRING
    input.Body.creativeAssets[_].backupImageExit.targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.creativeAssets[_].backupImageExit.videoReportingId == STRING
    input.Body.creativeAssets[_].bitRate == INTEGER
    input.Body.creativeAssets[_].childAssetType == enum_CreativeAssetChildAssetType[_]
    input.Body.creativeAssets[_].collapsedSize.height == INTEGER
    input.Body.creativeAssets[_].collapsedSize.iab == BOOLEAN
    input.Body.creativeAssets[_].collapsedSize.id == STRING
    input.Body.creativeAssets[_].collapsedSize.kind == STRING
    input.Body.creativeAssets[_].collapsedSize.width == INTEGER
    input.Body.creativeAssets[_].companionCreativeIds[_] == STRING
    input.Body.creativeAssets[_].customStartTimeValue == INTEGER
    input.Body.creativeAssets[_].detectedFeatures[_] == enum_CreativeAssetDetectedFeatures[_]
    input.Body.creativeAssets[_].displayType == enum_CreativeAssetDisplayType[_]
    input.Body.creativeAssets[_].duration == INTEGER
    input.Body.creativeAssets[_].durationType == enum_CreativeAssetDurationType[_]
    input.Body.creativeAssets[_].expandedDimension.height == INTEGER
    input.Body.creativeAssets[_].expandedDimension.iab == BOOLEAN
    input.Body.creativeAssets[_].expandedDimension.id == STRING
    input.Body.creativeAssets[_].expandedDimension.kind == STRING
    input.Body.creativeAssets[_].expandedDimension.width == INTEGER
    input.Body.creativeAssets[_].fileSize == STRING
    input.Body.creativeAssets[_].flashVersion == INTEGER
    input.Body.creativeAssets[_].frameRate == NUMBER
    input.Body.creativeAssets[_].hideFlashObjects == BOOLEAN
    input.Body.creativeAssets[_].hideSelectionBoxes == BOOLEAN
    input.Body.creativeAssets[_].horizontallyLocked == BOOLEAN
    input.Body.creativeAssets[_].id == STRING
    input.Body.creativeAssets[_].idDimensionValue.dimensionName == STRING
    input.Body.creativeAssets[_].idDimensionValue.etag == STRING
    input.Body.creativeAssets[_].idDimensionValue.id == STRING
    input.Body.creativeAssets[_].idDimensionValue.kind == STRING
    input.Body.creativeAssets[_].idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeAssets[_].idDimensionValue.value == STRING
    input.Body.creativeAssets[_].mediaDuration == NUMBER
    input.Body.creativeAssets[_].mimeType == STRING
    input.Body.creativeAssets[_].offset.left == INTEGER
    input.Body.creativeAssets[_].offset.top == INTEGER
    input.Body.creativeAssets[_].orientation == enum_CreativeAssetOrientation[_]
    input.Body.creativeAssets[_].originalBackup == BOOLEAN
    input.Body.creativeAssets[_].politeLoad == BOOLEAN
    input.Body.creativeAssets[_].position.left == INTEGER
    input.Body.creativeAssets[_].position.top == INTEGER
    input.Body.creativeAssets[_].positionLeftUnit == enum_CreativeAssetPositionLeftUnit[_]
    input.Body.creativeAssets[_].positionTopUnit == enum_CreativeAssetPositionTopUnit[_]
    input.Body.creativeAssets[_].progressiveServingUrl == STRING
    input.Body.creativeAssets[_].pushdown == BOOLEAN
    input.Body.creativeAssets[_].pushdownDuration == NUMBER
    input.Body.creativeAssets[_].role == enum_CreativeAssetRole[_]
    input.Body.creativeAssets[_].size.height == INTEGER
    input.Body.creativeAssets[_].size.iab == BOOLEAN
    input.Body.creativeAssets[_].size.id == STRING
    input.Body.creativeAssets[_].size.kind == STRING
    input.Body.creativeAssets[_].size.width == INTEGER
    input.Body.creativeAssets[_].sslCompliant == BOOLEAN
    input.Body.creativeAssets[_].startTimeType == enum_CreativeAssetStartTimeType[_]
    input.Body.creativeAssets[_].streamingServingUrl == STRING
    input.Body.creativeAssets[_].transparency == BOOLEAN
    input.Body.creativeAssets[_].verticallyLocked == BOOLEAN
    input.Body.creativeAssets[_].windowMode == enum_CreativeAssetWindowMode[_]
    input.Body.creativeAssets[_].zIndex == INTEGER
    input.Body.creativeAssets[_].zipFilename == STRING
    input.Body.creativeAssets[_].zipFilesize == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldId == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldValueId == STRING
    input.Body.customKeyValues[_] == STRING
    input.Body.dynamicAssetSelection == BOOLEAN
    input.Body.exitCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.exitCustomEvents[_].artworkLabel == STRING
    input.Body.exitCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.exitCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.exitCustomEvents[_].id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.exitCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.exitCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.exitCustomEvents[_].videoReportingId == STRING
    input.Body.fsCommand.left == INTEGER
    input.Body.fsCommand.positionOption == enum_FsCommandPositionOption[_]
    input.Body.fsCommand.top == INTEGER
    input.Body.fsCommand.windowHeight == INTEGER
    input.Body.fsCommand.windowWidth == INTEGER
    input.Body.htmlCode == STRING
    input.Body.htmlCodeLocked == BOOLEAN
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.latestTraffickedCreativeId == STRING
    input.Body.mediaDescription == STRING
    input.Body.mediaDuration == NUMBER
    input.Body.name == STRING
    input.Body.obaIcon.iconClickThroughUrl == STRING
    input.Body.obaIcon.iconClickTrackingUrl == STRING
    input.Body.obaIcon.iconViewTrackingUrl == STRING
    input.Body.obaIcon.program == STRING
    input.Body.obaIcon.resourceUrl == STRING
    input.Body.obaIcon.size.height == INTEGER
    input.Body.obaIcon.size.iab == BOOLEAN
    input.Body.obaIcon.size.id == STRING
    input.Body.obaIcon.size.kind == STRING
    input.Body.obaIcon.size.width == INTEGER
    input.Body.obaIcon.xPosition == STRING
    input.Body.obaIcon.yPosition == STRING
    input.Body.overrideCss == STRING
    input.Body.progressOffset.offsetPercentage == INTEGER
    input.Body.progressOffset.offsetSeconds == INTEGER
    input.Body.redirectUrl == STRING
    input.Body.renderingId == STRING
    input.Body.renderingIdDimensionValue.dimensionName == STRING
    input.Body.renderingIdDimensionValue.etag == STRING
    input.Body.renderingIdDimensionValue.id == STRING
    input.Body.renderingIdDimensionValue.kind == STRING
    input.Body.renderingIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.renderingIdDimensionValue.value == STRING
    input.Body.requiredFlashPluginVersion == STRING
    input.Body.requiredFlashVersion == INTEGER
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.skipOffset.offsetPercentage == INTEGER
    input.Body.skipOffset.offsetSeconds == INTEGER
    input.Body.skippable == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslOverride == BOOLEAN
    input.Body.studioAdvertiserId == STRING
    input.Body.studioCreativeId == STRING
    input.Body.studioTraffickedCreativeId == STRING
    input.Body.subaccountId == STRING
    input.Body.thirdPartyBackupImageImpressionsUrl == STRING
    input.Body.thirdPartyRichMediaImpressionsUrl == STRING
    input.Body.thirdPartyUrls[_].thirdPartyUrlType == enum_ThirdPartyTrackingUrlThirdPartyUrlType[_]
    input.Body.thirdPartyUrls[_].url == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.timerCustomEvents[_].artworkLabel == STRING
    input.Body.timerCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.timerCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.timerCustomEvents[_].id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.timerCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.timerCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.timerCustomEvents[_].videoReportingId == STRING
    input.Body.totalFileSize == STRING
    input.Body.type == enum_CreativeType[_]
    input.Body.universalAdId.registry == enum_UniversalAdIdRegistry[_]
    input.Body.universalAdId.value == STRING
    input.Body.version == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creatives.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_TypesParameter := [ "IMAGE", "DISPLAY_REDIRECT", "CUSTOM_DISPLAY", "INTERNAL_REDIRECT", "CUSTOM_DISPLAY_INTERSTITIAL", "INTERSTITIAL_INTERNAL_REDIRECT", "TRACKING_TEXT", "RICH_MEDIA_DISPLAY_BANNER", "RICH_MEDIA_INPAGE_FLOATING", "RICH_MEDIA_IM_EXPAND", "RICH_MEDIA_DISPLAY_EXPANDING", "RICH_MEDIA_DISPLAY_INTERSTITIAL", "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", "RICH_MEDIA_MOBILE_IN_APP", "FLASH_INPAGE", "INSTREAM_VIDEO", "VPAID_LINEAR_VIDEO", "VPAID_NON_LINEAR_VIDEO", "INSTREAM_VIDEO_REDIRECT", "RICH_MEDIA_PEEL_DOWN", "HTML5_BANNER", "DISPLAY", "DISPLAY_IMAGE_GALLERY", "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", "INSTREAM_AUDIO" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.advertiserId == STRING
    input.Qs.archived == BOOLEAN
    input.Qs.campaignId == STRING
    input.Qs.companionCreativeIds == STRING
    input.Qs.creativeFieldIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.renderingIds == STRING
    input.Qs.searchString == STRING
    input.Qs.sizeIds == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.studioCreativeId == STRING
    input.Qs.types == enum_TypesParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.creatives.patch

enum_CreativeArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetAlignment := [ "ALIGNMENT_TOP", "ALIGNMENT_RIGHT", "ALIGNMENT_BOTTOM", "ALIGNMENT_LEFT" ]
enum_CreativeAssetArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetChildAssetType := [ "CHILD_ASSET_TYPE_FLASH", "CHILD_ASSET_TYPE_VIDEO", "CHILD_ASSET_TYPE_IMAGE", "CHILD_ASSET_TYPE_DATA" ]
enum_CreativeAssetDetectedFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeAssetDisplayType := [ "ASSET_DISPLAY_TYPE_INPAGE", "ASSET_DISPLAY_TYPE_FLOATING", "ASSET_DISPLAY_TYPE_OVERLAY", "ASSET_DISPLAY_TYPE_EXPANDING", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING", "ASSET_DISPLAY_TYPE_PEEL_DOWN", "ASSET_DISPLAY_TYPE_VPAID_LINEAR", "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR", "ASSET_DISPLAY_TYPE_BACKDROP" ]
enum_CreativeAssetDurationType := [ "ASSET_DURATION_TYPE_AUTO", "ASSET_DURATION_TYPE_NONE", "ASSET_DURATION_TYPE_CUSTOM" ]
enum_CreativeAssetIdType := [ "IMAGE", "FLASH", "VIDEO", "HTML", "HTML_IMAGE", "AUDIO" ]
enum_CreativeAssetOrientation := [ "LANDSCAPE", "PORTRAIT", "SQUARE" ]
enum_CreativeAssetPositionLeftUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetPositionTopUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetRole := [ "PRIMARY", "BACKUP_IMAGE", "ADDITIONAL_IMAGE", "ADDITIONAL_FLASH", "PARENT_VIDEO", "TRANSCODED_VIDEO", "OTHER", "ALTERNATE_VIDEO", "PARENT_AUDIO", "TRANSCODED_AUDIO" ]
enum_CreativeAssetStartTimeType := [ "ASSET_START_TIME_TYPE_NONE", "ASSET_START_TIME_TYPE_CUSTOM" ]
enum_CreativeAssetWindowMode := [ "OPAQUE", "WINDOW", "TRANSPARENT" ]
enum_CreativeAuthoringSource := [ "CREATIVE_AUTHORING_SOURCE_DCM", "CREATIVE_AUTHORING_SOURCE_DBM", "CREATIVE_AUTHORING_SOURCE_STUDIO", "CREATIVE_AUTHORING_SOURCE_GWD", "CREATIVE_AUTHORING_SOURCE_ACS" ]
enum_CreativeAuthoringTool := [ "NINJA", "SWIFFY" ]
enum_CreativeBackupImageFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_CreativeCustomEventAdvertiserCustomEventType := [ "ADVERTISER_EVENT_TIMER", "ADVERTISER_EVENT_EXIT", "ADVERTISER_EVENT_COUNTER" ]
enum_CreativeCustomEventArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeCustomEventTargetType := [ "TARGET_BLANK", "TARGET_TOP", "TARGET_SELF", "TARGET_PARENT", "TARGET_POPUP" ]
enum_CreativeType := [ "IMAGE", "DISPLAY_REDIRECT", "CUSTOM_DISPLAY", "INTERNAL_REDIRECT", "CUSTOM_DISPLAY_INTERSTITIAL", "INTERSTITIAL_INTERNAL_REDIRECT", "TRACKING_TEXT", "RICH_MEDIA_DISPLAY_BANNER", "RICH_MEDIA_INPAGE_FLOATING", "RICH_MEDIA_IM_EXPAND", "RICH_MEDIA_DISPLAY_EXPANDING", "RICH_MEDIA_DISPLAY_INTERSTITIAL", "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", "RICH_MEDIA_MOBILE_IN_APP", "FLASH_INPAGE", "INSTREAM_VIDEO", "VPAID_LINEAR_VIDEO", "VPAID_NON_LINEAR_VIDEO", "INSTREAM_VIDEO_REDIRECT", "RICH_MEDIA_PEEL_DOWN", "HTML5_BANNER", "DISPLAY", "DISPLAY_IMAGE_GALLERY", "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", "INSTREAM_AUDIO" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FsCommandPositionOption := [ "CENTERED", "DISTANCE_FROM_TOP_LEFT_CORNER" ]
enum_PopupWindowPropertiesPositionType := [ "CENTER", "COORDINATES" ]
enum_TargetWindowTargetWindowOption := [ "NEW_WINDOW", "CURRENT_WINDOW", "CUSTOM" ]
enum_ThirdPartyTrackingUrlThirdPartyUrlType := [ "IMPRESSION", "CLICK_TRACKING", "VIDEO_START", "VIDEO_FIRST_QUARTILE", "VIDEO_MIDPOINT", "VIDEO_THIRD_QUARTILE", "VIDEO_COMPLETE", "VIDEO_MUTE", "VIDEO_PAUSE", "VIDEO_REWIND", "VIDEO_FULLSCREEN", "VIDEO_STOP", "VIDEO_CUSTOM", "SURVEY", "RICH_MEDIA_IMPRESSION", "RICH_MEDIA_RM_IMPRESSION", "RICH_MEDIA_BACKUP_IMPRESSION", "VIDEO_SKIP", "VIDEO_PROGRESS" ]
enum_UniversalAdIdRegistry := [ "OTHER", "AD_ID_OFFICIAL", "CLEARCAST", "DCM", "ARPP" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.adParameters == STRING
    input.Body.adTagKeys[_] == STRING
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.allowScriptAccess == BOOLEAN
    input.Body.archived == BOOLEAN
    input.Body.artworkType == enum_CreativeArtworkType[_]
    input.Body.authoringSource == enum_CreativeAuthoringSource[_]
    input.Body.authoringTool == enum_CreativeAuthoringTool[_]
    input.Body.autoAdvanceImages == BOOLEAN
    input.Body.backgroundColor == STRING
    input.Body.backupImageClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.customClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.landingPageId == STRING
    input.Body.backupImageFeatures[_] == enum_CreativeBackupImageFeatures[_]
    input.Body.backupImageReportingLabel == STRING
    input.Body.backupImageTargetWindow.customHtml == STRING
    input.Body.backupImageTargetWindow.targetWindowOption == enum_TargetWindowTargetWindowOption[_]
    input.Body.clickTags[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.landingPageId == STRING
    input.Body.clickTags[_].eventName == STRING
    input.Body.clickTags[_].name == STRING
    input.Body.commercialId == STRING
    input.Body.companionCreatives[_] == STRING
    input.Body.compatibility[_] == enum_CreativeCompatibility[_]
    input.Body.convertFlashToHtml5 == BOOLEAN
    input.Body.counterCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.counterCustomEvents[_].artworkLabel == STRING
    input.Body.counterCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.counterCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.counterCustomEvents[_].id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.counterCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.counterCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.counterCustomEvents[_].videoReportingId == STRING
    input.Body.creativeAssetSelection.defaultAssetId == STRING
    input.Body.creativeAssetSelection.rules[_].assetId == STRING
    input.Body.creativeAssetSelection.rules[_].name == STRING
    input.Body.creativeAssetSelection.rules[_].targetingTemplateId == STRING
    input.Body.creativeAssets[_].actionScript3 == BOOLEAN
    input.Body.creativeAssets[_].active == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].height == INTEGER
    input.Body.creativeAssets[_].additionalSizes[_].iab == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].id == STRING
    input.Body.creativeAssets[_].additionalSizes[_].kind == STRING
    input.Body.creativeAssets[_].additionalSizes[_].width == INTEGER
    input.Body.creativeAssets[_].alignment == enum_CreativeAssetAlignment[_]
    input.Body.creativeAssets[_].artworkType == enum_CreativeAssetArtworkType[_]
    input.Body.creativeAssets[_].assetIdentifier.name == STRING
    input.Body.creativeAssets[_].assetIdentifier.type == enum_CreativeAssetIdType[_]
    input.Body.creativeAssets[_].audioBitRate == INTEGER
    input.Body.creativeAssets[_].audioSampleRate == INTEGER
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventId == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventName == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.creativeAssets[_].backupImageExit.artworkLabel == STRING
    input.Body.creativeAssets[_].backupImageExit.artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.landingPageId == STRING
    input.Body.creativeAssets[_].backupImageExit.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.height == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.kind == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.width == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.left == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.top == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showToolBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.title == STRING
    input.Body.creativeAssets[_].backupImageExit.targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.creativeAssets[_].backupImageExit.videoReportingId == STRING
    input.Body.creativeAssets[_].bitRate == INTEGER
    input.Body.creativeAssets[_].childAssetType == enum_CreativeAssetChildAssetType[_]
    input.Body.creativeAssets[_].collapsedSize.height == INTEGER
    input.Body.creativeAssets[_].collapsedSize.iab == BOOLEAN
    input.Body.creativeAssets[_].collapsedSize.id == STRING
    input.Body.creativeAssets[_].collapsedSize.kind == STRING
    input.Body.creativeAssets[_].collapsedSize.width == INTEGER
    input.Body.creativeAssets[_].companionCreativeIds[_] == STRING
    input.Body.creativeAssets[_].customStartTimeValue == INTEGER
    input.Body.creativeAssets[_].detectedFeatures[_] == enum_CreativeAssetDetectedFeatures[_]
    input.Body.creativeAssets[_].displayType == enum_CreativeAssetDisplayType[_]
    input.Body.creativeAssets[_].duration == INTEGER
    input.Body.creativeAssets[_].durationType == enum_CreativeAssetDurationType[_]
    input.Body.creativeAssets[_].expandedDimension.height == INTEGER
    input.Body.creativeAssets[_].expandedDimension.iab == BOOLEAN
    input.Body.creativeAssets[_].expandedDimension.id == STRING
    input.Body.creativeAssets[_].expandedDimension.kind == STRING
    input.Body.creativeAssets[_].expandedDimension.width == INTEGER
    input.Body.creativeAssets[_].fileSize == STRING
    input.Body.creativeAssets[_].flashVersion == INTEGER
    input.Body.creativeAssets[_].frameRate == NUMBER
    input.Body.creativeAssets[_].hideFlashObjects == BOOLEAN
    input.Body.creativeAssets[_].hideSelectionBoxes == BOOLEAN
    input.Body.creativeAssets[_].horizontallyLocked == BOOLEAN
    input.Body.creativeAssets[_].id == STRING
    input.Body.creativeAssets[_].idDimensionValue.dimensionName == STRING
    input.Body.creativeAssets[_].idDimensionValue.etag == STRING
    input.Body.creativeAssets[_].idDimensionValue.id == STRING
    input.Body.creativeAssets[_].idDimensionValue.kind == STRING
    input.Body.creativeAssets[_].idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeAssets[_].idDimensionValue.value == STRING
    input.Body.creativeAssets[_].mediaDuration == NUMBER
    input.Body.creativeAssets[_].mimeType == STRING
    input.Body.creativeAssets[_].offset.left == INTEGER
    input.Body.creativeAssets[_].offset.top == INTEGER
    input.Body.creativeAssets[_].orientation == enum_CreativeAssetOrientation[_]
    input.Body.creativeAssets[_].originalBackup == BOOLEAN
    input.Body.creativeAssets[_].politeLoad == BOOLEAN
    input.Body.creativeAssets[_].position.left == INTEGER
    input.Body.creativeAssets[_].position.top == INTEGER
    input.Body.creativeAssets[_].positionLeftUnit == enum_CreativeAssetPositionLeftUnit[_]
    input.Body.creativeAssets[_].positionTopUnit == enum_CreativeAssetPositionTopUnit[_]
    input.Body.creativeAssets[_].progressiveServingUrl == STRING
    input.Body.creativeAssets[_].pushdown == BOOLEAN
    input.Body.creativeAssets[_].pushdownDuration == NUMBER
    input.Body.creativeAssets[_].role == enum_CreativeAssetRole[_]
    input.Body.creativeAssets[_].size.height == INTEGER
    input.Body.creativeAssets[_].size.iab == BOOLEAN
    input.Body.creativeAssets[_].size.id == STRING
    input.Body.creativeAssets[_].size.kind == STRING
    input.Body.creativeAssets[_].size.width == INTEGER
    input.Body.creativeAssets[_].sslCompliant == BOOLEAN
    input.Body.creativeAssets[_].startTimeType == enum_CreativeAssetStartTimeType[_]
    input.Body.creativeAssets[_].streamingServingUrl == STRING
    input.Body.creativeAssets[_].transparency == BOOLEAN
    input.Body.creativeAssets[_].verticallyLocked == BOOLEAN
    input.Body.creativeAssets[_].windowMode == enum_CreativeAssetWindowMode[_]
    input.Body.creativeAssets[_].zIndex == INTEGER
    input.Body.creativeAssets[_].zipFilename == STRING
    input.Body.creativeAssets[_].zipFilesize == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldId == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldValueId == STRING
    input.Body.customKeyValues[_] == STRING
    input.Body.dynamicAssetSelection == BOOLEAN
    input.Body.exitCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.exitCustomEvents[_].artworkLabel == STRING
    input.Body.exitCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.exitCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.exitCustomEvents[_].id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.exitCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.exitCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.exitCustomEvents[_].videoReportingId == STRING
    input.Body.fsCommand.left == INTEGER
    input.Body.fsCommand.positionOption == enum_FsCommandPositionOption[_]
    input.Body.fsCommand.top == INTEGER
    input.Body.fsCommand.windowHeight == INTEGER
    input.Body.fsCommand.windowWidth == INTEGER
    input.Body.htmlCode == STRING
    input.Body.htmlCodeLocked == BOOLEAN
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.latestTraffickedCreativeId == STRING
    input.Body.mediaDescription == STRING
    input.Body.mediaDuration == NUMBER
    input.Body.name == STRING
    input.Body.obaIcon.iconClickThroughUrl == STRING
    input.Body.obaIcon.iconClickTrackingUrl == STRING
    input.Body.obaIcon.iconViewTrackingUrl == STRING
    input.Body.obaIcon.program == STRING
    input.Body.obaIcon.resourceUrl == STRING
    input.Body.obaIcon.size.height == INTEGER
    input.Body.obaIcon.size.iab == BOOLEAN
    input.Body.obaIcon.size.id == STRING
    input.Body.obaIcon.size.kind == STRING
    input.Body.obaIcon.size.width == INTEGER
    input.Body.obaIcon.xPosition == STRING
    input.Body.obaIcon.yPosition == STRING
    input.Body.overrideCss == STRING
    input.Body.progressOffset.offsetPercentage == INTEGER
    input.Body.progressOffset.offsetSeconds == INTEGER
    input.Body.redirectUrl == STRING
    input.Body.renderingId == STRING
    input.Body.renderingIdDimensionValue.dimensionName == STRING
    input.Body.renderingIdDimensionValue.etag == STRING
    input.Body.renderingIdDimensionValue.id == STRING
    input.Body.renderingIdDimensionValue.kind == STRING
    input.Body.renderingIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.renderingIdDimensionValue.value == STRING
    input.Body.requiredFlashPluginVersion == STRING
    input.Body.requiredFlashVersion == INTEGER
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.skipOffset.offsetPercentage == INTEGER
    input.Body.skipOffset.offsetSeconds == INTEGER
    input.Body.skippable == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslOverride == BOOLEAN
    input.Body.studioAdvertiserId == STRING
    input.Body.studioCreativeId == STRING
    input.Body.studioTraffickedCreativeId == STRING
    input.Body.subaccountId == STRING
    input.Body.thirdPartyBackupImageImpressionsUrl == STRING
    input.Body.thirdPartyRichMediaImpressionsUrl == STRING
    input.Body.thirdPartyUrls[_].thirdPartyUrlType == enum_ThirdPartyTrackingUrlThirdPartyUrlType[_]
    input.Body.thirdPartyUrls[_].url == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.timerCustomEvents[_].artworkLabel == STRING
    input.Body.timerCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.timerCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.timerCustomEvents[_].id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.timerCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.timerCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.timerCustomEvents[_].videoReportingId == STRING
    input.Body.totalFileSize == STRING
    input.Body.type == enum_CreativeType[_]
    input.Body.universalAdId.registry == enum_UniversalAdIdRegistry[_]
    input.Body.universalAdId.value == STRING
    input.Body.version == INTEGER
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.creatives.update

enum_CreativeArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetAlignment := [ "ALIGNMENT_TOP", "ALIGNMENT_RIGHT", "ALIGNMENT_BOTTOM", "ALIGNMENT_LEFT" ]
enum_CreativeAssetArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeAssetChildAssetType := [ "CHILD_ASSET_TYPE_FLASH", "CHILD_ASSET_TYPE_VIDEO", "CHILD_ASSET_TYPE_IMAGE", "CHILD_ASSET_TYPE_DATA" ]
enum_CreativeAssetDetectedFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeAssetDisplayType := [ "ASSET_DISPLAY_TYPE_INPAGE", "ASSET_DISPLAY_TYPE_FLOATING", "ASSET_DISPLAY_TYPE_OVERLAY", "ASSET_DISPLAY_TYPE_EXPANDING", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH", "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING", "ASSET_DISPLAY_TYPE_PEEL_DOWN", "ASSET_DISPLAY_TYPE_VPAID_LINEAR", "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR", "ASSET_DISPLAY_TYPE_BACKDROP" ]
enum_CreativeAssetDurationType := [ "ASSET_DURATION_TYPE_AUTO", "ASSET_DURATION_TYPE_NONE", "ASSET_DURATION_TYPE_CUSTOM" ]
enum_CreativeAssetIdType := [ "IMAGE", "FLASH", "VIDEO", "HTML", "HTML_IMAGE", "AUDIO" ]
enum_CreativeAssetOrientation := [ "LANDSCAPE", "PORTRAIT", "SQUARE" ]
enum_CreativeAssetPositionLeftUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetPositionTopUnit := [ "OFFSET_UNIT_PIXEL", "OFFSET_UNIT_PERCENT", "OFFSET_UNIT_PIXEL_FROM_CENTER" ]
enum_CreativeAssetRole := [ "PRIMARY", "BACKUP_IMAGE", "ADDITIONAL_IMAGE", "ADDITIONAL_FLASH", "PARENT_VIDEO", "TRANSCODED_VIDEO", "OTHER", "ALTERNATE_VIDEO", "PARENT_AUDIO", "TRANSCODED_AUDIO" ]
enum_CreativeAssetStartTimeType := [ "ASSET_START_TIME_TYPE_NONE", "ASSET_START_TIME_TYPE_CUSTOM" ]
enum_CreativeAssetWindowMode := [ "OPAQUE", "WINDOW", "TRANSPARENT" ]
enum_CreativeAuthoringSource := [ "CREATIVE_AUTHORING_SOURCE_DCM", "CREATIVE_AUTHORING_SOURCE_DBM", "CREATIVE_AUTHORING_SOURCE_STUDIO", "CREATIVE_AUTHORING_SOURCE_GWD", "CREATIVE_AUTHORING_SOURCE_ACS" ]
enum_CreativeAuthoringTool := [ "NINJA", "SWIFFY" ]
enum_CreativeBackupImageFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_CreativeCustomEventAdvertiserCustomEventType := [ "ADVERTISER_EVENT_TIMER", "ADVERTISER_EVENT_EXIT", "ADVERTISER_EVENT_COUNTER" ]
enum_CreativeCustomEventArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeCustomEventTargetType := [ "TARGET_BLANK", "TARGET_TOP", "TARGET_SELF", "TARGET_PARENT", "TARGET_POPUP" ]
enum_CreativeType := [ "IMAGE", "DISPLAY_REDIRECT", "CUSTOM_DISPLAY", "INTERNAL_REDIRECT", "CUSTOM_DISPLAY_INTERSTITIAL", "INTERSTITIAL_INTERNAL_REDIRECT", "TRACKING_TEXT", "RICH_MEDIA_DISPLAY_BANNER", "RICH_MEDIA_INPAGE_FLOATING", "RICH_MEDIA_IM_EXPAND", "RICH_MEDIA_DISPLAY_EXPANDING", "RICH_MEDIA_DISPLAY_INTERSTITIAL", "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL", "RICH_MEDIA_MOBILE_IN_APP", "FLASH_INPAGE", "INSTREAM_VIDEO", "VPAID_LINEAR_VIDEO", "VPAID_NON_LINEAR_VIDEO", "INSTREAM_VIDEO_REDIRECT", "RICH_MEDIA_PEEL_DOWN", "HTML5_BANNER", "DISPLAY", "DISPLAY_IMAGE_GALLERY", "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", "INSTREAM_AUDIO" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FsCommandPositionOption := [ "CENTERED", "DISTANCE_FROM_TOP_LEFT_CORNER" ]
enum_PopupWindowPropertiesPositionType := [ "CENTER", "COORDINATES" ]
enum_TargetWindowTargetWindowOption := [ "NEW_WINDOW", "CURRENT_WINDOW", "CUSTOM" ]
enum_ThirdPartyTrackingUrlThirdPartyUrlType := [ "IMPRESSION", "CLICK_TRACKING", "VIDEO_START", "VIDEO_FIRST_QUARTILE", "VIDEO_MIDPOINT", "VIDEO_THIRD_QUARTILE", "VIDEO_COMPLETE", "VIDEO_MUTE", "VIDEO_PAUSE", "VIDEO_REWIND", "VIDEO_FULLSCREEN", "VIDEO_STOP", "VIDEO_CUSTOM", "SURVEY", "RICH_MEDIA_IMPRESSION", "RICH_MEDIA_RM_IMPRESSION", "RICH_MEDIA_BACKUP_IMPRESSION", "VIDEO_SKIP", "VIDEO_PROGRESS" ]
enum_UniversalAdIdRegistry := [ "OTHER", "AD_ID_OFFICIAL", "CLEARCAST", "DCM", "ARPP" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.adParameters == STRING
    input.Body.adTagKeys[_] == STRING
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.allowScriptAccess == BOOLEAN
    input.Body.archived == BOOLEAN
    input.Body.artworkType == enum_CreativeArtworkType[_]
    input.Body.authoringSource == enum_CreativeAuthoringSource[_]
    input.Body.authoringTool == enum_CreativeAuthoringTool[_]
    input.Body.autoAdvanceImages == BOOLEAN
    input.Body.backgroundColor == STRING
    input.Body.backupImageClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.customClickThroughUrl == STRING
    input.Body.backupImageClickThroughUrl.landingPageId == STRING
    input.Body.backupImageFeatures[_] == enum_CreativeBackupImageFeatures[_]
    input.Body.backupImageReportingLabel == STRING
    input.Body.backupImageTargetWindow.customHtml == STRING
    input.Body.backupImageTargetWindow.targetWindowOption == enum_TargetWindowTargetWindowOption[_]
    input.Body.clickTags[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.landingPageId == STRING
    input.Body.clickTags[_].eventName == STRING
    input.Body.clickTags[_].name == STRING
    input.Body.commercialId == STRING
    input.Body.companionCreatives[_] == STRING
    input.Body.compatibility[_] == enum_CreativeCompatibility[_]
    input.Body.convertFlashToHtml5 == BOOLEAN
    input.Body.counterCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.counterCustomEvents[_].artworkLabel == STRING
    input.Body.counterCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.counterCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.counterCustomEvents[_].id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.counterCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.counterCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.counterCustomEvents[_].videoReportingId == STRING
    input.Body.creativeAssetSelection.defaultAssetId == STRING
    input.Body.creativeAssetSelection.rules[_].assetId == STRING
    input.Body.creativeAssetSelection.rules[_].name == STRING
    input.Body.creativeAssetSelection.rules[_].targetingTemplateId == STRING
    input.Body.creativeAssets[_].actionScript3 == BOOLEAN
    input.Body.creativeAssets[_].active == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].height == INTEGER
    input.Body.creativeAssets[_].additionalSizes[_].iab == BOOLEAN
    input.Body.creativeAssets[_].additionalSizes[_].id == STRING
    input.Body.creativeAssets[_].additionalSizes[_].kind == STRING
    input.Body.creativeAssets[_].additionalSizes[_].width == INTEGER
    input.Body.creativeAssets[_].alignment == enum_CreativeAssetAlignment[_]
    input.Body.creativeAssets[_].artworkType == enum_CreativeAssetArtworkType[_]
    input.Body.creativeAssets[_].assetIdentifier.name == STRING
    input.Body.creativeAssets[_].assetIdentifier.type == enum_CreativeAssetIdType[_]
    input.Body.creativeAssets[_].audioBitRate == INTEGER
    input.Body.creativeAssets[_].audioSampleRate == INTEGER
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventId == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventName == STRING
    input.Body.creativeAssets[_].backupImageExit.advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.creativeAssets[_].backupImageExit.artworkLabel == STRING
    input.Body.creativeAssets[_].backupImageExit.artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.creativeAssets[_].backupImageExit.exitClickThroughUrl.landingPageId == STRING
    input.Body.creativeAssets[_].backupImageExit.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.height == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.id == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.kind == STRING
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.dimension.width == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.left == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.offset.top == INTEGER
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.showToolBar == BOOLEAN
    input.Body.creativeAssets[_].backupImageExit.popupWindowProperties.title == STRING
    input.Body.creativeAssets[_].backupImageExit.targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.creativeAssets[_].backupImageExit.videoReportingId == STRING
    input.Body.creativeAssets[_].bitRate == INTEGER
    input.Body.creativeAssets[_].childAssetType == enum_CreativeAssetChildAssetType[_]
    input.Body.creativeAssets[_].collapsedSize.height == INTEGER
    input.Body.creativeAssets[_].collapsedSize.iab == BOOLEAN
    input.Body.creativeAssets[_].collapsedSize.id == STRING
    input.Body.creativeAssets[_].collapsedSize.kind == STRING
    input.Body.creativeAssets[_].collapsedSize.width == INTEGER
    input.Body.creativeAssets[_].companionCreativeIds[_] == STRING
    input.Body.creativeAssets[_].customStartTimeValue == INTEGER
    input.Body.creativeAssets[_].detectedFeatures[_] == enum_CreativeAssetDetectedFeatures[_]
    input.Body.creativeAssets[_].displayType == enum_CreativeAssetDisplayType[_]
    input.Body.creativeAssets[_].duration == INTEGER
    input.Body.creativeAssets[_].durationType == enum_CreativeAssetDurationType[_]
    input.Body.creativeAssets[_].expandedDimension.height == INTEGER
    input.Body.creativeAssets[_].expandedDimension.iab == BOOLEAN
    input.Body.creativeAssets[_].expandedDimension.id == STRING
    input.Body.creativeAssets[_].expandedDimension.kind == STRING
    input.Body.creativeAssets[_].expandedDimension.width == INTEGER
    input.Body.creativeAssets[_].fileSize == STRING
    input.Body.creativeAssets[_].flashVersion == INTEGER
    input.Body.creativeAssets[_].frameRate == NUMBER
    input.Body.creativeAssets[_].hideFlashObjects == BOOLEAN
    input.Body.creativeAssets[_].hideSelectionBoxes == BOOLEAN
    input.Body.creativeAssets[_].horizontallyLocked == BOOLEAN
    input.Body.creativeAssets[_].id == STRING
    input.Body.creativeAssets[_].idDimensionValue.dimensionName == STRING
    input.Body.creativeAssets[_].idDimensionValue.etag == STRING
    input.Body.creativeAssets[_].idDimensionValue.id == STRING
    input.Body.creativeAssets[_].idDimensionValue.kind == STRING
    input.Body.creativeAssets[_].idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.creativeAssets[_].idDimensionValue.value == STRING
    input.Body.creativeAssets[_].mediaDuration == NUMBER
    input.Body.creativeAssets[_].mimeType == STRING
    input.Body.creativeAssets[_].offset.left == INTEGER
    input.Body.creativeAssets[_].offset.top == INTEGER
    input.Body.creativeAssets[_].orientation == enum_CreativeAssetOrientation[_]
    input.Body.creativeAssets[_].originalBackup == BOOLEAN
    input.Body.creativeAssets[_].politeLoad == BOOLEAN
    input.Body.creativeAssets[_].position.left == INTEGER
    input.Body.creativeAssets[_].position.top == INTEGER
    input.Body.creativeAssets[_].positionLeftUnit == enum_CreativeAssetPositionLeftUnit[_]
    input.Body.creativeAssets[_].positionTopUnit == enum_CreativeAssetPositionTopUnit[_]
    input.Body.creativeAssets[_].progressiveServingUrl == STRING
    input.Body.creativeAssets[_].pushdown == BOOLEAN
    input.Body.creativeAssets[_].pushdownDuration == NUMBER
    input.Body.creativeAssets[_].role == enum_CreativeAssetRole[_]
    input.Body.creativeAssets[_].size.height == INTEGER
    input.Body.creativeAssets[_].size.iab == BOOLEAN
    input.Body.creativeAssets[_].size.id == STRING
    input.Body.creativeAssets[_].size.kind == STRING
    input.Body.creativeAssets[_].size.width == INTEGER
    input.Body.creativeAssets[_].sslCompliant == BOOLEAN
    input.Body.creativeAssets[_].startTimeType == enum_CreativeAssetStartTimeType[_]
    input.Body.creativeAssets[_].streamingServingUrl == STRING
    input.Body.creativeAssets[_].transparency == BOOLEAN
    input.Body.creativeAssets[_].verticallyLocked == BOOLEAN
    input.Body.creativeAssets[_].windowMode == enum_CreativeAssetWindowMode[_]
    input.Body.creativeAssets[_].zIndex == INTEGER
    input.Body.creativeAssets[_].zipFilename == STRING
    input.Body.creativeAssets[_].zipFilesize == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldId == STRING
    input.Body.creativeFieldAssignments[_].creativeFieldValueId == STRING
    input.Body.customKeyValues[_] == STRING
    input.Body.dynamicAssetSelection == BOOLEAN
    input.Body.exitCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.exitCustomEvents[_].artworkLabel == STRING
    input.Body.exitCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.exitCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.exitCustomEvents[_].id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.exitCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.exitCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.exitCustomEvents[_].videoReportingId == STRING
    input.Body.fsCommand.left == INTEGER
    input.Body.fsCommand.positionOption == enum_FsCommandPositionOption[_]
    input.Body.fsCommand.top == INTEGER
    input.Body.fsCommand.windowHeight == INTEGER
    input.Body.fsCommand.windowWidth == INTEGER
    input.Body.htmlCode == STRING
    input.Body.htmlCodeLocked == BOOLEAN
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.latestTraffickedCreativeId == STRING
    input.Body.mediaDescription == STRING
    input.Body.mediaDuration == NUMBER
    input.Body.name == STRING
    input.Body.obaIcon.iconClickThroughUrl == STRING
    input.Body.obaIcon.iconClickTrackingUrl == STRING
    input.Body.obaIcon.iconViewTrackingUrl == STRING
    input.Body.obaIcon.program == STRING
    input.Body.obaIcon.resourceUrl == STRING
    input.Body.obaIcon.size.height == INTEGER
    input.Body.obaIcon.size.iab == BOOLEAN
    input.Body.obaIcon.size.id == STRING
    input.Body.obaIcon.size.kind == STRING
    input.Body.obaIcon.size.width == INTEGER
    input.Body.obaIcon.xPosition == STRING
    input.Body.obaIcon.yPosition == STRING
    input.Body.overrideCss == STRING
    input.Body.progressOffset.offsetPercentage == INTEGER
    input.Body.progressOffset.offsetSeconds == INTEGER
    input.Body.redirectUrl == STRING
    input.Body.renderingId == STRING
    input.Body.renderingIdDimensionValue.dimensionName == STRING
    input.Body.renderingIdDimensionValue.etag == STRING
    input.Body.renderingIdDimensionValue.id == STRING
    input.Body.renderingIdDimensionValue.kind == STRING
    input.Body.renderingIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.renderingIdDimensionValue.value == STRING
    input.Body.requiredFlashPluginVersion == STRING
    input.Body.requiredFlashVersion == INTEGER
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.skipOffset.offsetPercentage == INTEGER
    input.Body.skipOffset.offsetSeconds == INTEGER
    input.Body.skippable == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslOverride == BOOLEAN
    input.Body.studioAdvertiserId == STRING
    input.Body.studioCreativeId == STRING
    input.Body.studioTraffickedCreativeId == STRING
    input.Body.subaccountId == STRING
    input.Body.thirdPartyBackupImageImpressionsUrl == STRING
    input.Body.thirdPartyRichMediaImpressionsUrl == STRING
    input.Body.thirdPartyUrls[_].thirdPartyUrlType == enum_ThirdPartyTrackingUrlThirdPartyUrlType[_]
    input.Body.thirdPartyUrls[_].url == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.timerCustomEvents[_].artworkLabel == STRING
    input.Body.timerCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.timerCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.timerCustomEvents[_].id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.timerCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.timerCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.timerCustomEvents[_].videoReportingId == STRING
    input.Body.totalFileSize == STRING
    input.Body.type == enum_CreativeType[_]
    input.Body.universalAdId.registry == enum_UniversalAdIdRegistry[_]
    input.Body.universalAdId.value == STRING
    input.Body.version == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.customEvents.batchinsert

enum_CustomEventEventType := [ "UNKNOWN", "INSERT", "ANNOTATE" ]
enum_CustomEventInsertInsertEventType := [ "UNKNOWN", "IMPRESSION", "CLICK" ]

valid {
    input.Body.customEvents[_].annotateClickEvent.gclid == STRING
    input.Body.customEvents[_].annotateClickEvent.kind == STRING
    input.Body.customEvents[_].annotateImpressionEvent.kind == STRING
    input.Body.customEvents[_].annotateImpressionEvent.pathImpressionId == STRING
    input.Body.customEvents[_].customVariables[_].index == STRING
    input.Body.customEvents[_].customVariables[_].kind == STRING
    input.Body.customEvents[_].customVariables[_].value == STRING
    input.Body.customEvents[_].eventType == enum_CustomEventEventType[_]
    input.Body.customEvents[_].floodlightConfigurationId == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.adId == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.campaignId == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.creativeId == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.kind == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.placementId == STRING
    input.Body.customEvents[_].insertEvent.cmDimensions.siteId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.dvCampaignId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.dvCreativeId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.dvInsertionOrderId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.dvLineItemId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.dvSiteId == STRING
    input.Body.customEvents[_].insertEvent.dv3Dimensions.kind == STRING
    input.Body.customEvents[_].insertEvent.insertEventType == enum_CustomEventInsertInsertEventType[_]
    input.Body.customEvents[_].insertEvent.kind == STRING
    input.Body.customEvents[_].insertEvent.matchId == STRING
    input.Body.customEvents[_].insertEvent.mobileDeviceId == STRING
    input.Body.customEvents[_].kind == STRING
    input.Body.customEvents[_].ordinal == STRING
    input.Body.customEvents[_].timestampMicros == STRING
    input.Body.kind == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.dimensionValues.query

valid {
    input.Body.dimensionName == STRING
    input.Body.endDate == STRING
    input.Body.filters[_].dimensionName == STRING
    input.Body.filters[_].kind == STRING
    input.Body.filters[_].value == STRING
    input.Body.kind == STRING
    input.Body.startDate == STRING
    input.ReqMap.profileId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.directorySiteContacts.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.directorySiteContacts.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.directorySiteIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.directorySites.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.directorySites.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_DirectorySiteInpageTagFormats := [ "STANDARD", "IFRAME_JAVASCRIPT_INPAGE", "INTERNAL_REDIRECT_INPAGE", "JAVASCRIPT_INPAGE" ]
enum_DirectorySiteInterstitialTagFormats := [ "IFRAME_JAVASCRIPT_INTERSTITIAL", "INTERNAL_REDIRECT_INTERSTITIAL", "JAVASCRIPT_INTERSTITIAL" ]

valid {
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.inpageTagFormats[_] == enum_DirectorySiteInpageTagFormats[_]
    input.Body.interstitialTagFormats[_] == enum_DirectorySiteInterstitialTagFormats[_]
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.settings.activeViewOptOut == BOOLEAN
    input.Body.settings.dfpSettings.dfpNetworkCode == STRING
    input.Body.settings.dfpSettings.dfpNetworkName == STRING
    input.Body.settings.dfpSettings.programmaticPlacementAccepted == BOOLEAN
    input.Body.settings.dfpSettings.pubPaidPlacementAccepted == BOOLEAN
    input.Body.settings.dfpSettings.publisherPortalOnly == BOOLEAN
    input.Body.settings.instreamVideoPlacementAccepted == BOOLEAN
    input.Body.settings.interstitialPlacementAccepted == BOOLEAN
    input.Body.url == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.directorySites.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.acceptsInStreamVideoPlacements == BOOLEAN
    input.Qs.acceptsInterstitialPlacements == BOOLEAN
    input.Qs.acceptsPublisherPaidPlacements == BOOLEAN
    input.Qs.active == BOOLEAN
    input.Qs.dfpNetworkCode == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.dynamicTargetingKeys.delete

enum_ObjectTypeParameter := [ "OBJECT_ADVERTISER", "OBJECT_AD", "OBJECT_CREATIVE", "OBJECT_PLACEMENT" ]

valid {
    input.ReqMap.objectId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.name == STRING
    input.Qs.objectType == enum_ObjectTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.dynamicTargetingKeys.insert

enum_DynamicTargetingKeyObjectType := [ "OBJECT_ADVERTISER", "OBJECT_AD", "OBJECT_CREATIVE", "OBJECT_PLACEMENT" ]

valid {
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.objectId == STRING
    input.Body.objectType == enum_DynamicTargetingKeyObjectType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.dynamicTargetingKeys.list

enum_ObjectTypeParameter := [ "OBJECT_ADVERTISER", "OBJECT_AD", "OBJECT_CREATIVE", "OBJECT_PLACEMENT" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.names == STRING
    input.Qs.objectId == STRING
    input.Qs.objectType == enum_ObjectTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_EventTagSiteFilterType := [ "ALLOWLIST", "BLOCKLIST" ]
enum_EventTagStatus := [ "ENABLED", "DISABLED" ]
enum_EventTagType := [ "IMPRESSION_IMAGE_EVENT_TAG", "IMPRESSION_JAVASCRIPT_EVENT_TAG", "CLICK_THROUGH_EVENT_TAG" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.enabledByDefault == BOOLEAN
    input.Body.excludeFromAdxRequests == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteFilterType == enum_EventTagSiteFilterType[_]
    input.Body.siteIds[_] == STRING
    input.Body.sslCompliant == BOOLEAN
    input.Body.status == enum_EventTagStatus[_]
    input.Body.subaccountId == STRING
    input.Body.type == enum_EventTagType[_]
    input.Body.url == STRING
    input.Body.urlEscapeLevels == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.list

enum_EventTagTypesParameter := [ "IMPRESSION_IMAGE_EVENT_TAG", "IMPRESSION_JAVASCRIPT_EVENT_TAG", "CLICK_THROUGH_EVENT_TAG" ]
enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.adId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.campaignId == STRING
    input.Qs.definitionsOnly == BOOLEAN
    input.Qs.enabled == BOOLEAN
    input.Qs.eventTagTypes == enum_EventTagTypesParameter[_]
    input.Qs.ids == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_EventTagSiteFilterType := [ "ALLOWLIST", "BLOCKLIST" ]
enum_EventTagStatus := [ "ENABLED", "DISABLED" ]
enum_EventTagType := [ "IMPRESSION_IMAGE_EVENT_TAG", "IMPRESSION_JAVASCRIPT_EVENT_TAG", "CLICK_THROUGH_EVENT_TAG" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.enabledByDefault == BOOLEAN
    input.Body.excludeFromAdxRequests == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteFilterType == enum_EventTagSiteFilterType[_]
    input.Body.siteIds[_] == STRING
    input.Body.sslCompliant == BOOLEAN
    input.Body.status == enum_EventTagStatus[_]
    input.Body.subaccountId == STRING
    input.Body.type == enum_EventTagType[_]
    input.Body.url == STRING
    input.Body.urlEscapeLevels == INTEGER
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.eventTags.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_EventTagSiteFilterType := [ "ALLOWLIST", "BLOCKLIST" ]
enum_EventTagStatus := [ "ENABLED", "DISABLED" ]
enum_EventTagType := [ "IMPRESSION_IMAGE_EVENT_TAG", "IMPRESSION_JAVASCRIPT_EVENT_TAG", "CLICK_THROUGH_EVENT_TAG" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.enabledByDefault == BOOLEAN
    input.Body.excludeFromAdxRequests == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteFilterType == enum_EventTagSiteFilterType[_]
    input.Body.siteIds[_] == STRING
    input.Body.sslCompliant == BOOLEAN
    input.Body.status == enum_EventTagStatus[_]
    input.Body.subaccountId == STRING
    input.Body.type == enum_EventTagType[_]
    input.Body.url == STRING
    input.Body.urlEscapeLevels == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.files.get

valid {
    input.ReqMap.fileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.files.list

enum_ScopeParameter := [ "ALL", "MINE", "SHARED_WITH_ME" ]
enum_SortFieldParameter := [ "ID", "LAST_MODIFIED_TIME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.scope == enum_ScopeParameter[_]
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.generatetag

valid {
    input.ReqMap.profileId == STRING
    input.Qs.floodlightActivityId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityCacheBustingType := [ "JAVASCRIPT", "ACTIVE_SERVER_PAGE", "JSP", "PHP", "COLD_FUSION" ]
enum_FloodlightActivityCountingMethod := [ "STANDARD_COUNTING", "UNIQUE_COUNTING", "SESSION_COUNTING", "TRANSACTIONS_COUNTING", "ITEMS_SOLD_COUNTING" ]
enum_FloodlightActivityFloodlightActivityGroupType := [ "COUNTER", "SALE" ]
enum_FloodlightActivityFloodlightTagType := [ "IFRAME", "IMAGE", "GLOBAL_SITE_TAG" ]
enum_FloodlightActivityStatus := [ "ACTIVE", "ARCHIVED_AND_DISABLED", "ARCHIVED", "DISABLED_POLICY" ]
enum_FloodlightActivityTagFormat := [ "HTML", "XHTML" ]
enum_FloodlightActivityUserDefinedVariableTypes := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.attributionEnabled == BOOLEAN
    input.Body.cacheBustingType == enum_FloodlightActivityCacheBustingType[_]
    input.Body.countingMethod == enum_FloodlightActivityCountingMethod[_]
    input.Body.defaultTags[_].id == STRING
    input.Body.defaultTags[_].name == STRING
    input.Body.defaultTags[_].tag == STRING
    input.Body.expectedUrl == STRING
    input.Body.floodlightActivityGroupId == STRING
    input.Body.floodlightActivityGroupName == STRING
    input.Body.floodlightActivityGroupTagString == STRING
    input.Body.floodlightActivityGroupType == enum_FloodlightActivityFloodlightActivityGroupType[_]
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.floodlightTagType == enum_FloodlightActivityFloodlightTagType[_]
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.notes == STRING
    input.Body.publisherTags[_].clickThrough == BOOLEAN
    input.Body.publisherTags[_].directorySiteId == STRING
    input.Body.publisherTags[_].dynamicTag.id == STRING
    input.Body.publisherTags[_].dynamicTag.name == STRING
    input.Body.publisherTags[_].dynamicTag.tag == STRING
    input.Body.publisherTags[_].siteId == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.dimensionName == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.etag == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.id == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.kind == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.publisherTags[_].siteIdDimensionValue.value == STRING
    input.Body.publisherTags[_].viewThrough == BOOLEAN
    input.Body.secure == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_FloodlightActivityStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormat == enum_FloodlightActivityTagFormat[_]
    input.Body.tagString == STRING
    input.Body.userDefinedVariableTypes[_] == enum_FloodlightActivityUserDefinedVariableTypes[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.list

enum_FloodlightActivityGroupTypeParameter := [ "COUNTER", "SALE" ]
enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.floodlightActivityGroupIds == STRING
    input.Qs.floodlightActivityGroupName == STRING
    input.Qs.floodlightActivityGroupTagString == STRING
    input.Qs.floodlightActivityGroupType == enum_FloodlightActivityGroupTypeParameter[_]
    input.Qs.floodlightConfigurationId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.tagString == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityCacheBustingType := [ "JAVASCRIPT", "ACTIVE_SERVER_PAGE", "JSP", "PHP", "COLD_FUSION" ]
enum_FloodlightActivityCountingMethod := [ "STANDARD_COUNTING", "UNIQUE_COUNTING", "SESSION_COUNTING", "TRANSACTIONS_COUNTING", "ITEMS_SOLD_COUNTING" ]
enum_FloodlightActivityFloodlightActivityGroupType := [ "COUNTER", "SALE" ]
enum_FloodlightActivityFloodlightTagType := [ "IFRAME", "IMAGE", "GLOBAL_SITE_TAG" ]
enum_FloodlightActivityStatus := [ "ACTIVE", "ARCHIVED_AND_DISABLED", "ARCHIVED", "DISABLED_POLICY" ]
enum_FloodlightActivityTagFormat := [ "HTML", "XHTML" ]
enum_FloodlightActivityUserDefinedVariableTypes := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.attributionEnabled == BOOLEAN
    input.Body.cacheBustingType == enum_FloodlightActivityCacheBustingType[_]
    input.Body.countingMethod == enum_FloodlightActivityCountingMethod[_]
    input.Body.defaultTags[_].id == STRING
    input.Body.defaultTags[_].name == STRING
    input.Body.defaultTags[_].tag == STRING
    input.Body.expectedUrl == STRING
    input.Body.floodlightActivityGroupId == STRING
    input.Body.floodlightActivityGroupName == STRING
    input.Body.floodlightActivityGroupTagString == STRING
    input.Body.floodlightActivityGroupType == enum_FloodlightActivityFloodlightActivityGroupType[_]
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.floodlightTagType == enum_FloodlightActivityFloodlightTagType[_]
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.notes == STRING
    input.Body.publisherTags[_].clickThrough == BOOLEAN
    input.Body.publisherTags[_].directorySiteId == STRING
    input.Body.publisherTags[_].dynamicTag.id == STRING
    input.Body.publisherTags[_].dynamicTag.name == STRING
    input.Body.publisherTags[_].dynamicTag.tag == STRING
    input.Body.publisherTags[_].siteId == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.dimensionName == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.etag == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.id == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.kind == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.publisherTags[_].siteIdDimensionValue.value == STRING
    input.Body.publisherTags[_].viewThrough == BOOLEAN
    input.Body.secure == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_FloodlightActivityStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormat == enum_FloodlightActivityTagFormat[_]
    input.Body.tagString == STRING
    input.Body.userDefinedVariableTypes[_] == enum_FloodlightActivityUserDefinedVariableTypes[_]
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivities.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityCacheBustingType := [ "JAVASCRIPT", "ACTIVE_SERVER_PAGE", "JSP", "PHP", "COLD_FUSION" ]
enum_FloodlightActivityCountingMethod := [ "STANDARD_COUNTING", "UNIQUE_COUNTING", "SESSION_COUNTING", "TRANSACTIONS_COUNTING", "ITEMS_SOLD_COUNTING" ]
enum_FloodlightActivityFloodlightActivityGroupType := [ "COUNTER", "SALE" ]
enum_FloodlightActivityFloodlightTagType := [ "IFRAME", "IMAGE", "GLOBAL_SITE_TAG" ]
enum_FloodlightActivityStatus := [ "ACTIVE", "ARCHIVED_AND_DISABLED", "ARCHIVED", "DISABLED_POLICY" ]
enum_FloodlightActivityTagFormat := [ "HTML", "XHTML" ]
enum_FloodlightActivityUserDefinedVariableTypes := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.attributionEnabled == BOOLEAN
    input.Body.cacheBustingType == enum_FloodlightActivityCacheBustingType[_]
    input.Body.countingMethod == enum_FloodlightActivityCountingMethod[_]
    input.Body.defaultTags[_].id == STRING
    input.Body.defaultTags[_].name == STRING
    input.Body.defaultTags[_].tag == STRING
    input.Body.expectedUrl == STRING
    input.Body.floodlightActivityGroupId == STRING
    input.Body.floodlightActivityGroupName == STRING
    input.Body.floodlightActivityGroupTagString == STRING
    input.Body.floodlightActivityGroupType == enum_FloodlightActivityFloodlightActivityGroupType[_]
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.floodlightTagType == enum_FloodlightActivityFloodlightTagType[_]
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.notes == STRING
    input.Body.publisherTags[_].clickThrough == BOOLEAN
    input.Body.publisherTags[_].directorySiteId == STRING
    input.Body.publisherTags[_].dynamicTag.id == STRING
    input.Body.publisherTags[_].dynamicTag.name == STRING
    input.Body.publisherTags[_].dynamicTag.tag == STRING
    input.Body.publisherTags[_].siteId == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.dimensionName == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.etag == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.id == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.kind == STRING
    input.Body.publisherTags[_].siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.publisherTags[_].siteIdDimensionValue.value == STRING
    input.Body.publisherTags[_].viewThrough == BOOLEAN
    input.Body.secure == BOOLEAN
    input.Body.sslCompliant == BOOLEAN
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_FloodlightActivityStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormat == enum_FloodlightActivityTagFormat[_]
    input.Body.tagString == STRING
    input.Body.userDefinedVariableTypes[_] == enum_FloodlightActivityUserDefinedVariableTypes[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivityGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivityGroups.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityGroupType := [ "COUNTER", "SALE" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.tagString == STRING
    input.Body.type == enum_FloodlightActivityGroupType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivityGroups.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_TypeParameter := [ "COUNTER", "SALE" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.floodlightConfigurationId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivityGroups.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityGroupType := [ "COUNTER", "SALE" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.tagString == STRING
    input.Body.type == enum_FloodlightActivityGroupType[_]
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightActivityGroups.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightActivityGroupType := [ "COUNTER", "SALE" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.floodlightConfigurationId == STRING
    input.Body.floodlightConfigurationIdDimensionValue.dimensionName == STRING
    input.Body.floodlightConfigurationIdDimensionValue.etag == STRING
    input.Body.floodlightConfigurationIdDimensionValue.id == STRING
    input.Body.floodlightConfigurationIdDimensionValue.kind == STRING
    input.Body.floodlightConfigurationIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightConfigurationIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.tagString == STRING
    input.Body.type == enum_FloodlightActivityGroupType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightConfigurations.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightConfigurations.list

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightConfigurations.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightConfigurationFirstDayOfWeek := [ "SUNDAY", "MONDAY" ]
enum_FloodlightConfigurationNaturalSearchConversionAttributionOption := [ "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION" ]
enum_UserDefinedVariableConfigurationDataType := [ "STRING", "NUMBER" ]
enum_UserDefinedVariableConfigurationVariableType := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.analyticsDataSharingEnabled == BOOLEAN
    input.Body.customViewabilityMetric.configuration.audible == BOOLEAN
    input.Body.customViewabilityMetric.configuration.timeMillis == INTEGER
    input.Body.customViewabilityMetric.configuration.timePercent == INTEGER
    input.Body.customViewabilityMetric.configuration.viewabilityPercent == INTEGER
    input.Body.customViewabilityMetric.id == STRING
    input.Body.customViewabilityMetric.name == STRING
    input.Body.exposureToConversionEnabled == BOOLEAN
    input.Body.firstDayOfWeek == enum_FloodlightConfigurationFirstDayOfWeek[_]
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.inAppAttributionTrackingEnabled == BOOLEAN
    input.Body.kind == STRING
    input.Body.lookbackConfiguration.clickDuration == INTEGER
    input.Body.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.naturalSearchConversionAttributionOption == enum_FloodlightConfigurationNaturalSearchConversionAttributionOption[_]
    input.Body.omnitureSettings.omnitureCostDataEnabled == BOOLEAN
    input.Body.omnitureSettings.omnitureIntegrationEnabled == BOOLEAN
    input.Body.subaccountId == STRING
    input.Body.tagSettings.dynamicTagEnabled == BOOLEAN
    input.Body.tagSettings.imageTagEnabled == BOOLEAN
    input.Body.thirdPartyAuthenticationTokens[_].name == STRING
    input.Body.thirdPartyAuthenticationTokens[_].value == STRING
    input.Body.userDefinedVariableConfigurations[_].dataType == enum_UserDefinedVariableConfigurationDataType[_]
    input.Body.userDefinedVariableConfigurations[_].reportName == STRING
    input.Body.userDefinedVariableConfigurations[_].variableType == enum_UserDefinedVariableConfigurationVariableType[_]
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.floodlightConfigurations.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_FloodlightConfigurationFirstDayOfWeek := [ "SUNDAY", "MONDAY" ]
enum_FloodlightConfigurationNaturalSearchConversionAttributionOption := [ "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION" ]
enum_UserDefinedVariableConfigurationDataType := [ "STRING", "NUMBER" ]
enum_UserDefinedVariableConfigurationVariableType := [ "U1", "U2", "U3", "U4", "U5", "U6", "U7", "U8", "U9", "U10", "U11", "U12", "U13", "U14", "U15", "U16", "U17", "U18", "U19", "U20", "U21", "U22", "U23", "U24", "U25", "U26", "U27", "U28", "U29", "U30", "U31", "U32", "U33", "U34", "U35", "U36", "U37", "U38", "U39", "U40", "U41", "U42", "U43", "U44", "U45", "U46", "U47", "U48", "U49", "U50", "U51", "U52", "U53", "U54", "U55", "U56", "U57", "U58", "U59", "U60", "U61", "U62", "U63", "U64", "U65", "U66", "U67", "U68", "U69", "U70", "U71", "U72", "U73", "U74", "U75", "U76", "U77", "U78", "U79", "U80", "U81", "U82", "U83", "U84", "U85", "U86", "U87", "U88", "U89", "U90", "U91", "U92", "U93", "U94", "U95", "U96", "U97", "U98", "U99", "U100" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.analyticsDataSharingEnabled == BOOLEAN
    input.Body.customViewabilityMetric.configuration.audible == BOOLEAN
    input.Body.customViewabilityMetric.configuration.timeMillis == INTEGER
    input.Body.customViewabilityMetric.configuration.timePercent == INTEGER
    input.Body.customViewabilityMetric.configuration.viewabilityPercent == INTEGER
    input.Body.customViewabilityMetric.id == STRING
    input.Body.customViewabilityMetric.name == STRING
    input.Body.exposureToConversionEnabled == BOOLEAN
    input.Body.firstDayOfWeek == enum_FloodlightConfigurationFirstDayOfWeek[_]
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.inAppAttributionTrackingEnabled == BOOLEAN
    input.Body.kind == STRING
    input.Body.lookbackConfiguration.clickDuration == INTEGER
    input.Body.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.naturalSearchConversionAttributionOption == enum_FloodlightConfigurationNaturalSearchConversionAttributionOption[_]
    input.Body.omnitureSettings.omnitureCostDataEnabled == BOOLEAN
    input.Body.omnitureSettings.omnitureIntegrationEnabled == BOOLEAN
    input.Body.subaccountId == STRING
    input.Body.tagSettings.dynamicTagEnabled == BOOLEAN
    input.Body.tagSettings.imageTagEnabled == BOOLEAN
    input.Body.thirdPartyAuthenticationTokens[_].name == STRING
    input.Body.thirdPartyAuthenticationTokens[_].value == STRING
    input.Body.userDefinedVariableConfigurations[_].dataType == enum_UserDefinedVariableConfigurationDataType[_]
    input.Body.userDefinedVariableConfigurations[_].reportName == STRING
    input.Body.userDefinedVariableConfigurations[_].variableType == enum_UserDefinedVariableConfigurationVariableType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.inventoryItems.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.inventoryItems.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]
enum_TypeParameter := [ "PLANNING_PLACEMENT_TYPE_REGULAR", "PLANNING_PLACEMENT_TYPE_CREDIT" ]

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.ids == STRING
    input.Qs.inPlan == BOOLEAN
    input.Qs.maxResults == INTEGER
    input.Qs.orderId == STRING
    input.Qs.pageToken == STRING
    input.Qs.siteId == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.type == enum_TypeParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.landingPages.delete

valid {
    input.ReqMap.campaignId == STRING
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.landingPages.get

valid {
    input.ReqMap.campaignId == STRING
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.landingPages.insert

valid {
    input.Body.default == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.landingPages.list

valid {
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.landingPages.patch

valid {
    input.Body.default == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.landingPages.update

valid {
    input.Body.default == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.url == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.languages.list

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

dfareporting.media.upload

enum_CreativeAssetIdType := [ "IMAGE", "FLASH", "VIDEO", "HTML", "HTML_IMAGE", "AUDIO" ]
enum_CreativeAssetMetadataDetectedFeatures := [ "CSS_FONT_FACE", "CSS_BACKGROUND_SIZE", "CSS_BORDER_IMAGE", "CSS_BORDER_RADIUS", "CSS_BOX_SHADOW", "CSS_FLEX_BOX", "CSS_HSLA", "CSS_MULTIPLE_BGS", "CSS_OPACITY", "CSS_RGBA", "CSS_TEXT_SHADOW", "CSS_ANIMATIONS", "CSS_COLUMNS", "CSS_GENERATED_CONTENT", "CSS_GRADIENTS", "CSS_REFLECTIONS", "CSS_TRANSFORMS", "CSS_TRANSFORMS3D", "CSS_TRANSITIONS", "APPLICATION_CACHE", "CANVAS", "CANVAS_TEXT", "DRAG_AND_DROP", "HASH_CHANGE", "HISTORY", "AUDIO", "VIDEO", "INDEXED_DB", "INPUT_ATTR_AUTOCOMPLETE", "INPUT_ATTR_AUTOFOCUS", "INPUT_ATTR_LIST", "INPUT_ATTR_PLACEHOLDER", "INPUT_ATTR_MAX", "INPUT_ATTR_MIN", "INPUT_ATTR_MULTIPLE", "INPUT_ATTR_PATTERN", "INPUT_ATTR_REQUIRED", "INPUT_ATTR_STEP", "INPUT_TYPE_SEARCH", "INPUT_TYPE_TEL", "INPUT_TYPE_URL", "INPUT_TYPE_EMAIL", "INPUT_TYPE_DATETIME", "INPUT_TYPE_DATE", "INPUT_TYPE_MONTH", "INPUT_TYPE_WEEK", "INPUT_TYPE_TIME", "INPUT_TYPE_DATETIME_LOCAL", "INPUT_TYPE_NUMBER", "INPUT_TYPE_RANGE", "INPUT_TYPE_COLOR", "LOCAL_STORAGE", "POST_MESSAGE", "SESSION_STORAGE", "WEB_SOCKETS", "WEB_SQL_DATABASE", "WEB_WORKERS", "GEO_LOCATION", "INLINE_SVG", "SMIL", "SVG_HREF", "SVG_CLIP_PATHS", "TOUCH", "WEBGL", "SVG_FILTERS", "SVG_FE_IMAGE" ]
enum_CreativeAssetMetadataWarnedValidationRules := [ "CLICK_TAG_NON_TOP_LEVEL", "CLICK_TAG_MISSING", "CLICK_TAG_MORE_THAN_ONE", "CLICK_TAG_INVALID", "ORPHANED_ASSET", "PRIMARY_HTML_MISSING", "EXTERNAL_FILE_REFERENCED", "MRAID_REFERENCED", "ADMOB_REFERENCED", "FILE_TYPE_INVALID", "ZIP_INVALID", "LINKED_FILE_NOT_FOUND", "MAX_FLASH_VERSION_11", "NOT_SSL_COMPLIANT", "FILE_DETAIL_EMPTY", "ASSET_INVALID", "GWD_PROPERTIES_INVALID", "ENABLER_UNSUPPORTED_METHOD_DCM", "ASSET_FORMAT_UNSUPPORTED_DCM", "COMPONENT_UNSUPPORTED_DCM", "HTML5_FEATURE_UNSUPPORTED", "CLICK_TAG_IN_GWD", "CLICK_TAG_HARD_CODED", "SVG_INVALID", "CLICK_TAG_IN_RICH_MEDIA", "MISSING_ENABLER_REFERENCE" ]
enum_CreativeCustomEventAdvertiserCustomEventType := [ "ADVERTISER_EVENT_TIMER", "ADVERTISER_EVENT_EXIT", "ADVERTISER_EVENT_COUNTER" ]
enum_CreativeCustomEventArtworkType := [ "ARTWORK_TYPE_FLASH", "ARTWORK_TYPE_HTML5", "ARTWORK_TYPE_MIXED", "ARTWORK_TYPE_IMAGE" ]
enum_CreativeCustomEventTargetType := [ "TARGET_BLANK", "TARGET_TOP", "TARGET_SELF", "TARGET_PARENT", "TARGET_POPUP" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MediaRequestInfoNotificationType := [ "START", "PROGRESS", "END", "RESPONSE_SENT", "ERROR" ]
enum_MediaResponseInfoRequestClass := [ "UNKNOWN_REQUEST_CLASS", "LATENCY_SENSITIVE", "PRODUCTION_BATCH", "BEST_EFFORT" ]
enum_MediaResponseInfoTrafficClassField := [ "BE1", "AF1", "AF2", "AF3", "AF4", "NC1", "NC0", "BE0", "LLQ", "LLQ1", "LLQ2" ]
enum_PopupWindowPropertiesPositionType := [ "CENTER", "COORDINATES" ]

valid {
    input.Body.assetIdentifier.name == STRING
    input.Body.assetIdentifier.type == enum_CreativeAssetIdType[_]
    input.Body.clickTags[_].clickThroughUrl.computedClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.customClickThroughUrl == STRING
    input.Body.clickTags[_].clickThroughUrl.landingPageId == STRING
    input.Body.clickTags[_].eventName == STRING
    input.Body.clickTags[_].name == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.counterCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.counterCustomEvents[_].artworkLabel == STRING
    input.Body.counterCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.counterCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.counterCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.counterCustomEvents[_].id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.counterCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.counterCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.counterCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.counterCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.counterCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.counterCustomEvents[_].videoReportingId == STRING
    input.Body.detectedFeatures[_] == enum_CreativeAssetMetadataDetectedFeatures[_]
    input.Body.exitCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.exitCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.exitCustomEvents[_].artworkLabel == STRING
    input.Body.exitCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.exitCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.exitCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.exitCustomEvents[_].id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.exitCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.exitCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.exitCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.exitCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.exitCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.exitCustomEvents[_].videoReportingId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.mediaRequestInfo.currentBytes == STRING
    input.Body.mediaRequestInfo.customData == STRING
    input.Body.mediaRequestInfo.diffObjectVersion == STRING
    input.Body.mediaRequestInfo.finalStatus == INTEGER
    input.Body.mediaRequestInfo.notificationType == enum_MediaRequestInfoNotificationType[_]
    input.Body.mediaRequestInfo.requestId == STRING
    input.Body.mediaRequestInfo.requestReceivedParamsServingInfo == STRING
    input.Body.mediaRequestInfo.totalBytes == STRING
    input.Body.mediaRequestInfo.totalBytesIsEstimated == BOOLEAN
    input.Body.mediaResponseInfo.customData == STRING
    input.Body.mediaResponseInfo.dataStorageTransform == STRING
    input.Body.mediaResponseInfo.dynamicDropTarget == STRING
    input.Body.mediaResponseInfo.dynamicDropzone == STRING
    input.Body.mediaResponseInfo.requestClass == enum_MediaResponseInfoRequestClass[_]
    input.Body.mediaResponseInfo.scottyAgentUserId == STRING
    input.Body.mediaResponseInfo.scottyCustomerLog == STRING
    input.Body.mediaResponseInfo.trafficClassField == enum_MediaResponseInfoTrafficClassField[_]
    input.Body.mediaResponseInfo.verifyHashFromHeader == BOOLEAN
    input.Body.richMedia == BOOLEAN
    input.Body.timerCustomEvents[_].advertiserCustomEventId == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventName == STRING
    input.Body.timerCustomEvents[_].advertiserCustomEventType == enum_CreativeCustomEventAdvertiserCustomEventType[_]
    input.Body.timerCustomEvents[_].artworkLabel == STRING
    input.Body.timerCustomEvents[_].artworkType == enum_CreativeCustomEventArtworkType[_]
    input.Body.timerCustomEvents[_].exitClickThroughUrl.computedClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.customClickThroughUrl == STRING
    input.Body.timerCustomEvents[_].exitClickThroughUrl.landingPageId == STRING
    input.Body.timerCustomEvents[_].id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.height == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.iab == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.id == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.kind == STRING
    input.Body.timerCustomEvents[_].popupWindowProperties.dimension.width == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.left == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.offset.top == INTEGER
    input.Body.timerCustomEvents[_].popupWindowProperties.positionType == enum_PopupWindowPropertiesPositionType[_]
    input.Body.timerCustomEvents[_].popupWindowProperties.showAddressBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showMenuBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showScrollBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showStatusBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.showToolBar == BOOLEAN
    input.Body.timerCustomEvents[_].popupWindowProperties.title == STRING
    input.Body.timerCustomEvents[_].targetType == enum_CreativeCustomEventTargetType[_]
    input.Body.timerCustomEvents[_].videoReportingId == STRING
    input.Body.warnedValidationRules[_] == enum_CreativeAssetMetadataWarnedValidationRules[_]
    input.ReqMap.advertiserId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.metros.list

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

dfareporting.mobileApps.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.mobileApps.list

enum_DirectoriesParameter := [ "UNKNOWN", "APPLE_APP_STORE", "GOOGLE_PLAY_STORE", "ROKU_APP_STORE", "AMAZON_FIRETV_APP_STORE", "PLAYSTATION_APP_STORE", "APPLE_TV_APP_STORE", "XBOX_APP_STORE", "SAMSUNG_TV_APP_STORE", "ANDROID_TV_APP_STORE", "GENERIC_CTV_APP_STORE" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.directories == enum_DirectoriesParameter[_]
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.mobileCarriers.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.mobileCarriers.list

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

dfareporting.operatingSystemVersions.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.operatingSystemVersions.list

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

dfareporting.operatingSystems.get

valid {
    input.ReqMap.dartId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.operatingSystems.list

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

dfareporting.orderDocuments.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.orderDocuments.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.approved == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.orderId == STRING
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.siteId == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.orders.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.orders.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.ProjectID == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.siteId == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.ProjectID == STRING
}

dfareporting.placementGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementGroups.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PlacementGroupActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementGroupPlacementGroupType := [ "PLACEMENT_PACKAGE", "PLACEMENT_ROADBLOCK" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementGroupActiveStatus[_]
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.childPlacementIds[_] == STRING
    input.Body.comment == STRING
    input.Body.contentCategoryId == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementGroupType == enum_PlacementGroupPlacementGroupType[_]
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primaryPlacementId == STRING
    input.Body.primaryPlacementIdDimensionValue.dimensionName == STRING
    input.Body.primaryPlacementIdDimensionValue.etag == STRING
    input.Body.primaryPlacementIdDimensionValue.id == STRING
    input.Body.primaryPlacementIdDimensionValue.kind == STRING
    input.Body.primaryPlacementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.primaryPlacementIdDimensionValue.value == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementGroups.list

enum_ActiveStatusParameter := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementGroupTypeParameter := [ "PLACEMENT_PACKAGE", "PLACEMENT_ROADBLOCK" ]
enum_PricingTypesParameter := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]
enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.activeStatus == enum_ActiveStatusParameter[_]
    input.Qs.advertiserIds == STRING
    input.Qs.campaignIds == STRING
    input.Qs.contentCategoryIds == STRING
    input.Qs.directorySiteIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxEndDate == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.maxStartDate == STRING
    input.Qs.minEndDate == STRING
    input.Qs.minStartDate == STRING
    input.Qs.pageToken == STRING
    input.Qs.placementGroupType == enum_PlacementGroupTypeParameter[_]
    input.Qs.placementStrategyIds == STRING
    input.Qs.pricingTypes == enum_PricingTypesParameter[_]
    input.Qs.searchString == STRING
    input.Qs.siteIds == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementGroups.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PlacementGroupActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementGroupPlacementGroupType := [ "PLACEMENT_PACKAGE", "PLACEMENT_ROADBLOCK" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementGroupActiveStatus[_]
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.childPlacementIds[_] == STRING
    input.Body.comment == STRING
    input.Body.contentCategoryId == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementGroupType == enum_PlacementGroupPlacementGroupType[_]
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primaryPlacementId == STRING
    input.Body.primaryPlacementIdDimensionValue.dimensionName == STRING
    input.Body.primaryPlacementIdDimensionValue.etag == STRING
    input.Body.primaryPlacementIdDimensionValue.id == STRING
    input.Body.primaryPlacementIdDimensionValue.kind == STRING
    input.Body.primaryPlacementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.primaryPlacementIdDimensionValue.value == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementGroups.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PlacementGroupActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementGroupPlacementGroupType := [ "PLACEMENT_PACKAGE", "PLACEMENT_ROADBLOCK" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementGroupActiveStatus[_]
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.childPlacementIds[_] == STRING
    input.Body.comment == STRING
    input.Body.contentCategoryId == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.name == STRING
    input.Body.placementGroupType == enum_PlacementGroupPlacementGroupType[_]
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primaryPlacementId == STRING
    input.Body.primaryPlacementIdDimensionValue.dimensionName == STRING
    input.Body.primaryPlacementIdDimensionValue.etag == STRING
    input.Body.primaryPlacementIdDimensionValue.id == STRING
    input.Body.primaryPlacementIdDimensionValue.kind == STRING
    input.Body.primaryPlacementIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.primaryPlacementIdDimensionValue.value == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.insert

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.patch

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placementStrategies.update

valid {
    input.Body.accountId == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.generatetags

enum_TagFormatsParameter := [ "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", "PLACEMENT_TAG_TRACKING_JAVASCRIPT", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.campaignId == STRING
    input.Qs.placementIds == STRING
    input.Qs.tagFormats == enum_TagFormatsParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerWrappingDataLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerWrappingDataMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]
enum_MeasurementPartnerWrappingDataTagWrappingMode := [ "NONE", "BLOCKING", "MONITORING", "MONITORING_READ_ONLY", "VIDEO_PIXEL_MONITORING", "TRACKING", "VPAID_MONITORING", "VPAID_BLOCKING", "NON_VPAID_MONITORING", "VPAID_ONLY_MONITORING", "VPAID_ONLY_BLOCKING", "VPAID_ONLY_FILTERING", "VPAID_FILTERING", "NON_VPAID_FILTERING" ]
enum_PlacementActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_PlacementPaymentSource := [ "PLACEMENT_AGENCY_PAID", "PLACEMENT_PUBLISHER_PAID" ]
enum_PlacementStatus := [ "PENDING_REVIEW", "PAYMENT_ACCEPTED", "PAYMENT_REJECTED", "ACKNOWLEDGE_REJECTION", "ACKNOWLEDGE_ACCEPTANCE", "DRAFT" ]
enum_PlacementTagFormats := [ "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", "PLACEMENT_TAG_TRACKING_JAVASCRIPT", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ]
enum_PlacementVpaidAdapterChoice := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]
enum_VideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementActiveStatus[_]
    input.Body.adBlockingOptOut == BOOLEAN
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.comment == STRING
    input.Body.compatibility == enum_PlacementCompatibility[_]
    input.Body.contentCategoryId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainValue == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.lookbackConfiguration.clickDuration == INTEGER
    input.Body.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.name == STRING
    input.Body.partnerWrappingData.linkStatus == enum_MeasurementPartnerWrappingDataLinkStatus[_]
    input.Body.partnerWrappingData.measurementPartner == enum_MeasurementPartnerWrappingDataMeasurementPartner[_]
    input.Body.partnerWrappingData.tagWrappingMode == enum_MeasurementPartnerWrappingDataTagWrappingMode[_]
    input.Body.partnerWrappingData.wrappedTag == STRING
    input.Body.paymentApproved == BOOLEAN
    input.Body.paymentSource == enum_PlacementPaymentSource[_]
    input.Body.placementGroupId == STRING
    input.Body.placementGroupIdDimensionValue.dimensionName == STRING
    input.Body.placementGroupIdDimensionValue.etag == STRING
    input.Body.placementGroupIdDimensionValue.id == STRING
    input.Body.placementGroupIdDimensionValue.kind == STRING
    input.Body.placementGroupIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementGroupIdDimensionValue.value == STRING
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primary == BOOLEAN
    input.Body.publisherUpdateInfo.time == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_PlacementStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormats[_] == enum_PlacementTagFormats[_]
    input.Body.tagSetting.additionalKeyValues == STRING
    input.Body.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.tagSetting.includeClickTracking == BOOLEAN
    input.Body.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.videoActiveViewOptOut == BOOLEAN
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.durationSeconds == INTEGER
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_VideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.Body.vpaidAdapterChoice == enum_PlacementVpaidAdapterChoice[_]
    input.Body.wrappingOptOut == BOOLEAN
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.list

enum_ActiveStatusParameter := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_CompatibilitiesParameter := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_PaymentSourceParameter := [ "PLACEMENT_AGENCY_PAID", "PLACEMENT_PUBLISHER_PAID" ]
enum_PricingTypesParameter := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]
enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.activeStatus == enum_ActiveStatusParameter[_]
    input.Qs.advertiserIds == STRING
    input.Qs.campaignIds == STRING
    input.Qs.compatibilities == enum_CompatibilitiesParameter[_]
    input.Qs.contentCategoryIds == STRING
    input.Qs.directorySiteIds == STRING
    input.Qs.groupIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxEndDate == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.maxStartDate == STRING
    input.Qs.minEndDate == STRING
    input.Qs.minStartDate == STRING
    input.Qs.pageToken == STRING
    input.Qs.paymentSource == enum_PaymentSourceParameter[_]
    input.Qs.placementStrategyIds == STRING
    input.Qs.pricingTypes == enum_PricingTypesParameter[_]
    input.Qs.searchString == STRING
    input.Qs.siteIds == STRING
    input.Qs.sizeIds == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerWrappingDataLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerWrappingDataMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]
enum_MeasurementPartnerWrappingDataTagWrappingMode := [ "NONE", "BLOCKING", "MONITORING", "MONITORING_READ_ONLY", "VIDEO_PIXEL_MONITORING", "TRACKING", "VPAID_MONITORING", "VPAID_BLOCKING", "NON_VPAID_MONITORING", "VPAID_ONLY_MONITORING", "VPAID_ONLY_BLOCKING", "VPAID_ONLY_FILTERING", "VPAID_FILTERING", "NON_VPAID_FILTERING" ]
enum_PlacementActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_PlacementPaymentSource := [ "PLACEMENT_AGENCY_PAID", "PLACEMENT_PUBLISHER_PAID" ]
enum_PlacementStatus := [ "PENDING_REVIEW", "PAYMENT_ACCEPTED", "PAYMENT_REJECTED", "ACKNOWLEDGE_REJECTION", "ACKNOWLEDGE_ACCEPTANCE", "DRAFT" ]
enum_PlacementTagFormats := [ "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", "PLACEMENT_TAG_TRACKING_JAVASCRIPT", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ]
enum_PlacementVpaidAdapterChoice := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]
enum_VideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementActiveStatus[_]
    input.Body.adBlockingOptOut == BOOLEAN
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.comment == STRING
    input.Body.compatibility == enum_PlacementCompatibility[_]
    input.Body.contentCategoryId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainValue == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.lookbackConfiguration.clickDuration == INTEGER
    input.Body.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.name == STRING
    input.Body.partnerWrappingData.linkStatus == enum_MeasurementPartnerWrappingDataLinkStatus[_]
    input.Body.partnerWrappingData.measurementPartner == enum_MeasurementPartnerWrappingDataMeasurementPartner[_]
    input.Body.partnerWrappingData.tagWrappingMode == enum_MeasurementPartnerWrappingDataTagWrappingMode[_]
    input.Body.partnerWrappingData.wrappedTag == STRING
    input.Body.paymentApproved == BOOLEAN
    input.Body.paymentSource == enum_PlacementPaymentSource[_]
    input.Body.placementGroupId == STRING
    input.Body.placementGroupIdDimensionValue.dimensionName == STRING
    input.Body.placementGroupIdDimensionValue.etag == STRING
    input.Body.placementGroupIdDimensionValue.id == STRING
    input.Body.placementGroupIdDimensionValue.kind == STRING
    input.Body.placementGroupIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementGroupIdDimensionValue.value == STRING
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primary == BOOLEAN
    input.Body.publisherUpdateInfo.time == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_PlacementStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormats[_] == enum_PlacementTagFormats[_]
    input.Body.tagSetting.additionalKeyValues == STRING
    input.Body.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.tagSetting.includeClickTracking == BOOLEAN
    input.Body.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.videoActiveViewOptOut == BOOLEAN
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.durationSeconds == INTEGER
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_VideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.Body.vpaidAdapterChoice == enum_PlacementVpaidAdapterChoice[_]
    input.Body.wrappingOptOut == BOOLEAN
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.placements.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_MeasurementPartnerWrappingDataLinkStatus := [ "MEASUREMENT_PARTNER_UNLINKED", "MEASUREMENT_PARTNER_LINKED", "MEASUREMENT_PARTNER_LINK_PENDING", "MEASUREMENT_PARTNER_LINK_FAILURE", "MEASUREMENT_PARTNER_LINK_OPT_OUT", "MEASUREMENT_PARTNER_LINK_OPT_OUT_PENDING", "MEASUREMENT_PARTNER_LINK_WRAPPING_PENDING", "MEASUREMENT_PARTNER_MODE_CHANGE_PENDING" ]
enum_MeasurementPartnerWrappingDataMeasurementPartner := [ "NONE", "INTEGRAL_AD_SCIENCE", "DOUBLE_VERIFY" ]
enum_MeasurementPartnerWrappingDataTagWrappingMode := [ "NONE", "BLOCKING", "MONITORING", "MONITORING_READ_ONLY", "VIDEO_PIXEL_MONITORING", "TRACKING", "VPAID_MONITORING", "VPAID_BLOCKING", "NON_VPAID_MONITORING", "VPAID_ONLY_MONITORING", "VPAID_ONLY_BLOCKING", "VPAID_ONLY_FILTERING", "VPAID_FILTERING", "NON_VPAID_FILTERING" ]
enum_PlacementActiveStatus := [ "PLACEMENT_STATUS_UNKNOWN", "PLACEMENT_STATUS_ACTIVE", "PLACEMENT_STATUS_INACTIVE", "PLACEMENT_STATUS_ARCHIVED", "PLACEMENT_STATUS_PERMANENTLY_ARCHIVED" ]
enum_PlacementCompatibility := [ "DISPLAY", "DISPLAY_INTERSTITIAL", "APP", "APP_INTERSTITIAL", "IN_STREAM_VIDEO", "IN_STREAM_AUDIO" ]
enum_PlacementPaymentSource := [ "PLACEMENT_AGENCY_PAID", "PLACEMENT_PUBLISHER_PAID" ]
enum_PlacementStatus := [ "PENDING_REVIEW", "PAYMENT_ACCEPTED", "PAYMENT_REJECTED", "ACKNOWLEDGE_REJECTION", "ACKNOWLEDGE_ACCEPTANCE", "DRAFT" ]
enum_PlacementTagFormats := [ "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", "PLACEMENT_TAG_TRACKING_JAVASCRIPT", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4", "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT" ]
enum_PlacementVpaidAdapterChoice := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_PricingScheduleCapCostOption := [ "CAP_COST_NONE", "CAP_COST_MONTHLY", "CAP_COST_CUMULATIVE" ]
enum_PricingSchedulePricingType := [ "PRICING_TYPE_CPM", "PRICING_TYPE_CPC", "PRICING_TYPE_CPA", "PRICING_TYPE_FLAT_RATE_IMPRESSIONS", "PRICING_TYPE_FLAT_RATE_CLICKS", "PRICING_TYPE_CPM_ACTIVEVIEW" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]
enum_VideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]

valid {
    input.Body.accountId == STRING
    input.Body.activeStatus == enum_PlacementActiveStatus[_]
    input.Body.adBlockingOptOut == BOOLEAN
    input.Body.additionalSizes[_].height == INTEGER
    input.Body.additionalSizes[_].iab == BOOLEAN
    input.Body.additionalSizes[_].id == STRING
    input.Body.additionalSizes[_].kind == STRING
    input.Body.additionalSizes[_].width == INTEGER
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.campaignId == STRING
    input.Body.campaignIdDimensionValue.dimensionName == STRING
    input.Body.campaignIdDimensionValue.etag == STRING
    input.Body.campaignIdDimensionValue.id == STRING
    input.Body.campaignIdDimensionValue.kind == STRING
    input.Body.campaignIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.campaignIdDimensionValue.value == STRING
    input.Body.comment == STRING
    input.Body.compatibility == enum_PlacementCompatibility[_]
    input.Body.contentCategoryId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainId == STRING
    input.Body.conversionDomainOverride.conversionDomains[_].conversionDomainValue == STRING
    input.Body.createInfo.time == STRING
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.externalId == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedInfo.time == STRING
    input.Body.lookbackConfiguration.clickDuration == INTEGER
    input.Body.lookbackConfiguration.postImpressionActivitiesDuration == INTEGER
    input.Body.name == STRING
    input.Body.partnerWrappingData.linkStatus == enum_MeasurementPartnerWrappingDataLinkStatus[_]
    input.Body.partnerWrappingData.measurementPartner == enum_MeasurementPartnerWrappingDataMeasurementPartner[_]
    input.Body.partnerWrappingData.tagWrappingMode == enum_MeasurementPartnerWrappingDataTagWrappingMode[_]
    input.Body.partnerWrappingData.wrappedTag == STRING
    input.Body.paymentApproved == BOOLEAN
    input.Body.paymentSource == enum_PlacementPaymentSource[_]
    input.Body.placementGroupId == STRING
    input.Body.placementGroupIdDimensionValue.dimensionName == STRING
    input.Body.placementGroupIdDimensionValue.etag == STRING
    input.Body.placementGroupIdDimensionValue.id == STRING
    input.Body.placementGroupIdDimensionValue.kind == STRING
    input.Body.placementGroupIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.placementGroupIdDimensionValue.value == STRING
    input.Body.placementStrategyId == STRING
    input.Body.pricingSchedule.capCostOption == enum_PricingScheduleCapCostOption[_]
    input.Body.pricingSchedule.endDate == STRING
    input.Body.pricingSchedule.flighted == BOOLEAN
    input.Body.pricingSchedule.floodlightActivityId == STRING
    input.Body.pricingSchedule.pricingPeriods[_].endDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].pricingComment == STRING
    input.Body.pricingSchedule.pricingPeriods[_].rateOrCostNanos == STRING
    input.Body.pricingSchedule.pricingPeriods[_].startDate == STRING
    input.Body.pricingSchedule.pricingPeriods[_].units == STRING
    input.Body.pricingSchedule.pricingType == enum_PricingSchedulePricingType[_]
    input.Body.pricingSchedule.startDate == STRING
    input.Body.pricingSchedule.testingStartDate == STRING
    input.Body.primary == BOOLEAN
    input.Body.publisherUpdateInfo.time == STRING
    input.Body.siteId == STRING
    input.Body.siteIdDimensionValue.dimensionName == STRING
    input.Body.siteIdDimensionValue.etag == STRING
    input.Body.siteIdDimensionValue.id == STRING
    input.Body.siteIdDimensionValue.kind == STRING
    input.Body.siteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.siteIdDimensionValue.value == STRING
    input.Body.size.height == INTEGER
    input.Body.size.iab == BOOLEAN
    input.Body.size.id == STRING
    input.Body.size.kind == STRING
    input.Body.size.width == INTEGER
    input.Body.sslRequired == BOOLEAN
    input.Body.status == enum_PlacementStatus[_]
    input.Body.subaccountId == STRING
    input.Body.tagFormats[_] == enum_PlacementTagFormats[_]
    input.Body.tagSetting.additionalKeyValues == STRING
    input.Body.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.tagSetting.includeClickTracking == BOOLEAN
    input.Body.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.videoActiveViewOptOut == BOOLEAN
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.durationSeconds == INTEGER
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_VideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.Body.vpaidAdapterChoice == enum_PlacementVpaidAdapterChoice[_]
    input.Body.wrappingOptOut == BOOLEAN
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.platformTypes.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.platformTypes.list

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

dfareporting.postalCodes.get

valid {
    input.ReqMap.code == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.postalCodes.list

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

dfareporting.projects.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.projects.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.regions.list

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

dfareporting.remarketingListShares.get

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.remarketingListId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingListShares.patch

valid {
    input.Body.kind == STRING
    input.Body.remarketingListId == STRING
    input.Body.sharedAccountIds[_] == STRING
    input.Body.sharedAdvertiserIds[_] == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingListShares.update

valid {
    input.Body.kind == STRING
    input.Body.remarketingListId == STRING
    input.Body.sharedAccountIds[_] == STRING
    input.Body.sharedAdvertiserIds[_] == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingLists.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingLists.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_ListPopulationTermOperator := [ "NUM_EQUALS", "NUM_LESS_THAN", "NUM_LESS_THAN_EQUAL", "NUM_GREATER_THAN", "NUM_GREATER_THAN_EQUAL", "STRING_EQUALS", "STRING_CONTAINS" ]
enum_ListPopulationTermType := [ "CUSTOM_VARIABLE_TERM", "LIST_MEMBERSHIP_TERM", "REFERRER_TERM" ]
enum_RemarketingListListSource := [ "REMARKETING_LIST_SOURCE_OTHER", "REMARKETING_LIST_SOURCE_ADX", "REMARKETING_LIST_SOURCE_DFP", "REMARKETING_LIST_SOURCE_XFP", "REMARKETING_LIST_SOURCE_DFA", "REMARKETING_LIST_SOURCE_GA", "REMARKETING_LIST_SOURCE_YOUTUBE", "REMARKETING_LIST_SOURCE_DBM", "REMARKETING_LIST_SOURCE_GPLUS", "REMARKETING_LIST_SOURCE_DMP", "REMARKETING_LIST_SOURCE_PLAY_STORE" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.description == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lifeSpan == STRING
    input.Body.listPopulationRule.floodlightActivityId == STRING
    input.Body.listPopulationRule.floodlightActivityName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].contains == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].negation == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].operator == enum_ListPopulationTermOperator[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].remarketingListId == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].type == enum_ListPopulationTermType[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].value == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableFriendlyName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableName == STRING
    input.Body.listSize == STRING
    input.Body.listSource == enum_RemarketingListListSource[_]
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingLists.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.advertiserId == STRING
    input.Qs.floodlightActivityId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.pageToken == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingLists.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_ListPopulationTermOperator := [ "NUM_EQUALS", "NUM_LESS_THAN", "NUM_LESS_THAN_EQUAL", "NUM_GREATER_THAN", "NUM_GREATER_THAN_EQUAL", "STRING_EQUALS", "STRING_CONTAINS" ]
enum_ListPopulationTermType := [ "CUSTOM_VARIABLE_TERM", "LIST_MEMBERSHIP_TERM", "REFERRER_TERM" ]
enum_RemarketingListListSource := [ "REMARKETING_LIST_SOURCE_OTHER", "REMARKETING_LIST_SOURCE_ADX", "REMARKETING_LIST_SOURCE_DFP", "REMARKETING_LIST_SOURCE_XFP", "REMARKETING_LIST_SOURCE_DFA", "REMARKETING_LIST_SOURCE_GA", "REMARKETING_LIST_SOURCE_YOUTUBE", "REMARKETING_LIST_SOURCE_DBM", "REMARKETING_LIST_SOURCE_GPLUS", "REMARKETING_LIST_SOURCE_DMP", "REMARKETING_LIST_SOURCE_PLAY_STORE" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.description == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lifeSpan == STRING
    input.Body.listPopulationRule.floodlightActivityId == STRING
    input.Body.listPopulationRule.floodlightActivityName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].contains == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].negation == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].operator == enum_ListPopulationTermOperator[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].remarketingListId == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].type == enum_ListPopulationTermType[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].value == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableFriendlyName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableName == STRING
    input.Body.listSize == STRING
    input.Body.listSource == enum_RemarketingListListSource[_]
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.remarketingLists.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_ListPopulationTermOperator := [ "NUM_EQUALS", "NUM_LESS_THAN", "NUM_LESS_THAN_EQUAL", "NUM_GREATER_THAN", "NUM_GREATER_THAN_EQUAL", "STRING_EQUALS", "STRING_CONTAINS" ]
enum_ListPopulationTermType := [ "CUSTOM_VARIABLE_TERM", "LIST_MEMBERSHIP_TERM", "REFERRER_TERM" ]
enum_RemarketingListListSource := [ "REMARKETING_LIST_SOURCE_OTHER", "REMARKETING_LIST_SOURCE_ADX", "REMARKETING_LIST_SOURCE_DFP", "REMARKETING_LIST_SOURCE_XFP", "REMARKETING_LIST_SOURCE_DFA", "REMARKETING_LIST_SOURCE_GA", "REMARKETING_LIST_SOURCE_YOUTUBE", "REMARKETING_LIST_SOURCE_DBM", "REMARKETING_LIST_SOURCE_GPLUS", "REMARKETING_LIST_SOURCE_DMP", "REMARKETING_LIST_SOURCE_PLAY_STORE" ]

valid {
    input.Body.accountId == STRING
    input.Body.active == BOOLEAN
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.description == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lifeSpan == STRING
    input.Body.listPopulationRule.floodlightActivityId == STRING
    input.Body.listPopulationRule.floodlightActivityName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].contains == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].negation == BOOLEAN
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].operator == enum_ListPopulationTermOperator[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].remarketingListId == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].type == enum_ListPopulationTermType[_]
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].value == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableFriendlyName == STRING
    input.Body.listPopulationRule.listPopulationClauses[_].terms[_].variableName == STRING
    input.Body.listSize == STRING
    input.Body.listSource == enum_RemarketingListListSource[_]
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.compatibleFields.query

enum_DateRangeRelativeDateRange := [ "TODAY", "YESTERDAY", "WEEK_TO_DATE", "MONTH_TO_DATE", "QUARTER_TO_DATE", "YEAR_TO_DATE", "PREVIOUS_WEEK", "PREVIOUS_MONTH", "PREVIOUS_QUARTER", "PREVIOUS_YEAR", "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "LAST_365_DAYS", "LAST_24_MONTHS", "LAST_14_DAYS", "LAST_60_DAYS" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PathFilterPathMatchPosition := [ "PATH_MATCH_POSITION_UNSPECIFIED", "ANY", "FIRST", "LAST" ]
enum_PathReportDimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_RecipientDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportCrossDimensionReachCriteriaDimension := [ "ADVERTISER", "CAMPAIGN", "SITE_BY_ADVERTISER", "SITE_BY_CAMPAIGN" ]
enum_ReportDeliveryEmailOwnerDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportFormat := [ "CSV", "EXCEL" ]
enum_ReportScheduleRepeatsOnWeekDays := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_ReportScheduleRunsOnDayOfMonth := [ "DAY_OF_MONTH", "WEEK_OF_MONTH" ]
enum_ReportType := [ "STANDARD", "REACH", "PATH_TO_CONVERSION", "CROSS_DIMENSION_REACH", "FLOODLIGHT", "PATH", "PATH_ATTRIBUTION" ]
enum_SortedDimensionSortOrder := [ "ASCENDING", "DESCENDING" ]
enum_UvarFilterMatch := [ "UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.accountId == STRING
    input.Body.criteria.activities.filters[_].dimensionName == STRING
    input.Body.criteria.activities.filters[_].etag == STRING
    input.Body.criteria.activities.filters[_].id == STRING
    input.Body.criteria.activities.filters[_].kind == STRING
    input.Body.criteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.activities.filters[_].value == STRING
    input.Body.criteria.activities.kind == STRING
    input.Body.criteria.activities.metricNames[_] == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.criteria.customRichMediaEvents.kind == STRING
    input.Body.criteria.dateRange.endDate == STRING
    input.Body.criteria.dateRange.kind == STRING
    input.Body.criteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.criteria.dateRange.startDate == STRING
    input.Body.criteria.dimensionFilters[_].dimensionName == STRING
    input.Body.criteria.dimensionFilters[_].etag == STRING
    input.Body.criteria.dimensionFilters[_].id == STRING
    input.Body.criteria.dimensionFilters[_].kind == STRING
    input.Body.criteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.dimensionFilters[_].value == STRING
    input.Body.criteria.dimensions[_].kind == STRING
    input.Body.criteria.dimensions[_].name == STRING
    input.Body.criteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.criteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].kind == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].name == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.crossDimensionReachCriteria.dateRange.endDate == STRING
    input.Body.crossDimensionReachCriteria.dateRange.kind == STRING
    input.Body.crossDimensionReachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.crossDimensionReachCriteria.dateRange.startDate == STRING
    input.Body.crossDimensionReachCriteria.dimension == enum_ReportCrossDimensionReachCriteriaDimension[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].etag == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].id == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].kind == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].value == STRING
    input.Body.crossDimensionReachCriteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.overlapMetricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.pivoted == BOOLEAN
    input.Body.delivery.emailOwner == BOOLEAN
    input.Body.delivery.emailOwnerDeliveryType == enum_ReportDeliveryEmailOwnerDeliveryType[_]
    input.Body.delivery.message == STRING
    input.Body.delivery.recipients[_].deliveryType == enum_RecipientDeliveryType[_]
    input.Body.delivery.recipients[_].email == STRING
    input.Body.delivery.recipients[_].kind == STRING
    input.Body.etag == STRING
    input.Body.fileName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].id == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.customRichMediaEvents[_].value == STRING
    input.Body.floodlightCriteria.dateRange.endDate == STRING
    input.Body.floodlightCriteria.dateRange.kind == STRING
    input.Body.floodlightCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.floodlightCriteria.dateRange.startDate == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].etag == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].id == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].kind == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.dimensionFilters[_].value == STRING
    input.Body.floodlightCriteria.dimensions[_].kind == STRING
    input.Body.floodlightCriteria.dimensions[_].name == STRING
    input.Body.floodlightCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.floodlightCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.floodlightCriteria.floodlightConfigId.etag == STRING
    input.Body.floodlightCriteria.floodlightConfigId.id == STRING
    input.Body.floodlightCriteria.floodlightConfigId.kind == STRING
    input.Body.floodlightCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.floodlightConfigId.value == STRING
    input.Body.floodlightCriteria.metricNames[_] == STRING
    input.Body.floodlightCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.format == enum_ReportFormat[_]
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedTime == STRING
    input.Body.name == STRING
    input.Body.ownerProfileId == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].etag == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].id == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.activityFilters[_].value == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.name == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathAttributionCriteria.dateRange.endDate == STRING
    input.Body.pathAttributionCriteria.dateRange.kind == STRING
    input.Body.pathAttributionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathAttributionCriteria.dateRange.startDate == STRING
    input.Body.pathAttributionCriteria.dimensions[_].kind == STRING
    input.Body.pathAttributionCriteria.dimensions[_].name == STRING
    input.Body.pathAttributionCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.id == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.value == STRING
    input.Body.pathAttributionCriteria.metricNames[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathCriteria.activityFilters[_].etag == STRING
    input.Body.pathCriteria.activityFilters[_].id == STRING
    input.Body.pathCriteria.activityFilters[_].kind == STRING
    input.Body.pathCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.activityFilters[_].value == STRING
    input.Body.pathCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathCriteria.customChannelGrouping.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.name == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathCriteria.dateRange.endDate == STRING
    input.Body.pathCriteria.dateRange.kind == STRING
    input.Body.pathCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathCriteria.dateRange.startDate == STRING
    input.Body.pathCriteria.dimensions[_].kind == STRING
    input.Body.pathCriteria.dimensions[_].name == STRING
    input.Body.pathCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathCriteria.floodlightConfigId.etag == STRING
    input.Body.pathCriteria.floodlightConfigId.id == STRING
    input.Body.pathCriteria.floodlightConfigId.kind == STRING
    input.Body.pathCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.floodlightConfigId.value == STRING
    input.Body.pathCriteria.metricNames[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathToConversionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].etag == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].id == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].kind == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.activityFilters[_].value == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].kind == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].name == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].id == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].value == STRING
    input.Body.pathToConversionCriteria.dateRange.endDate == STRING
    input.Body.pathToConversionCriteria.dateRange.kind == STRING
    input.Body.pathToConversionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathToConversionCriteria.dateRange.startDate == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.id == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.floodlightConfigId.value == STRING
    input.Body.pathToConversionCriteria.metricNames[_] == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.reportProperties.clicksLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.impressionsLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.maximumClickInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumImpressionInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumInteractionGap == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.pivotOnInteractionPath == BOOLEAN
    input.Body.reachCriteria.activities.filters[_].dimensionName == STRING
    input.Body.reachCriteria.activities.filters[_].etag == STRING
    input.Body.reachCriteria.activities.filters[_].id == STRING
    input.Body.reachCriteria.activities.filters[_].kind == STRING
    input.Body.reachCriteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.activities.filters[_].value == STRING
    input.Body.reachCriteria.activities.kind == STRING
    input.Body.reachCriteria.activities.metricNames[_] == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.reachCriteria.customRichMediaEvents.kind == STRING
    input.Body.reachCriteria.dateRange.endDate == STRING
    input.Body.reachCriteria.dateRange.kind == STRING
    input.Body.reachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.reachCriteria.dateRange.startDate == STRING
    input.Body.reachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.reachCriteria.dimensionFilters[_].etag == STRING
    input.Body.reachCriteria.dimensionFilters[_].id == STRING
    input.Body.reachCriteria.dimensionFilters[_].kind == STRING
    input.Body.reachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.dimensionFilters[_].value == STRING
    input.Body.reachCriteria.dimensions[_].kind == STRING
    input.Body.reachCriteria.dimensions[_].name == STRING
    input.Body.reachCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.reachCriteria.enableAllDimensionCombinations == BOOLEAN
    input.Body.reachCriteria.metricNames[_] == STRING
    input.Body.reachCriteria.reachByFrequencyMetricNames[_] == STRING
    input.Body.schedule.active == BOOLEAN
    input.Body.schedule.every == INTEGER
    input.Body.schedule.expirationDate == STRING
    input.Body.schedule.repeats == STRING
    input.Body.schedule.repeatsOnWeekDays[_] == enum_ReportScheduleRepeatsOnWeekDays[_]
    input.Body.schedule.runsOnDayOfMonth == enum_ReportScheduleRunsOnDayOfMonth[_]
    input.Body.schedule.startDate == STRING
    input.Body.schedule.timezone == STRING
    input.Body.subAccountId == STRING
    input.Body.type == enum_ReportType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.delete

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.files.get

valid {
    input.ReqMap.fileId == STRING
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.files.list

enum_SortFieldParameter := [ "ID", "LAST_MODIFIED_TIME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.get

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.insert

enum_DateRangeRelativeDateRange := [ "TODAY", "YESTERDAY", "WEEK_TO_DATE", "MONTH_TO_DATE", "QUARTER_TO_DATE", "YEAR_TO_DATE", "PREVIOUS_WEEK", "PREVIOUS_MONTH", "PREVIOUS_QUARTER", "PREVIOUS_YEAR", "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "LAST_365_DAYS", "LAST_24_MONTHS", "LAST_14_DAYS", "LAST_60_DAYS" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PathFilterPathMatchPosition := [ "PATH_MATCH_POSITION_UNSPECIFIED", "ANY", "FIRST", "LAST" ]
enum_PathReportDimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_RecipientDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportCrossDimensionReachCriteriaDimension := [ "ADVERTISER", "CAMPAIGN", "SITE_BY_ADVERTISER", "SITE_BY_CAMPAIGN" ]
enum_ReportDeliveryEmailOwnerDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportFormat := [ "CSV", "EXCEL" ]
enum_ReportScheduleRepeatsOnWeekDays := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_ReportScheduleRunsOnDayOfMonth := [ "DAY_OF_MONTH", "WEEK_OF_MONTH" ]
enum_ReportType := [ "STANDARD", "REACH", "PATH_TO_CONVERSION", "CROSS_DIMENSION_REACH", "FLOODLIGHT", "PATH", "PATH_ATTRIBUTION" ]
enum_SortedDimensionSortOrder := [ "ASCENDING", "DESCENDING" ]
enum_UvarFilterMatch := [ "UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.accountId == STRING
    input.Body.criteria.activities.filters[_].dimensionName == STRING
    input.Body.criteria.activities.filters[_].etag == STRING
    input.Body.criteria.activities.filters[_].id == STRING
    input.Body.criteria.activities.filters[_].kind == STRING
    input.Body.criteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.activities.filters[_].value == STRING
    input.Body.criteria.activities.kind == STRING
    input.Body.criteria.activities.metricNames[_] == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.criteria.customRichMediaEvents.kind == STRING
    input.Body.criteria.dateRange.endDate == STRING
    input.Body.criteria.dateRange.kind == STRING
    input.Body.criteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.criteria.dateRange.startDate == STRING
    input.Body.criteria.dimensionFilters[_].dimensionName == STRING
    input.Body.criteria.dimensionFilters[_].etag == STRING
    input.Body.criteria.dimensionFilters[_].id == STRING
    input.Body.criteria.dimensionFilters[_].kind == STRING
    input.Body.criteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.dimensionFilters[_].value == STRING
    input.Body.criteria.dimensions[_].kind == STRING
    input.Body.criteria.dimensions[_].name == STRING
    input.Body.criteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.criteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].kind == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].name == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.crossDimensionReachCriteria.dateRange.endDate == STRING
    input.Body.crossDimensionReachCriteria.dateRange.kind == STRING
    input.Body.crossDimensionReachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.crossDimensionReachCriteria.dateRange.startDate == STRING
    input.Body.crossDimensionReachCriteria.dimension == enum_ReportCrossDimensionReachCriteriaDimension[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].etag == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].id == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].kind == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].value == STRING
    input.Body.crossDimensionReachCriteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.overlapMetricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.pivoted == BOOLEAN
    input.Body.delivery.emailOwner == BOOLEAN
    input.Body.delivery.emailOwnerDeliveryType == enum_ReportDeliveryEmailOwnerDeliveryType[_]
    input.Body.delivery.message == STRING
    input.Body.delivery.recipients[_].deliveryType == enum_RecipientDeliveryType[_]
    input.Body.delivery.recipients[_].email == STRING
    input.Body.delivery.recipients[_].kind == STRING
    input.Body.etag == STRING
    input.Body.fileName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].id == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.customRichMediaEvents[_].value == STRING
    input.Body.floodlightCriteria.dateRange.endDate == STRING
    input.Body.floodlightCriteria.dateRange.kind == STRING
    input.Body.floodlightCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.floodlightCriteria.dateRange.startDate == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].etag == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].id == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].kind == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.dimensionFilters[_].value == STRING
    input.Body.floodlightCriteria.dimensions[_].kind == STRING
    input.Body.floodlightCriteria.dimensions[_].name == STRING
    input.Body.floodlightCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.floodlightCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.floodlightCriteria.floodlightConfigId.etag == STRING
    input.Body.floodlightCriteria.floodlightConfigId.id == STRING
    input.Body.floodlightCriteria.floodlightConfigId.kind == STRING
    input.Body.floodlightCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.floodlightConfigId.value == STRING
    input.Body.floodlightCriteria.metricNames[_] == STRING
    input.Body.floodlightCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.format == enum_ReportFormat[_]
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedTime == STRING
    input.Body.name == STRING
    input.Body.ownerProfileId == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].etag == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].id == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.activityFilters[_].value == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.name == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathAttributionCriteria.dateRange.endDate == STRING
    input.Body.pathAttributionCriteria.dateRange.kind == STRING
    input.Body.pathAttributionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathAttributionCriteria.dateRange.startDate == STRING
    input.Body.pathAttributionCriteria.dimensions[_].kind == STRING
    input.Body.pathAttributionCriteria.dimensions[_].name == STRING
    input.Body.pathAttributionCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.id == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.value == STRING
    input.Body.pathAttributionCriteria.metricNames[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathCriteria.activityFilters[_].etag == STRING
    input.Body.pathCriteria.activityFilters[_].id == STRING
    input.Body.pathCriteria.activityFilters[_].kind == STRING
    input.Body.pathCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.activityFilters[_].value == STRING
    input.Body.pathCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathCriteria.customChannelGrouping.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.name == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathCriteria.dateRange.endDate == STRING
    input.Body.pathCriteria.dateRange.kind == STRING
    input.Body.pathCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathCriteria.dateRange.startDate == STRING
    input.Body.pathCriteria.dimensions[_].kind == STRING
    input.Body.pathCriteria.dimensions[_].name == STRING
    input.Body.pathCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathCriteria.floodlightConfigId.etag == STRING
    input.Body.pathCriteria.floodlightConfigId.id == STRING
    input.Body.pathCriteria.floodlightConfigId.kind == STRING
    input.Body.pathCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.floodlightConfigId.value == STRING
    input.Body.pathCriteria.metricNames[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathToConversionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].etag == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].id == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].kind == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.activityFilters[_].value == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].kind == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].name == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].id == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].value == STRING
    input.Body.pathToConversionCriteria.dateRange.endDate == STRING
    input.Body.pathToConversionCriteria.dateRange.kind == STRING
    input.Body.pathToConversionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathToConversionCriteria.dateRange.startDate == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.id == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.floodlightConfigId.value == STRING
    input.Body.pathToConversionCriteria.metricNames[_] == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.reportProperties.clicksLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.impressionsLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.maximumClickInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumImpressionInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumInteractionGap == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.pivotOnInteractionPath == BOOLEAN
    input.Body.reachCriteria.activities.filters[_].dimensionName == STRING
    input.Body.reachCriteria.activities.filters[_].etag == STRING
    input.Body.reachCriteria.activities.filters[_].id == STRING
    input.Body.reachCriteria.activities.filters[_].kind == STRING
    input.Body.reachCriteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.activities.filters[_].value == STRING
    input.Body.reachCriteria.activities.kind == STRING
    input.Body.reachCriteria.activities.metricNames[_] == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.reachCriteria.customRichMediaEvents.kind == STRING
    input.Body.reachCriteria.dateRange.endDate == STRING
    input.Body.reachCriteria.dateRange.kind == STRING
    input.Body.reachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.reachCriteria.dateRange.startDate == STRING
    input.Body.reachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.reachCriteria.dimensionFilters[_].etag == STRING
    input.Body.reachCriteria.dimensionFilters[_].id == STRING
    input.Body.reachCriteria.dimensionFilters[_].kind == STRING
    input.Body.reachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.dimensionFilters[_].value == STRING
    input.Body.reachCriteria.dimensions[_].kind == STRING
    input.Body.reachCriteria.dimensions[_].name == STRING
    input.Body.reachCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.reachCriteria.enableAllDimensionCombinations == BOOLEAN
    input.Body.reachCriteria.metricNames[_] == STRING
    input.Body.reachCriteria.reachByFrequencyMetricNames[_] == STRING
    input.Body.schedule.active == BOOLEAN
    input.Body.schedule.every == INTEGER
    input.Body.schedule.expirationDate == STRING
    input.Body.schedule.repeats == STRING
    input.Body.schedule.repeatsOnWeekDays[_] == enum_ReportScheduleRepeatsOnWeekDays[_]
    input.Body.schedule.runsOnDayOfMonth == enum_ReportScheduleRunsOnDayOfMonth[_]
    input.Body.schedule.startDate == STRING
    input.Body.schedule.timezone == STRING
    input.Body.subAccountId == STRING
    input.Body.type == enum_ReportType[_]
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.list

enum_ScopeParameter := [ "ALL", "MINE" ]
enum_SortFieldParameter := [ "ID", "LAST_MODIFIED_TIME", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.scope == enum_ScopeParameter[_]
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.patch

enum_DateRangeRelativeDateRange := [ "TODAY", "YESTERDAY", "WEEK_TO_DATE", "MONTH_TO_DATE", "QUARTER_TO_DATE", "YEAR_TO_DATE", "PREVIOUS_WEEK", "PREVIOUS_MONTH", "PREVIOUS_QUARTER", "PREVIOUS_YEAR", "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "LAST_365_DAYS", "LAST_24_MONTHS", "LAST_14_DAYS", "LAST_60_DAYS" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PathFilterPathMatchPosition := [ "PATH_MATCH_POSITION_UNSPECIFIED", "ANY", "FIRST", "LAST" ]
enum_PathReportDimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_RecipientDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportCrossDimensionReachCriteriaDimension := [ "ADVERTISER", "CAMPAIGN", "SITE_BY_ADVERTISER", "SITE_BY_CAMPAIGN" ]
enum_ReportDeliveryEmailOwnerDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportFormat := [ "CSV", "EXCEL" ]
enum_ReportScheduleRepeatsOnWeekDays := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_ReportScheduleRunsOnDayOfMonth := [ "DAY_OF_MONTH", "WEEK_OF_MONTH" ]
enum_ReportType := [ "STANDARD", "REACH", "PATH_TO_CONVERSION", "CROSS_DIMENSION_REACH", "FLOODLIGHT", "PATH", "PATH_ATTRIBUTION" ]
enum_SortedDimensionSortOrder := [ "ASCENDING", "DESCENDING" ]
enum_UvarFilterMatch := [ "UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.accountId == STRING
    input.Body.criteria.activities.filters[_].dimensionName == STRING
    input.Body.criteria.activities.filters[_].etag == STRING
    input.Body.criteria.activities.filters[_].id == STRING
    input.Body.criteria.activities.filters[_].kind == STRING
    input.Body.criteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.activities.filters[_].value == STRING
    input.Body.criteria.activities.kind == STRING
    input.Body.criteria.activities.metricNames[_] == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.criteria.customRichMediaEvents.kind == STRING
    input.Body.criteria.dateRange.endDate == STRING
    input.Body.criteria.dateRange.kind == STRING
    input.Body.criteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.criteria.dateRange.startDate == STRING
    input.Body.criteria.dimensionFilters[_].dimensionName == STRING
    input.Body.criteria.dimensionFilters[_].etag == STRING
    input.Body.criteria.dimensionFilters[_].id == STRING
    input.Body.criteria.dimensionFilters[_].kind == STRING
    input.Body.criteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.dimensionFilters[_].value == STRING
    input.Body.criteria.dimensions[_].kind == STRING
    input.Body.criteria.dimensions[_].name == STRING
    input.Body.criteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.criteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].kind == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].name == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.crossDimensionReachCriteria.dateRange.endDate == STRING
    input.Body.crossDimensionReachCriteria.dateRange.kind == STRING
    input.Body.crossDimensionReachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.crossDimensionReachCriteria.dateRange.startDate == STRING
    input.Body.crossDimensionReachCriteria.dimension == enum_ReportCrossDimensionReachCriteriaDimension[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].etag == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].id == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].kind == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].value == STRING
    input.Body.crossDimensionReachCriteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.overlapMetricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.pivoted == BOOLEAN
    input.Body.delivery.emailOwner == BOOLEAN
    input.Body.delivery.emailOwnerDeliveryType == enum_ReportDeliveryEmailOwnerDeliveryType[_]
    input.Body.delivery.message == STRING
    input.Body.delivery.recipients[_].deliveryType == enum_RecipientDeliveryType[_]
    input.Body.delivery.recipients[_].email == STRING
    input.Body.delivery.recipients[_].kind == STRING
    input.Body.etag == STRING
    input.Body.fileName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].id == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.customRichMediaEvents[_].value == STRING
    input.Body.floodlightCriteria.dateRange.endDate == STRING
    input.Body.floodlightCriteria.dateRange.kind == STRING
    input.Body.floodlightCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.floodlightCriteria.dateRange.startDate == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].etag == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].id == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].kind == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.dimensionFilters[_].value == STRING
    input.Body.floodlightCriteria.dimensions[_].kind == STRING
    input.Body.floodlightCriteria.dimensions[_].name == STRING
    input.Body.floodlightCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.floodlightCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.floodlightCriteria.floodlightConfigId.etag == STRING
    input.Body.floodlightCriteria.floodlightConfigId.id == STRING
    input.Body.floodlightCriteria.floodlightConfigId.kind == STRING
    input.Body.floodlightCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.floodlightConfigId.value == STRING
    input.Body.floodlightCriteria.metricNames[_] == STRING
    input.Body.floodlightCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.format == enum_ReportFormat[_]
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedTime == STRING
    input.Body.name == STRING
    input.Body.ownerProfileId == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].etag == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].id == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.activityFilters[_].value == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.name == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathAttributionCriteria.dateRange.endDate == STRING
    input.Body.pathAttributionCriteria.dateRange.kind == STRING
    input.Body.pathAttributionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathAttributionCriteria.dateRange.startDate == STRING
    input.Body.pathAttributionCriteria.dimensions[_].kind == STRING
    input.Body.pathAttributionCriteria.dimensions[_].name == STRING
    input.Body.pathAttributionCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.id == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.value == STRING
    input.Body.pathAttributionCriteria.metricNames[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathCriteria.activityFilters[_].etag == STRING
    input.Body.pathCriteria.activityFilters[_].id == STRING
    input.Body.pathCriteria.activityFilters[_].kind == STRING
    input.Body.pathCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.activityFilters[_].value == STRING
    input.Body.pathCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathCriteria.customChannelGrouping.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.name == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathCriteria.dateRange.endDate == STRING
    input.Body.pathCriteria.dateRange.kind == STRING
    input.Body.pathCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathCriteria.dateRange.startDate == STRING
    input.Body.pathCriteria.dimensions[_].kind == STRING
    input.Body.pathCriteria.dimensions[_].name == STRING
    input.Body.pathCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathCriteria.floodlightConfigId.etag == STRING
    input.Body.pathCriteria.floodlightConfigId.id == STRING
    input.Body.pathCriteria.floodlightConfigId.kind == STRING
    input.Body.pathCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.floodlightConfigId.value == STRING
    input.Body.pathCriteria.metricNames[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathToConversionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].etag == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].id == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].kind == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.activityFilters[_].value == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].kind == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].name == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].id == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].value == STRING
    input.Body.pathToConversionCriteria.dateRange.endDate == STRING
    input.Body.pathToConversionCriteria.dateRange.kind == STRING
    input.Body.pathToConversionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathToConversionCriteria.dateRange.startDate == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.id == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.floodlightConfigId.value == STRING
    input.Body.pathToConversionCriteria.metricNames[_] == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.reportProperties.clicksLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.impressionsLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.maximumClickInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumImpressionInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumInteractionGap == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.pivotOnInteractionPath == BOOLEAN
    input.Body.reachCriteria.activities.filters[_].dimensionName == STRING
    input.Body.reachCriteria.activities.filters[_].etag == STRING
    input.Body.reachCriteria.activities.filters[_].id == STRING
    input.Body.reachCriteria.activities.filters[_].kind == STRING
    input.Body.reachCriteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.activities.filters[_].value == STRING
    input.Body.reachCriteria.activities.kind == STRING
    input.Body.reachCriteria.activities.metricNames[_] == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.reachCriteria.customRichMediaEvents.kind == STRING
    input.Body.reachCriteria.dateRange.endDate == STRING
    input.Body.reachCriteria.dateRange.kind == STRING
    input.Body.reachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.reachCriteria.dateRange.startDate == STRING
    input.Body.reachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.reachCriteria.dimensionFilters[_].etag == STRING
    input.Body.reachCriteria.dimensionFilters[_].id == STRING
    input.Body.reachCriteria.dimensionFilters[_].kind == STRING
    input.Body.reachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.dimensionFilters[_].value == STRING
    input.Body.reachCriteria.dimensions[_].kind == STRING
    input.Body.reachCriteria.dimensions[_].name == STRING
    input.Body.reachCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.reachCriteria.enableAllDimensionCombinations == BOOLEAN
    input.Body.reachCriteria.metricNames[_] == STRING
    input.Body.reachCriteria.reachByFrequencyMetricNames[_] == STRING
    input.Body.schedule.active == BOOLEAN
    input.Body.schedule.every == INTEGER
    input.Body.schedule.expirationDate == STRING
    input.Body.schedule.repeats == STRING
    input.Body.schedule.repeatsOnWeekDays[_] == enum_ReportScheduleRepeatsOnWeekDays[_]
    input.Body.schedule.runsOnDayOfMonth == enum_ReportScheduleRunsOnDayOfMonth[_]
    input.Body.schedule.startDate == STRING
    input.Body.schedule.timezone == STRING
    input.Body.subAccountId == STRING
    input.Body.type == enum_ReportType[_]
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.run

valid {
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.Qs.synchronous == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

dfareporting.reports.update

enum_DateRangeRelativeDateRange := [ "TODAY", "YESTERDAY", "WEEK_TO_DATE", "MONTH_TO_DATE", "QUARTER_TO_DATE", "YEAR_TO_DATE", "PREVIOUS_WEEK", "PREVIOUS_MONTH", "PREVIOUS_QUARTER", "PREVIOUS_YEAR", "LAST_7_DAYS", "LAST_30_DAYS", "LAST_90_DAYS", "LAST_365_DAYS", "LAST_24_MONTHS", "LAST_14_DAYS", "LAST_60_DAYS" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_PathFilterPathMatchPosition := [ "PATH_MATCH_POSITION_UNSPECIFIED", "ANY", "FIRST", "LAST" ]
enum_PathReportDimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_RecipientDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportCrossDimensionReachCriteriaDimension := [ "ADVERTISER", "CAMPAIGN", "SITE_BY_ADVERTISER", "SITE_BY_CAMPAIGN" ]
enum_ReportDeliveryEmailOwnerDeliveryType := [ "LINK", "ATTACHMENT" ]
enum_ReportFormat := [ "CSV", "EXCEL" ]
enum_ReportScheduleRepeatsOnWeekDays := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_ReportScheduleRunsOnDayOfMonth := [ "DAY_OF_MONTH", "WEEK_OF_MONTH" ]
enum_ReportType := [ "STANDARD", "REACH", "PATH_TO_CONVERSION", "CROSS_DIMENSION_REACH", "FLOODLIGHT", "PATH", "PATH_ATTRIBUTION" ]
enum_SortedDimensionSortOrder := [ "ASCENDING", "DESCENDING" ]
enum_UvarFilterMatch := [ "UNSPECIFIED", "EXACT", "CONTAINS" ]

valid {
    input.Body.accountId == STRING
    input.Body.criteria.activities.filters[_].dimensionName == STRING
    input.Body.criteria.activities.filters[_].etag == STRING
    input.Body.criteria.activities.filters[_].id == STRING
    input.Body.criteria.activities.filters[_].kind == STRING
    input.Body.criteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.activities.filters[_].value == STRING
    input.Body.criteria.activities.kind == STRING
    input.Body.criteria.activities.metricNames[_] == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.criteria.customRichMediaEvents.kind == STRING
    input.Body.criteria.dateRange.endDate == STRING
    input.Body.criteria.dateRange.kind == STRING
    input.Body.criteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.criteria.dateRange.startDate == STRING
    input.Body.criteria.dimensionFilters[_].dimensionName == STRING
    input.Body.criteria.dimensionFilters[_].etag == STRING
    input.Body.criteria.dimensionFilters[_].id == STRING
    input.Body.criteria.dimensionFilters[_].kind == STRING
    input.Body.criteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.criteria.dimensionFilters[_].value == STRING
    input.Body.criteria.dimensions[_].kind == STRING
    input.Body.criteria.dimensions[_].name == STRING
    input.Body.criteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.criteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].kind == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].name == STRING
    input.Body.crossDimensionReachCriteria.breakdown[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.crossDimensionReachCriteria.dateRange.endDate == STRING
    input.Body.crossDimensionReachCriteria.dateRange.kind == STRING
    input.Body.crossDimensionReachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.crossDimensionReachCriteria.dateRange.startDate == STRING
    input.Body.crossDimensionReachCriteria.dimension == enum_ReportCrossDimensionReachCriteriaDimension[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].etag == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].id == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].kind == STRING
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.crossDimensionReachCriteria.dimensionFilters[_].value == STRING
    input.Body.crossDimensionReachCriteria.metricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.overlapMetricNames[_] == STRING
    input.Body.crossDimensionReachCriteria.pivoted == BOOLEAN
    input.Body.delivery.emailOwner == BOOLEAN
    input.Body.delivery.emailOwnerDeliveryType == enum_ReportDeliveryEmailOwnerDeliveryType[_]
    input.Body.delivery.message == STRING
    input.Body.delivery.recipients[_].deliveryType == enum_RecipientDeliveryType[_]
    input.Body.delivery.recipients[_].email == STRING
    input.Body.delivery.recipients[_].kind == STRING
    input.Body.etag == STRING
    input.Body.fileName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].id == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.floodlightCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.customRichMediaEvents[_].value == STRING
    input.Body.floodlightCriteria.dateRange.endDate == STRING
    input.Body.floodlightCriteria.dateRange.kind == STRING
    input.Body.floodlightCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.floodlightCriteria.dateRange.startDate == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].etag == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].id == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].kind == STRING
    input.Body.floodlightCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.dimensionFilters[_].value == STRING
    input.Body.floodlightCriteria.dimensions[_].kind == STRING
    input.Body.floodlightCriteria.dimensions[_].name == STRING
    input.Body.floodlightCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.floodlightCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.floodlightCriteria.floodlightConfigId.etag == STRING
    input.Body.floodlightCriteria.floodlightConfigId.id == STRING
    input.Body.floodlightCriteria.floodlightConfigId.kind == STRING
    input.Body.floodlightCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.floodlightCriteria.floodlightConfigId.value == STRING
    input.Body.floodlightCriteria.metricNames[_] == STRING
    input.Body.floodlightCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.floodlightCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.format == enum_ReportFormat[_]
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.lastModifiedTime == STRING
    input.Body.name == STRING
    input.Body.ownerProfileId == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].etag == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].id == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.activityFilters[_].value == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.name == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathAttributionCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathAttributionCriteria.dateRange.endDate == STRING
    input.Body.pathAttributionCriteria.dateRange.kind == STRING
    input.Body.pathAttributionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathAttributionCriteria.dateRange.startDate == STRING
    input.Body.pathAttributionCriteria.dimensions[_].kind == STRING
    input.Body.pathAttributionCriteria.dimensions[_].name == STRING
    input.Body.pathAttributionCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.id == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathAttributionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.floodlightConfigId.value == STRING
    input.Body.pathAttributionCriteria.metricNames[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathAttributionCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].kind == STRING
    input.Body.pathAttributionCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathCriteria.activityFilters[_].etag == STRING
    input.Body.pathCriteria.activityFilters[_].id == STRING
    input.Body.pathCriteria.activityFilters[_].kind == STRING
    input.Body.pathCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.activityFilters[_].value == STRING
    input.Body.pathCriteria.customChannelGrouping.fallbackName == STRING
    input.Body.pathCriteria.customChannelGrouping.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.name == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].disjunctiveMatchStatements[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].kind == STRING
    input.Body.pathCriteria.customChannelGrouping.rules[_].name == STRING
    input.Body.pathCriteria.dateRange.endDate == STRING
    input.Body.pathCriteria.dateRange.kind == STRING
    input.Body.pathCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathCriteria.dateRange.startDate == STRING
    input.Body.pathCriteria.dimensions[_].kind == STRING
    input.Body.pathCriteria.dimensions[_].name == STRING
    input.Body.pathCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathCriteria.floodlightConfigId.etag == STRING
    input.Body.pathCriteria.floodlightConfigId.id == STRING
    input.Body.pathCriteria.floodlightConfigId.kind == STRING
    input.Body.pathCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathCriteria.floodlightConfigId.value == STRING
    input.Body.pathCriteria.metricNames[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.dimensionName == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.ids[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.matchType == enum_PathReportDimensionValueMatchType[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].dimensionFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.complement == BOOLEAN
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.index == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.kind == STRING
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.match == enum_UvarFilterMatch[_]
    input.Body.pathCriteria.pathFilters[_].eventFilters[_].uvarFilter.values[_] == STRING
    input.Body.pathCriteria.pathFilters[_].kind == STRING
    input.Body.pathCriteria.pathFilters[_].pathMatchPosition == enum_PathFilterPathMatchPosition[_]
    input.Body.pathToConversionCriteria.activityFilters[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].etag == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].id == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].kind == STRING
    input.Body.pathToConversionCriteria.activityFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.activityFilters[_].value == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.conversionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].kind == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].name == STRING
    input.Body.pathToConversionCriteria.customFloodlightVariables[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].dimensionName == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].etag == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].id == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].kind == STRING
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.customRichMediaEvents[_].value == STRING
    input.Body.pathToConversionCriteria.dateRange.endDate == STRING
    input.Body.pathToConversionCriteria.dateRange.kind == STRING
    input.Body.pathToConversionCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.pathToConversionCriteria.dateRange.startDate == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.dimensionName == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.etag == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.id == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.kind == STRING
    input.Body.pathToConversionCriteria.floodlightConfigId.matchType == enum_DimensionValueMatchType[_]
    input.Body.pathToConversionCriteria.floodlightConfigId.value == STRING
    input.Body.pathToConversionCriteria.metricNames[_] == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].kind == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].name == STRING
    input.Body.pathToConversionCriteria.perInteractionDimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.pathToConversionCriteria.reportProperties.clicksLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.impressionsLookbackWindow == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.includeAttributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedCookieConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.includeUnattributedIPConversions == BOOLEAN
    input.Body.pathToConversionCriteria.reportProperties.maximumClickInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumImpressionInteractions == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.maximumInteractionGap == INTEGER
    input.Body.pathToConversionCriteria.reportProperties.pivotOnInteractionPath == BOOLEAN
    input.Body.reachCriteria.activities.filters[_].dimensionName == STRING
    input.Body.reachCriteria.activities.filters[_].etag == STRING
    input.Body.reachCriteria.activities.filters[_].id == STRING
    input.Body.reachCriteria.activities.filters[_].kind == STRING
    input.Body.reachCriteria.activities.filters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.activities.filters[_].value == STRING
    input.Body.reachCriteria.activities.kind == STRING
    input.Body.reachCriteria.activities.metricNames[_] == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].dimensionName == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].etag == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].id == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].kind == STRING
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.customRichMediaEvents.filteredEventIds[_].value == STRING
    input.Body.reachCriteria.customRichMediaEvents.kind == STRING
    input.Body.reachCriteria.dateRange.endDate == STRING
    input.Body.reachCriteria.dateRange.kind == STRING
    input.Body.reachCriteria.dateRange.relativeDateRange == enum_DateRangeRelativeDateRange[_]
    input.Body.reachCriteria.dateRange.startDate == STRING
    input.Body.reachCriteria.dimensionFilters[_].dimensionName == STRING
    input.Body.reachCriteria.dimensionFilters[_].etag == STRING
    input.Body.reachCriteria.dimensionFilters[_].id == STRING
    input.Body.reachCriteria.dimensionFilters[_].kind == STRING
    input.Body.reachCriteria.dimensionFilters[_].matchType == enum_DimensionValueMatchType[_]
    input.Body.reachCriteria.dimensionFilters[_].value == STRING
    input.Body.reachCriteria.dimensions[_].kind == STRING
    input.Body.reachCriteria.dimensions[_].name == STRING
    input.Body.reachCriteria.dimensions[_].sortOrder == enum_SortedDimensionSortOrder[_]
    input.Body.reachCriteria.enableAllDimensionCombinations == BOOLEAN
    input.Body.reachCriteria.metricNames[_] == STRING
    input.Body.reachCriteria.reachByFrequencyMetricNames[_] == STRING
    input.Body.schedule.active == BOOLEAN
    input.Body.schedule.every == INTEGER
    input.Body.schedule.expirationDate == STRING
    input.Body.schedule.repeats == STRING
    input.Body.schedule.repeatsOnWeekDays[_] == enum_ReportScheduleRepeatsOnWeekDays[_]
    input.Body.schedule.runsOnDayOfMonth == enum_ReportScheduleRunsOnDayOfMonth[_]
    input.Body.schedule.startDate == STRING
    input.Body.schedule.timezone == STRING
    input.Body.subAccountId == STRING
    input.Body.type == enum_ReportType[_]
    input.ReqMap.profileId == STRING
    input.ReqMap.reportId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sites.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sites.insert

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_SiteContactContactType := [ "SALES_PERSON", "TRAFFICKER" ]
enum_SiteSettingsVpaidAdapterChoiceTemplate := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_SiteVideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]

valid {
    input.Body.accountId == STRING
    input.Body.approved == BOOLEAN
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteContacts[_].address == STRING
    input.Body.siteContacts[_].contactType == enum_SiteContactContactType[_]
    input.Body.siteContacts[_].email == STRING
    input.Body.siteContacts[_].firstName == STRING
    input.Body.siteContacts[_].id == STRING
    input.Body.siteContacts[_].lastName == STRING
    input.Body.siteContacts[_].phone == STRING
    input.Body.siteContacts[_].title == STRING
    input.Body.siteSettings.activeViewOptOut == BOOLEAN
    input.Body.siteSettings.adBlockingOptOut == BOOLEAN
    input.Body.siteSettings.disableNewCookie == BOOLEAN
    input.Body.siteSettings.tagSetting.additionalKeyValues == STRING
    input.Body.siteSettings.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.siteSettings.tagSetting.includeClickTracking == BOOLEAN
    input.Body.siteSettings.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.siteSettings.videoActiveViewOptOutTemplate == BOOLEAN
    input.Body.siteSettings.vpaidAdapterChoiceTemplate == enum_SiteSettingsVpaidAdapterChoiceTemplate[_]
    input.Body.subaccountId == STRING
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_SiteVideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sites.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.acceptsInStreamVideoPlacements == BOOLEAN
    input.Qs.acceptsInterstitialPlacements == BOOLEAN
    input.Qs.acceptsPublisherPaidPlacements == BOOLEAN
    input.Qs.adWordsSite == BOOLEAN
    input.Qs.approved == BOOLEAN
    input.Qs.campaignIds == STRING
    input.Qs.directorySiteIds == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.subaccountId == STRING
    input.Qs.unmappedSite == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

dfareporting.sites.patch

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_SiteContactContactType := [ "SALES_PERSON", "TRAFFICKER" ]
enum_SiteSettingsVpaidAdapterChoiceTemplate := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_SiteVideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]

valid {
    input.Body.accountId == STRING
    input.Body.approved == BOOLEAN
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteContacts[_].address == STRING
    input.Body.siteContacts[_].contactType == enum_SiteContactContactType[_]
    input.Body.siteContacts[_].email == STRING
    input.Body.siteContacts[_].firstName == STRING
    input.Body.siteContacts[_].id == STRING
    input.Body.siteContacts[_].lastName == STRING
    input.Body.siteContacts[_].phone == STRING
    input.Body.siteContacts[_].title == STRING
    input.Body.siteSettings.activeViewOptOut == BOOLEAN
    input.Body.siteSettings.adBlockingOptOut == BOOLEAN
    input.Body.siteSettings.disableNewCookie == BOOLEAN
    input.Body.siteSettings.tagSetting.additionalKeyValues == STRING
    input.Body.siteSettings.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.siteSettings.tagSetting.includeClickTracking == BOOLEAN
    input.Body.siteSettings.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.siteSettings.videoActiveViewOptOutTemplate == BOOLEAN
    input.Body.siteSettings.vpaidAdapterChoiceTemplate == enum_SiteSettingsVpaidAdapterChoiceTemplate[_]
    input.Body.subaccountId == STRING
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_SiteVideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sites.update

enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]
enum_SiteContactContactType := [ "SALES_PERSON", "TRAFFICKER" ]
enum_SiteSettingsVpaidAdapterChoiceTemplate := [ "DEFAULT", "FLASH", "HTML5", "BOTH" ]
enum_SiteVideoSettingsOrientation := [ "ANY", "LANDSCAPE", "PORTRAIT" ]
enum_TagSettingKeywordOption := [ "PLACEHOLDER_WITH_LIST_OF_KEYWORDS", "IGNORE", "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD" ]

valid {
    input.Body.accountId == STRING
    input.Body.approved == BOOLEAN
    input.Body.directorySiteId == STRING
    input.Body.directorySiteIdDimensionValue.dimensionName == STRING
    input.Body.directorySiteIdDimensionValue.etag == STRING
    input.Body.directorySiteIdDimensionValue.id == STRING
    input.Body.directorySiteIdDimensionValue.kind == STRING
    input.Body.directorySiteIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.directorySiteIdDimensionValue.value == STRING
    input.Body.id == STRING
    input.Body.idDimensionValue.dimensionName == STRING
    input.Body.idDimensionValue.etag == STRING
    input.Body.idDimensionValue.id == STRING
    input.Body.idDimensionValue.kind == STRING
    input.Body.idDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.idDimensionValue.value == STRING
    input.Body.keyName == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.siteContacts[_].address == STRING
    input.Body.siteContacts[_].contactType == enum_SiteContactContactType[_]
    input.Body.siteContacts[_].email == STRING
    input.Body.siteContacts[_].firstName == STRING
    input.Body.siteContacts[_].id == STRING
    input.Body.siteContacts[_].lastName == STRING
    input.Body.siteContacts[_].phone == STRING
    input.Body.siteContacts[_].title == STRING
    input.Body.siteSettings.activeViewOptOut == BOOLEAN
    input.Body.siteSettings.adBlockingOptOut == BOOLEAN
    input.Body.siteSettings.disableNewCookie == BOOLEAN
    input.Body.siteSettings.tagSetting.additionalKeyValues == STRING
    input.Body.siteSettings.tagSetting.includeClickThroughUrls == BOOLEAN
    input.Body.siteSettings.tagSetting.includeClickTracking == BOOLEAN
    input.Body.siteSettings.tagSetting.keywordOption == enum_TagSettingKeywordOption[_]
    input.Body.siteSettings.videoActiveViewOptOutTemplate == BOOLEAN
    input.Body.siteSettings.vpaidAdapterChoiceTemplate == enum_SiteSettingsVpaidAdapterChoiceTemplate[_]
    input.Body.subaccountId == STRING
    input.Body.videoSettings.companionSettings.companionsDisabled == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].height == INTEGER
    input.Body.videoSettings.companionSettings.enabledSizes[_].iab == BOOLEAN
    input.Body.videoSettings.companionSettings.enabledSizes[_].id == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].kind == STRING
    input.Body.videoSettings.companionSettings.enabledSizes[_].width == INTEGER
    input.Body.videoSettings.companionSettings.imageOnly == BOOLEAN
    input.Body.videoSettings.companionSettings.kind == STRING
    input.Body.videoSettings.kind == STRING
    input.Body.videoSettings.obaEnabled == BOOLEAN
    input.Body.videoSettings.obaSettings.iconClickThroughUrl == STRING
    input.Body.videoSettings.obaSettings.iconClickTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.iconViewTrackingUrl == STRING
    input.Body.videoSettings.obaSettings.program == STRING
    input.Body.videoSettings.obaSettings.resourceUrl == STRING
    input.Body.videoSettings.obaSettings.size.height == INTEGER
    input.Body.videoSettings.obaSettings.size.iab == BOOLEAN
    input.Body.videoSettings.obaSettings.size.id == STRING
    input.Body.videoSettings.obaSettings.size.kind == STRING
    input.Body.videoSettings.obaSettings.size.width == INTEGER
    input.Body.videoSettings.obaSettings.xPosition == STRING
    input.Body.videoSettings.obaSettings.yPosition == STRING
    input.Body.videoSettings.orientation == enum_SiteVideoSettingsOrientation[_]
    input.Body.videoSettings.publisherSpecificationId == STRING
    input.Body.videoSettings.skippableSettings.kind == STRING
    input.Body.videoSettings.skippableSettings.progressOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.progressOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetPercentage == INTEGER
    input.Body.videoSettings.skippableSettings.skipOffset.offsetSeconds == INTEGER
    input.Body.videoSettings.skippableSettings.skippable == BOOLEAN
    input.Body.videoSettings.transcodeSettings.enabledVideoFormats[_] == INTEGER
    input.Body.videoSettings.transcodeSettings.kind == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sizes.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sizes.insert

valid {
    input.Body.height == INTEGER
    input.Body.iab == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.width == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.sizes.list

valid {
    input.ReqMap.profileId == STRING
    input.Qs.height == INTEGER
    input.Qs.iabStandard == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.width == INTEGER
    input.ProviderMetadata.Region == STRING
}

dfareporting.subaccounts.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.subaccounts.insert

valid {
    input.Body.accountId == STRING
    input.Body.availablePermissionIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.subaccounts.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.subaccounts.patch

valid {
    input.Body.accountId == STRING
    input.Body.availablePermissionIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.subaccounts.update

valid {
    input.Body.accountId == STRING
    input.Body.availablePermissionIds[_] == STRING
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetableRemarketingLists.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetableRemarketingLists.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.active == BOOLEAN
    input.Qs.advertiserId == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.name == STRING
    input.Qs.pageToken == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetingTemplates.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetingTemplates.insert

enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.listTargetingExpression.expression == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetingTemplates.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetingTemplates.patch

enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.listTargetingExpression.expression == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.targetingTemplates.update

enum_DayPartTargetingDaysOfWeek := [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ]
enum_DimensionValueMatchType := [ "EXACT", "BEGINS_WITH", "CONTAINS", "WILDCARD_EXPRESSION" ]

valid {
    input.Body.accountId == STRING
    input.Body.advertiserId == STRING
    input.Body.advertiserIdDimensionValue.dimensionName == STRING
    input.Body.advertiserIdDimensionValue.etag == STRING
    input.Body.advertiserIdDimensionValue.id == STRING
    input.Body.advertiserIdDimensionValue.kind == STRING
    input.Body.advertiserIdDimensionValue.matchType == enum_DimensionValueMatchType[_]
    input.Body.advertiserIdDimensionValue.value == STRING
    input.Body.dayPartTargeting.daysOfWeek[_] == enum_DayPartTargetingDaysOfWeek[_]
    input.Body.dayPartTargeting.hoursOfDay[_] == INTEGER
    input.Body.dayPartTargeting.userLocalTime == BOOLEAN
    input.Body.geoTargeting.cities[_].countryCode == STRING
    input.Body.geoTargeting.cities[_].countryDartId == STRING
    input.Body.geoTargeting.cities[_].dartId == STRING
    input.Body.geoTargeting.cities[_].kind == STRING
    input.Body.geoTargeting.cities[_].metroCode == STRING
    input.Body.geoTargeting.cities[_].metroDmaId == STRING
    input.Body.geoTargeting.cities[_].name == STRING
    input.Body.geoTargeting.cities[_].regionCode == STRING
    input.Body.geoTargeting.cities[_].regionDartId == STRING
    input.Body.geoTargeting.countries[_].countryCode == STRING
    input.Body.geoTargeting.countries[_].dartId == STRING
    input.Body.geoTargeting.countries[_].kind == STRING
    input.Body.geoTargeting.countries[_].name == STRING
    input.Body.geoTargeting.countries[_].sslEnabled == BOOLEAN
    input.Body.geoTargeting.excludeCountries == BOOLEAN
    input.Body.geoTargeting.metros[_].countryCode == STRING
    input.Body.geoTargeting.metros[_].countryDartId == STRING
    input.Body.geoTargeting.metros[_].dartId == STRING
    input.Body.geoTargeting.metros[_].dmaId == STRING
    input.Body.geoTargeting.metros[_].kind == STRING
    input.Body.geoTargeting.metros[_].metroCode == STRING
    input.Body.geoTargeting.metros[_].name == STRING
    input.Body.geoTargeting.postalCodes[_].code == STRING
    input.Body.geoTargeting.postalCodes[_].countryCode == STRING
    input.Body.geoTargeting.postalCodes[_].countryDartId == STRING
    input.Body.geoTargeting.postalCodes[_].id == STRING
    input.Body.geoTargeting.postalCodes[_].kind == STRING
    input.Body.geoTargeting.regions[_].countryCode == STRING
    input.Body.geoTargeting.regions[_].countryDartId == STRING
    input.Body.geoTargeting.regions[_].dartId == STRING
    input.Body.geoTargeting.regions[_].kind == STRING
    input.Body.geoTargeting.regions[_].name == STRING
    input.Body.geoTargeting.regions[_].regionCode == STRING
    input.Body.id == STRING
    input.Body.keyValueTargetingExpression.expression == STRING
    input.Body.kind == STRING
    input.Body.languageTargeting.languages[_].id == STRING
    input.Body.languageTargeting.languages[_].kind == STRING
    input.Body.languageTargeting.languages[_].languageCode == STRING
    input.Body.languageTargeting.languages[_].name == STRING
    input.Body.listTargetingExpression.expression == STRING
    input.Body.name == STRING
    input.Body.subaccountId == STRING
    input.Body.technologyTargeting.browsers[_].browserVersionId == STRING
    input.Body.technologyTargeting.browsers[_].dartId == STRING
    input.Body.technologyTargeting.browsers[_].kind == STRING
    input.Body.technologyTargeting.browsers[_].majorVersion == STRING
    input.Body.technologyTargeting.browsers[_].minorVersion == STRING
    input.Body.technologyTargeting.browsers[_].name == STRING
    input.Body.technologyTargeting.connectionTypes[_].id == STRING
    input.Body.technologyTargeting.connectionTypes[_].kind == STRING
    input.Body.technologyTargeting.connectionTypes[_].name == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryCode == STRING
    input.Body.technologyTargeting.mobileCarriers[_].countryDartId == STRING
    input.Body.technologyTargeting.mobileCarriers[_].id == STRING
    input.Body.technologyTargeting.mobileCarriers[_].kind == STRING
    input.Body.technologyTargeting.mobileCarriers[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].id == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].majorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].minorVersion == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].name == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.dartId == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.kind == STRING
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystemVersions[_].operatingSystem.name == STRING
    input.Body.technologyTargeting.operatingSystems[_].dartId == STRING
    input.Body.technologyTargeting.operatingSystems[_].desktop == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].kind == STRING
    input.Body.technologyTargeting.operatingSystems[_].mobile == BOOLEAN
    input.Body.technologyTargeting.operatingSystems[_].name == STRING
    input.Body.technologyTargeting.platformTypes[_].id == STRING
    input.Body.technologyTargeting.platformTypes[_].kind == STRING
    input.Body.technologyTargeting.platformTypes[_].name == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userProfiles.get

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

dfareporting.userProfiles.list

valid {
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRolePermissionGroups.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRolePermissionGroups.list

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

dfareporting.userRolePermissions.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRolePermissions.list

valid {
    input.ReqMap.profileId == STRING
    input.Qs.ids == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.delete

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.get

valid {
    input.ReqMap.id == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.insert

enum_UserRolePermissionAvailability := [ "NOT_AVAILABLE_BY_DEFAULT", "ACCOUNT_BY_DEFAULT", "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", "ACCOUNT_ALWAYS", "SUBACCOUNT_AND_ACCOUNT_ALWAYS", "USER_PROFILE_ONLY" ]

valid {
    input.Body.accountId == STRING
    input.Body.defaultUserRole == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.parentUserRoleId == STRING
    input.Body.permissions[_].availability == enum_UserRolePermissionAvailability[_]
    input.Body.permissions[_].id == STRING
    input.Body.permissions[_].kind == STRING
    input.Body.permissions[_].name == STRING
    input.Body.permissions[_].permissionGroupId == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.list

enum_SortFieldParameter := [ "ID", "NAME" ]
enum_SortOrderParameter := [ "ASCENDING", "DESCENDING" ]

valid {
    input.ReqMap.profileId == STRING
    input.Qs.accountUserRoleOnly == BOOLEAN
    input.Qs.ids == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.searchString == STRING
    input.Qs.sortField == enum_SortFieldParameter[_]
    input.Qs.sortOrder == enum_SortOrderParameter[_]
    input.Qs.subaccountId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.patch

enum_UserRolePermissionAvailability := [ "NOT_AVAILABLE_BY_DEFAULT", "ACCOUNT_BY_DEFAULT", "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", "ACCOUNT_ALWAYS", "SUBACCOUNT_AND_ACCOUNT_ALWAYS", "USER_PROFILE_ONLY" ]

valid {
    input.Body.accountId == STRING
    input.Body.defaultUserRole == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.parentUserRoleId == STRING
    input.Body.permissions[_].availability == enum_UserRolePermissionAvailability[_]
    input.Body.permissions[_].id == STRING
    input.Body.permissions[_].kind == STRING
    input.Body.permissions[_].name == STRING
    input.Body.permissions[_].permissionGroupId == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.Qs.id == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.userRoles.update

enum_UserRolePermissionAvailability := [ "NOT_AVAILABLE_BY_DEFAULT", "ACCOUNT_BY_DEFAULT", "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT", "ACCOUNT_ALWAYS", "SUBACCOUNT_AND_ACCOUNT_ALWAYS", "USER_PROFILE_ONLY" ]

valid {
    input.Body.accountId == STRING
    input.Body.defaultUserRole == BOOLEAN
    input.Body.id == STRING
    input.Body.kind == STRING
    input.Body.name == STRING
    input.Body.parentUserRoleId == STRING
    input.Body.permissions[_].availability == enum_UserRolePermissionAvailability[_]
    input.Body.permissions[_].id == STRING
    input.Body.permissions[_].kind == STRING
    input.Body.permissions[_].name == STRING
    input.Body.permissions[_].permissionGroupId == STRING
    input.Body.subaccountId == STRING
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.videoFormats.get

valid {
    input.ReqMap.id == INTEGER
    input.ReqMap.profileId == STRING
    input.ProviderMetadata.Region == STRING
}

dfareporting.videoFormats.list

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