DISPLAYVIDEO

displayvideo.advertisers.adGroupAds.get

valid {
    input.ReqMap.adGroupAdId == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.adGroupAds.list

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

displayvideo.advertisers.adGroups.bulkListAdGroupAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.adGroupIds == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.adGroups.get

valid {
    input.ReqMap.adGroupId == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.adGroups.list

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

displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.adGroupId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.adGroups.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.adGroupId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.assets.upload

valid {
    input.Body.filename == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.audit

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.readMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.bulkEditAdvertiserAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange := [ "PROXIMITY_RADIUS_RANGE_UNSPECIFIED", "PROXIMITY_RADIUS_RANGE_SMALL", "PROXIMITY_RADIUS_RANGE_MEDIUM", "PROXIMITY_RADIUS_RANGE_LARGE" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusRange == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.bulkListAdvertiserAssignedTargetingOptions

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

displayvideo.advertisers.campaigns.bulkListCampaignAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.campaignId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.campaigns.create

enum_CampaignBudgetBudgetUnit := [ "BUDGET_UNIT_UNSPECIFIED", "BUDGET_UNIT_CURRENCY", "BUDGET_UNIT_IMPRESSIONS" ]
enum_CampaignBudgetExternalBudgetSource := [ "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED", "EXTERNAL_BUDGET_SOURCE_NONE", "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" ]
enum_CampaignEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_CampaignGoalCampaignGoalType := [ "CAMPAIGN_GOAL_TYPE_UNSPECIFIED", "CAMPAIGN_GOAL_TYPE_APP_INSTALL", "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS", "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION", "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" ]
enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_PerformanceGoalPerformanceGoalType := [ "PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "PERFORMANCE_GOAL_TYPE_CPM", "PERFORMANCE_GOAL_TYPE_CPC", "PERFORMANCE_GOAL_TYPE_CPA", "PERFORMANCE_GOAL_TYPE_CTR", "PERFORMANCE_GOAL_TYPE_VIEWABILITY", "PERFORMANCE_GOAL_TYPE_CPIAVC", "PERFORMANCE_GOAL_TYPE_CPE", "PERFORMANCE_GOAL_TYPE_CLICK_CVR", "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR", "PERFORMANCE_GOAL_TYPE_VCPM", "PERFORMANCE_GOAL_TYPE_VTR", "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE", "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE", "PERFORMANCE_GOAL_TYPE_OTHER" ]
enum_PrismaConfigPrismaType := [ "PRISMA_TYPE_UNSPECIFIED", "PRISMA_TYPE_DISPLAY", "PRISMA_TYPE_SEARCH", "PRISMA_TYPE_VIDEO", "PRISMA_TYPE_AUDIO", "PRISMA_TYPE_SOCIAL", "PRISMA_TYPE_FEE" ]

valid {
    input.Body.campaignBudgets[_].budgetAmountMicros == STRING
    input.Body.campaignBudgets[_].budgetId == STRING
    input.Body.campaignBudgets[_].budgetUnit == enum_CampaignBudgetBudgetUnit[_]
    input.Body.campaignBudgets[_].dateRange.endDate.day == INTEGER
    input.Body.campaignBudgets[_].dateRange.endDate.month == INTEGER
    input.Body.campaignBudgets[_].dateRange.endDate.year == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.day == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.month == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.year == INTEGER
    input.Body.campaignBudgets[_].displayName == STRING
    input.Body.campaignBudgets[_].externalBudgetId == STRING
    input.Body.campaignBudgets[_].externalBudgetSource == enum_CampaignBudgetExternalBudgetSource[_]
    input.Body.campaignBudgets[_].invoiceGroupingId == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaClientCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaEstimateCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaProductCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaType == enum_PrismaConfigPrismaType[_]
    input.Body.campaignBudgets[_].prismaConfig.supplier == STRING
    input.Body.campaignFlight.plannedDates.endDate.day == INTEGER
    input.Body.campaignFlight.plannedDates.endDate.month == INTEGER
    input.Body.campaignFlight.plannedDates.endDate.year == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.day == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.month == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.year == INTEGER
    input.Body.campaignFlight.plannedSpendAmountMicros == STRING
    input.Body.campaignGoal.campaignGoalType == enum_CampaignGoalCampaignGoalType[_]
    input.Body.campaignGoal.performanceGoal.performanceGoalAmountMicros == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalPercentageMicros == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalString == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalType == enum_PerformanceGoalPerformanceGoalType[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CampaignEntityStatus[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.campaigns.delete

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

displayvideo.advertisers.campaigns.get

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

displayvideo.advertisers.campaigns.list

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

displayvideo.advertisers.campaigns.listAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.campaignId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.campaigns.patch

enum_CampaignBudgetBudgetUnit := [ "BUDGET_UNIT_UNSPECIFIED", "BUDGET_UNIT_CURRENCY", "BUDGET_UNIT_IMPRESSIONS" ]
enum_CampaignBudgetExternalBudgetSource := [ "EXTERNAL_BUDGET_SOURCE_UNSPECIFIED", "EXTERNAL_BUDGET_SOURCE_NONE", "EXTERNAL_BUDGET_SOURCE_MEDIA_OCEAN" ]
enum_CampaignEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_CampaignGoalCampaignGoalType := [ "CAMPAIGN_GOAL_TYPE_UNSPECIFIED", "CAMPAIGN_GOAL_TYPE_APP_INSTALL", "CAMPAIGN_GOAL_TYPE_BRAND_AWARENESS", "CAMPAIGN_GOAL_TYPE_OFFLINE_ACTION", "CAMPAIGN_GOAL_TYPE_ONLINE_ACTION" ]
enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_PerformanceGoalPerformanceGoalType := [ "PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "PERFORMANCE_GOAL_TYPE_CPM", "PERFORMANCE_GOAL_TYPE_CPC", "PERFORMANCE_GOAL_TYPE_CPA", "PERFORMANCE_GOAL_TYPE_CTR", "PERFORMANCE_GOAL_TYPE_VIEWABILITY", "PERFORMANCE_GOAL_TYPE_CPIAVC", "PERFORMANCE_GOAL_TYPE_CPE", "PERFORMANCE_GOAL_TYPE_CLICK_CVR", "PERFORMANCE_GOAL_TYPE_IMPRESSION_CVR", "PERFORMANCE_GOAL_TYPE_VCPM", "PERFORMANCE_GOAL_TYPE_VTR", "PERFORMANCE_GOAL_TYPE_AUDIO_COMPLETION_RATE", "PERFORMANCE_GOAL_TYPE_VIDEO_COMPLETION_RATE", "PERFORMANCE_GOAL_TYPE_OTHER" ]
enum_PrismaConfigPrismaType := [ "PRISMA_TYPE_UNSPECIFIED", "PRISMA_TYPE_DISPLAY", "PRISMA_TYPE_SEARCH", "PRISMA_TYPE_VIDEO", "PRISMA_TYPE_AUDIO", "PRISMA_TYPE_SOCIAL", "PRISMA_TYPE_FEE" ]

valid {
    input.Body.campaignBudgets[_].budgetAmountMicros == STRING
    input.Body.campaignBudgets[_].budgetId == STRING
    input.Body.campaignBudgets[_].budgetUnit == enum_CampaignBudgetBudgetUnit[_]
    input.Body.campaignBudgets[_].dateRange.endDate.day == INTEGER
    input.Body.campaignBudgets[_].dateRange.endDate.month == INTEGER
    input.Body.campaignBudgets[_].dateRange.endDate.year == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.day == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.month == INTEGER
    input.Body.campaignBudgets[_].dateRange.startDate.year == INTEGER
    input.Body.campaignBudgets[_].displayName == STRING
    input.Body.campaignBudgets[_].externalBudgetId == STRING
    input.Body.campaignBudgets[_].externalBudgetSource == enum_CampaignBudgetExternalBudgetSource[_]
    input.Body.campaignBudgets[_].invoiceGroupingId == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaClientCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaEstimateCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaCpeCode.prismaProductCode == STRING
    input.Body.campaignBudgets[_].prismaConfig.prismaType == enum_PrismaConfigPrismaType[_]
    input.Body.campaignBudgets[_].prismaConfig.supplier == STRING
    input.Body.campaignFlight.plannedDates.endDate.day == INTEGER
    input.Body.campaignFlight.plannedDates.endDate.month == INTEGER
    input.Body.campaignFlight.plannedDates.endDate.year == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.day == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.month == INTEGER
    input.Body.campaignFlight.plannedDates.startDate.year == INTEGER
    input.Body.campaignFlight.plannedSpendAmountMicros == STRING
    input.Body.campaignGoal.campaignGoalType == enum_CampaignGoalCampaignGoalType[_]
    input.Body.campaignGoal.performanceGoal.performanceGoalAmountMicros == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalPercentageMicros == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalString == STRING
    input.Body.campaignGoal.performanceGoal.performanceGoalType == enum_PerformanceGoalPerformanceGoalType[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CampaignEntityStatus[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.ReqMap.advertiserId == STRING
    input.ReqMap.campaignId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.campaigns.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.campaignId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.create

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.partnerId == STRING
    input.ReqMap.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.list

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.patch

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.partnerId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.Qs.partnerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.sites.bulkEdit

valid {
    input.Body.advertiserId == STRING
    input.Body.createdSites[_].urlOrAppId == STRING
    input.Body.deletedSites[_] == STRING
    input.Body.partnerId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.sites.create

valid {
    input.Body.urlOrAppId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.sites.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.ReqMap.urlOrAppId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.sites.list

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.channels.sites.replace

valid {
    input.Body.advertiserId == STRING
    input.Body.newSites[_].urlOrAppId == STRING
    input.Body.partnerId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.channelId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.create

enum_AdvertiserEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_SdfConfigVersion := [ "SDF_VERSION_UNSPECIFIED", "SDF_VERSION_3_1", "SDF_VERSION_4", "SDF_VERSION_4_1", "SDF_VERSION_4_2", "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", "SDF_VERSION_5_3", "SDF_VERSION_5_4", "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7" ]

valid {
    input.Body.adServerConfig.cmHybridConfig.cmAccountId == STRING
    input.Body.adServerConfig.cmHybridConfig.cmFloodlightConfigId == STRING
    input.Body.adServerConfig.cmHybridConfig.cmFloodlightLinkingAuthorized == BOOLEAN
    input.Body.adServerConfig.cmHybridConfig.cmSyncableSiteIds[_] == STRING
    input.Body.adServerConfig.cmHybridConfig.dv360ToCmCostReportingEnabled == BOOLEAN
    input.Body.adServerConfig.cmHybridConfig.dv360ToCmDataSharingEnabled == BOOLEAN
    input.Body.adServerConfig.thirdPartyOnlyConfig.pixelOrderIdReportingEnabled == BOOLEAN
    input.Body.billingConfig.billingProfileId == STRING
    input.Body.creativeConfig.dynamicCreativeEnabled == BOOLEAN
    input.Body.creativeConfig.iasClientId == STRING
    input.Body.creativeConfig.obaComplianceDisabled == BOOLEAN
    input.Body.creativeConfig.videoCreativeDataSharingAuthorized == BOOLEAN
    input.Body.dataAccessConfig.sdfConfig.overridePartnerSdfConfig == BOOLEAN
    input.Body.dataAccessConfig.sdfConfig.sdfConfig.adminEmail == STRING
    input.Body.dataAccessConfig.sdfConfig.sdfConfig.version == enum_SdfConfigVersion[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_AdvertiserEntityStatus[_]
    input.Body.generalConfig.currencyCode == STRING
    input.Body.generalConfig.domainUrl == STRING
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.partnerId == STRING
    input.Body.prismaEnabled == BOOLEAN
    input.Body.servingConfig.exemptTvFromViewabilityTargeting == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.creatives.create

enum_AssetAssociationRole := [ "ASSET_ROLE_UNSPECIFIED", "ASSET_ROLE_MAIN", "ASSET_ROLE_BACKUP", "ASSET_ROLE_POLITE_LOAD", "ASSET_ROLE_HEADLINE", "ASSET_ROLE_LONG_HEADLINE", "ASSET_ROLE_BODY", "ASSET_ROLE_LONG_BODY", "ASSET_ROLE_CAPTION_URL", "ASSET_ROLE_CALL_TO_ACTION", "ASSET_ROLE_ADVERTISER_NAME", "ASSET_ROLE_PRICE", "ASSET_ROLE_ANDROID_APP_ID", "ASSET_ROLE_IOS_APP_ID", "ASSET_ROLE_RATING", "ASSET_ROLE_ICON", "ASSET_ROLE_COVER_IMAGE" ]
enum_CreativeCreativeType := [ "CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", "CREATIVE_TYPE_EXPANDABLE", "CREATIVE_TYPE_VIDEO", "CREATIVE_TYPE_NATIVE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", "CREATIVE_TYPE_NATIVE_SITE_SQUARE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", "CREATIVE_TYPE_LIGHTBOX", "CREATIVE_TYPE_NATIVE_APP_INSTALL", "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" ]
enum_CreativeEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_CreativeExpandingDirection := [ "EXPANDING_DIRECTION_UNSPECIFIED", "EXPANDING_DIRECTION_NONE", "EXPANDING_DIRECTION_UP", "EXPANDING_DIRECTION_DOWN", "EXPANDING_DIRECTION_LEFT", "EXPANDING_DIRECTION_RIGHT", "EXPANDING_DIRECTION_UP_AND_LEFT", "EXPANDING_DIRECTION_UP_AND_RIGHT", "EXPANDING_DIRECTION_DOWN_AND_LEFT", "EXPANDING_DIRECTION_DOWN_AND_RIGHT", "EXPANDING_DIRECTION_UP_OR_DOWN", "EXPANDING_DIRECTION_LEFT_OR_RIGHT", "EXPANDING_DIRECTION_ANY_DIAGONAL" ]
enum_CreativeHostingSource := [ "HOSTING_SOURCE_UNSPECIFIED", "HOSTING_SOURCE_CM", "HOSTING_SOURCE_THIRD_PARTY", "HOSTING_SOURCE_HOSTED", "HOSTING_SOURCE_RICH_MEDIA" ]
enum_ExitEventType := [ "EXIT_EVENT_TYPE_UNSPECIFIED", "EXIT_EVENT_TYPE_DEFAULT", "EXIT_EVENT_TYPE_BACKUP" ]
enum_ObaIconPosition := [ "OBA_ICON_POSITION_UNSPECIFIED", "OBA_ICON_POSITION_UPPER_RIGHT", "OBA_ICON_POSITION_UPPER_LEFT", "OBA_ICON_POSITION_LOWER_RIGHT", "OBA_ICON_POSITION_LOWER_LEFT" ]
enum_ThirdPartyUrlType := [ "THIRD_PARTY_URL_TYPE_UNSPECIFIED", "THIRD_PARTY_URL_TYPE_IMPRESSION", "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" ]
enum_UniversalAdIdRegistry := [ "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", "UNIVERSAL_AD_REGISTRY_OTHER", "UNIVERSAL_AD_REGISTRY_AD_ID", "UNIVERSAL_AD_REGISTRY_CLEARCAST", "UNIVERSAL_AD_REGISTRY_DV360", "UNIVERSAL_AD_REGISTRY_CM" ]

valid {
    input.Body.additionalDimensions[_].heightPixels == INTEGER
    input.Body.additionalDimensions[_].widthPixels == INTEGER
    input.Body.appendedTag == STRING
    input.Body.assets[_].asset.content == STRING
    input.Body.assets[_].asset.mediaId == STRING
    input.Body.assets[_].role == enum_AssetAssociationRole[_]
    input.Body.cmTrackingAd.cmAdId == STRING
    input.Body.cmTrackingAd.cmCreativeId == STRING
    input.Body.cmTrackingAd.cmPlacementId == STRING
    input.Body.companionCreativeIds[_] == STRING
    input.Body.counterEvents[_].name == STRING
    input.Body.counterEvents[_].reportingName == STRING
    input.Body.creativeType == enum_CreativeCreativeType[_]
    input.Body.dimensions.heightPixels == INTEGER
    input.Body.dimensions.widthPixels == INTEGER
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CreativeEntityStatus[_]
    input.Body.exitEvents[_].name == STRING
    input.Body.exitEvents[_].reportingName == STRING
    input.Body.exitEvents[_].type == enum_ExitEventType[_]
    input.Body.exitEvents[_].url == STRING
    input.Body.expandOnHover == BOOLEAN
    input.Body.expandingDirection == enum_CreativeExpandingDirection[_]
    input.Body.hostingSource == enum_CreativeHostingSource[_]
    input.Body.iasCampaignMonitoring == BOOLEAN
    input.Body.integrationCode == STRING
    input.Body.jsTrackerUrl == STRING
    input.Body.notes == STRING
    input.Body.obaIcon.clickTrackingUrl == STRING
    input.Body.obaIcon.dimensions.heightPixels == INTEGER
    input.Body.obaIcon.dimensions.widthPixels == INTEGER
    input.Body.obaIcon.landingPageUrl == STRING
    input.Body.obaIcon.position == enum_ObaIconPosition[_]
    input.Body.obaIcon.program == STRING
    input.Body.obaIcon.resourceMimeType == STRING
    input.Body.obaIcon.resourceUrl == STRING
    input.Body.obaIcon.viewTrackingUrl == STRING
    input.Body.progressOffset.percentage == STRING
    input.Body.progressOffset.seconds == STRING
    input.Body.requireHtml5 == BOOLEAN
    input.Body.requireMraid == BOOLEAN
    input.Body.requirePingForAttribution == BOOLEAN
    input.Body.skipOffset.percentage == STRING
    input.Body.skipOffset.seconds == STRING
    input.Body.skippable == BOOLEAN
    input.Body.thirdPartyTag == STRING
    input.Body.thirdPartyUrls[_].type == enum_ThirdPartyUrlType[_]
    input.Body.thirdPartyUrls[_].url == STRING
    input.Body.timerEvents[_].name == STRING
    input.Body.timerEvents[_].reportingName == STRING
    input.Body.trackerUrls[_] == STRING
    input.Body.universalAdId.id == STRING
    input.Body.universalAdId.registry == enum_UniversalAdIdRegistry[_]
    input.Body.vastTagUrl == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.creatives.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.creativeId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.creatives.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.creativeId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.creatives.list

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

displayvideo.advertisers.creatives.patch

enum_AssetAssociationRole := [ "ASSET_ROLE_UNSPECIFIED", "ASSET_ROLE_MAIN", "ASSET_ROLE_BACKUP", "ASSET_ROLE_POLITE_LOAD", "ASSET_ROLE_HEADLINE", "ASSET_ROLE_LONG_HEADLINE", "ASSET_ROLE_BODY", "ASSET_ROLE_LONG_BODY", "ASSET_ROLE_CAPTION_URL", "ASSET_ROLE_CALL_TO_ACTION", "ASSET_ROLE_ADVERTISER_NAME", "ASSET_ROLE_PRICE", "ASSET_ROLE_ANDROID_APP_ID", "ASSET_ROLE_IOS_APP_ID", "ASSET_ROLE_RATING", "ASSET_ROLE_ICON", "ASSET_ROLE_COVER_IMAGE" ]
enum_CreativeCreativeType := [ "CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", "CREATIVE_TYPE_EXPANDABLE", "CREATIVE_TYPE_VIDEO", "CREATIVE_TYPE_NATIVE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", "CREATIVE_TYPE_NATIVE_SITE_SQUARE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", "CREATIVE_TYPE_LIGHTBOX", "CREATIVE_TYPE_NATIVE_APP_INSTALL", "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" ]
enum_CreativeEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_CreativeExpandingDirection := [ "EXPANDING_DIRECTION_UNSPECIFIED", "EXPANDING_DIRECTION_NONE", "EXPANDING_DIRECTION_UP", "EXPANDING_DIRECTION_DOWN", "EXPANDING_DIRECTION_LEFT", "EXPANDING_DIRECTION_RIGHT", "EXPANDING_DIRECTION_UP_AND_LEFT", "EXPANDING_DIRECTION_UP_AND_RIGHT", "EXPANDING_DIRECTION_DOWN_AND_LEFT", "EXPANDING_DIRECTION_DOWN_AND_RIGHT", "EXPANDING_DIRECTION_UP_OR_DOWN", "EXPANDING_DIRECTION_LEFT_OR_RIGHT", "EXPANDING_DIRECTION_ANY_DIAGONAL" ]
enum_CreativeHostingSource := [ "HOSTING_SOURCE_UNSPECIFIED", "HOSTING_SOURCE_CM", "HOSTING_SOURCE_THIRD_PARTY", "HOSTING_SOURCE_HOSTED", "HOSTING_SOURCE_RICH_MEDIA" ]
enum_ExitEventType := [ "EXIT_EVENT_TYPE_UNSPECIFIED", "EXIT_EVENT_TYPE_DEFAULT", "EXIT_EVENT_TYPE_BACKUP" ]
enum_ObaIconPosition := [ "OBA_ICON_POSITION_UNSPECIFIED", "OBA_ICON_POSITION_UPPER_RIGHT", "OBA_ICON_POSITION_UPPER_LEFT", "OBA_ICON_POSITION_LOWER_RIGHT", "OBA_ICON_POSITION_LOWER_LEFT" ]
enum_ThirdPartyUrlType := [ "THIRD_PARTY_URL_TYPE_UNSPECIFIED", "THIRD_PARTY_URL_TYPE_IMPRESSION", "THIRD_PARTY_URL_TYPE_CLICK_TRACKING", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_START", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FIRST_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MIDPOINT", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_THIRD_QUARTILE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_COMPLETE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_MUTE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PAUSE", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_REWIND", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_FULLSCREEN", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_STOP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_CUSTOM", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_SKIP", "THIRD_PARTY_URL_TYPE_AUDIO_VIDEO_PROGRESS" ]
enum_UniversalAdIdRegistry := [ "UNIVERSAL_AD_REGISTRY_UNSPECIFIED", "UNIVERSAL_AD_REGISTRY_OTHER", "UNIVERSAL_AD_REGISTRY_AD_ID", "UNIVERSAL_AD_REGISTRY_CLEARCAST", "UNIVERSAL_AD_REGISTRY_DV360", "UNIVERSAL_AD_REGISTRY_CM" ]

valid {
    input.Body.additionalDimensions[_].heightPixels == INTEGER
    input.Body.additionalDimensions[_].widthPixels == INTEGER
    input.Body.appendedTag == STRING
    input.Body.assets[_].asset.content == STRING
    input.Body.assets[_].asset.mediaId == STRING
    input.Body.assets[_].role == enum_AssetAssociationRole[_]
    input.Body.cmTrackingAd.cmAdId == STRING
    input.Body.cmTrackingAd.cmCreativeId == STRING
    input.Body.cmTrackingAd.cmPlacementId == STRING
    input.Body.companionCreativeIds[_] == STRING
    input.Body.counterEvents[_].name == STRING
    input.Body.counterEvents[_].reportingName == STRING
    input.Body.creativeType == enum_CreativeCreativeType[_]
    input.Body.dimensions.heightPixels == INTEGER
    input.Body.dimensions.widthPixels == INTEGER
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CreativeEntityStatus[_]
    input.Body.exitEvents[_].name == STRING
    input.Body.exitEvents[_].reportingName == STRING
    input.Body.exitEvents[_].type == enum_ExitEventType[_]
    input.Body.exitEvents[_].url == STRING
    input.Body.expandOnHover == BOOLEAN
    input.Body.expandingDirection == enum_CreativeExpandingDirection[_]
    input.Body.hostingSource == enum_CreativeHostingSource[_]
    input.Body.iasCampaignMonitoring == BOOLEAN
    input.Body.integrationCode == STRING
    input.Body.jsTrackerUrl == STRING
    input.Body.notes == STRING
    input.Body.obaIcon.clickTrackingUrl == STRING
    input.Body.obaIcon.dimensions.heightPixels == INTEGER
    input.Body.obaIcon.dimensions.widthPixels == INTEGER
    input.Body.obaIcon.landingPageUrl == STRING
    input.Body.obaIcon.position == enum_ObaIconPosition[_]
    input.Body.obaIcon.program == STRING
    input.Body.obaIcon.resourceMimeType == STRING
    input.Body.obaIcon.resourceUrl == STRING
    input.Body.obaIcon.viewTrackingUrl == STRING
    input.Body.progressOffset.percentage == STRING
    input.Body.progressOffset.seconds == STRING
    input.Body.requireHtml5 == BOOLEAN
    input.Body.requireMraid == BOOLEAN
    input.Body.requirePingForAttribution == BOOLEAN
    input.Body.skipOffset.percentage == STRING
    input.Body.skipOffset.seconds == STRING
    input.Body.skippable == BOOLEAN
    input.Body.thirdPartyTag == STRING
    input.Body.thirdPartyUrls[_].type == enum_ThirdPartyUrlType[_]
    input.Body.thirdPartyUrls[_].url == STRING
    input.Body.timerEvents[_].name == STRING
    input.Body.timerEvents[_].reportingName == STRING
    input.Body.trackerUrls[_] == STRING
    input.Body.universalAdId.id == STRING
    input.Body.universalAdId.registry == enum_UniversalAdIdRegistry[_]
    input.Body.vastTagUrl == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.creativeId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.delete

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

displayvideo.advertisers.editAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.videoId == STRING
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.get

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

displayvideo.advertisers.insertionOrders.bulkListInsertionOrderAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.create

enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_InsertionOrderBudgetAutomationType := [ "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", "INSERTION_ORDER_AUTOMATION_TYPE_NONE", "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" ]
enum_InsertionOrderBudgetBudgetUnit := [ "BUDGET_UNIT_UNSPECIFIED", "BUDGET_UNIT_CURRENCY", "BUDGET_UNIT_IMPRESSIONS" ]
enum_InsertionOrderEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_InsertionOrderInsertionOrderType := [ "INSERTION_ORDER_TYPE_UNSPECIFIED", "RTB", "OVER_THE_TOP" ]
enum_KpiKpiType := [ "KPI_TYPE_UNSPECIFIED", "KPI_TYPE_CPM", "KPI_TYPE_CPC", "KPI_TYPE_CPA", "KPI_TYPE_CTR", "KPI_TYPE_VIEWABILITY", "KPI_TYPE_CPIAVC", "KPI_TYPE_CPE", "KPI_TYPE_CPV", "KPI_TYPE_CLICK_CVR", "KPI_TYPE_IMPRESSION_CVR", "KPI_TYPE_VCPM", "KPI_TYPE_VTR", "KPI_TYPE_AUDIO_COMPLETION_RATE", "KPI_TYPE_VIDEO_COMPLETION_RATE", "KPI_TYPE_CPCL", "KPI_TYPE_CPCV", "KPI_TYPE_TOS10", "KPI_TYPE_MAXIMIZE_PACING", "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST", "KPI_TYPE_OTHER" ]
enum_MaximizeSpendBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_PacingPacingPeriod := [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT" ]
enum_PacingPacingType := [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN" ]
enum_PartnerCostCostType := [ "PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_ADLINGO_FEE", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE" ]
enum_PartnerCostFeeType := [ "PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE" ]
enum_PartnerCostInvoiceType := [ "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER" ]
enum_PerformanceGoalBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_YoutubeAndPartnersBiddingStrategyType := [ "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" ]

valid {
    input.Body.bidStrategy.fixedBid.bidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.performanceGoalType == enum_MaximizeSpendBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.maximizeSpendAutoBid.raiseBidForDeals == BOOLEAN
    input.Body.bidStrategy.performanceGoalAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalType == enum_PerformanceGoalBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.type == enum_YoutubeAndPartnersBiddingStrategyType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.value == STRING
    input.Body.budget.automationType == enum_InsertionOrderBudgetAutomationType[_]
    input.Body.budget.budgetSegments[_].budgetAmountMicros == STRING
    input.Body.budget.budgetSegments[_].campaignBudgetId == STRING
    input.Body.budget.budgetSegments[_].dateRange.endDate.day == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.endDate.month == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.endDate.year == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.day == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.month == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.year == INTEGER
    input.Body.budget.budgetSegments[_].description == STRING
    input.Body.budget.budgetUnit == enum_InsertionOrderBudgetBudgetUnit[_]
    input.Body.campaignId == STRING
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_InsertionOrderEntityStatus[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.Body.insertionOrderType == enum_InsertionOrderInsertionOrderType[_]
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.kpi.kpiAlgorithmId == STRING
    input.Body.kpi.kpiAmountMicros == STRING
    input.Body.kpi.kpiPercentageMicros == STRING
    input.Body.kpi.kpiString == STRING
    input.Body.kpi.kpiType == enum_KpiKpiType[_]
    input.Body.pacing.dailyMaxImpressions == STRING
    input.Body.pacing.dailyMaxMicros == STRING
    input.Body.pacing.pacingPeriod == enum_PacingPacingPeriod[_]
    input.Body.pacing.pacingType == enum_PacingPacingType[_]
    input.Body.partnerCosts[_].costType == enum_PartnerCostCostType[_]
    input.Body.partnerCosts[_].feeAmount == STRING
    input.Body.partnerCosts[_].feePercentageMillis == STRING
    input.Body.partnerCosts[_].feeType == enum_PartnerCostFeeType[_]
    input.Body.partnerCosts[_].invoiceType == enum_PartnerCostInvoiceType[_]
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.list

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

displayvideo.advertisers.insertionOrders.listAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.patch

enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_InsertionOrderBudgetAutomationType := [ "INSERTION_ORDER_AUTOMATION_TYPE_UNSPECIFIED", "INSERTION_ORDER_AUTOMATION_TYPE_BUDGET", "INSERTION_ORDER_AUTOMATION_TYPE_NONE", "INSERTION_ORDER_AUTOMATION_TYPE_BID_BUDGET" ]
enum_InsertionOrderBudgetBudgetUnit := [ "BUDGET_UNIT_UNSPECIFIED", "BUDGET_UNIT_CURRENCY", "BUDGET_UNIT_IMPRESSIONS" ]
enum_InsertionOrderEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_InsertionOrderInsertionOrderType := [ "INSERTION_ORDER_TYPE_UNSPECIFIED", "RTB", "OVER_THE_TOP" ]
enum_KpiKpiType := [ "KPI_TYPE_UNSPECIFIED", "KPI_TYPE_CPM", "KPI_TYPE_CPC", "KPI_TYPE_CPA", "KPI_TYPE_CTR", "KPI_TYPE_VIEWABILITY", "KPI_TYPE_CPIAVC", "KPI_TYPE_CPE", "KPI_TYPE_CPV", "KPI_TYPE_CLICK_CVR", "KPI_TYPE_IMPRESSION_CVR", "KPI_TYPE_VCPM", "KPI_TYPE_VTR", "KPI_TYPE_AUDIO_COMPLETION_RATE", "KPI_TYPE_VIDEO_COMPLETION_RATE", "KPI_TYPE_CPCL", "KPI_TYPE_CPCV", "KPI_TYPE_TOS10", "KPI_TYPE_MAXIMIZE_PACING", "KPI_TYPE_CUSTOM_IMPRESSION_VALUE_OVER_COST", "KPI_TYPE_OTHER" ]
enum_MaximizeSpendBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_PacingPacingPeriod := [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT" ]
enum_PacingPacingType := [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN" ]
enum_PartnerCostCostType := [ "PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_ADLINGO_FEE", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE" ]
enum_PartnerCostFeeType := [ "PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE" ]
enum_PartnerCostInvoiceType := [ "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER" ]
enum_PerformanceGoalBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_YoutubeAndPartnersBiddingStrategyType := [ "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" ]

valid {
    input.Body.bidStrategy.fixedBid.bidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.performanceGoalType == enum_MaximizeSpendBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.maximizeSpendAutoBid.raiseBidForDeals == BOOLEAN
    input.Body.bidStrategy.performanceGoalAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalType == enum_PerformanceGoalBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.type == enum_YoutubeAndPartnersBiddingStrategyType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.value == STRING
    input.Body.budget.automationType == enum_InsertionOrderBudgetAutomationType[_]
    input.Body.budget.budgetSegments[_].budgetAmountMicros == STRING
    input.Body.budget.budgetSegments[_].campaignBudgetId == STRING
    input.Body.budget.budgetSegments[_].dateRange.endDate.day == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.endDate.month == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.endDate.year == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.day == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.month == INTEGER
    input.Body.budget.budgetSegments[_].dateRange.startDate.year == INTEGER
    input.Body.budget.budgetSegments[_].description == STRING
    input.Body.budget.budgetUnit == enum_InsertionOrderBudgetBudgetUnit[_]
    input.Body.campaignId == STRING
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_InsertionOrderEntityStatus[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.Body.insertionOrderType == enum_InsertionOrderInsertionOrderType[_]
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.kpi.kpiAlgorithmId == STRING
    input.Body.kpi.kpiAmountMicros == STRING
    input.Body.kpi.kpiPercentageMicros == STRING
    input.Body.kpi.kpiString == STRING
    input.Body.kpi.kpiType == enum_KpiKpiType[_]
    input.Body.pacing.dailyMaxImpressions == STRING
    input.Body.pacing.dailyMaxMicros == STRING
    input.Body.pacing.pacingPeriod == enum_PacingPacingPeriod[_]
    input.Body.pacing.pacingType == enum_PacingPacingType[_]
    input.Body.partnerCosts[_].costType == enum_PartnerCostCostType[_]
    input.Body.partnerCosts[_].feeAmount == STRING
    input.Body.partnerCosts[_].feePercentageMillis == STRING
    input.Body.partnerCosts[_].feeType == enum_PartnerCostFeeType[_]
    input.Body.partnerCosts[_].invoiceType == enum_PartnerCostInvoiceType[_]
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.create

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.appCategoryDetails.negative == BOOLEAN
    input.Body.appCategoryDetails.targetingOptionId == STRING
    input.Body.appDetails.appId == STRING
    input.Body.appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.appDetails.negative == BOOLEAN
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.browserDetails.negative == BOOLEAN
    input.Body.browserDetails.targetingOptionId == STRING
    input.Body.businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.businessChainDetails.targetingOptionId == STRING
    input.Body.carrierAndIspDetails.negative == BOOLEAN
    input.Body.carrierAndIspDetails.targetingOptionId == STRING
    input.Body.categoryDetails.negative == BOOLEAN
    input.Body.categoryDetails.targetingOptionId == STRING
    input.Body.channelDetails.channelId == STRING
    input.Body.channelDetails.negative == BOOLEAN
    input.Body.contentDurationDetails.targetingOptionId == STRING
    input.Body.contentGenreDetails.negative == BOOLEAN
    input.Body.contentGenreDetails.targetingOptionId == STRING
    input.Body.contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.dayAndTimeDetails.endHour == INTEGER
    input.Body.dayAndTimeDetails.startHour == INTEGER
    input.Body.dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.deviceMakeModelDetails.negative == BOOLEAN
    input.Body.deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.geoRegionDetails.negative == BOOLEAN
    input.Body.geoRegionDetails.targetingOptionId == STRING
    input.Body.householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.inventorySourceDetails.inventorySourceId == STRING
    input.Body.inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.keywordDetails.keyword == STRING
    input.Body.keywordDetails.negative == BOOLEAN
    input.Body.languageDetails.negative == BOOLEAN
    input.Body.languageDetails.targetingOptionId == STRING
    input.Body.nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.onScreenPositionDetails.targetingOptionId == STRING
    input.Body.operatingSystemDetails.negative == BOOLEAN
    input.Body.operatingSystemDetails.targetingOptionId == STRING
    input.Body.parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.poiDetails.proximityRadiusAmount == NUMBER
    input.Body.poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.poiDetails.targetingOptionId == STRING
    input.Body.proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.regionalLocationListDetails.negative == BOOLEAN
    input.Body.regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.subExchangeDetails.targetingOptionId == STRING
    input.Body.thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.urlDetails.negative == BOOLEAN
    input.Body.urlDetails.url == STRING
    input.Body.userRewardedContentDetails.targetingOptionId == STRING
    input.Body.videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.youtubeChannelDetails.channelId == STRING
    input.Body.youtubeChannelDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.videoId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.delete

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.insertionOrders.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.insertionOrderId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.invoices.list

enum_LoiSapinInvoiceTypeParameter := [ "LOI_SAPIN_INVOICE_TYPE_UNSPECIFIED", "LOI_SAPIN_INVOICE_TYPE_MEDIA", "LOI_SAPIN_INVOICE_TYPE_PLATFORM" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.issueMonth == STRING
    input.Qs.loiSapinInvoiceType == enum_LoiSapinInvoiceTypeParameter[_]
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.invoices.lookupInvoiceCurrency

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.invoiceMonth == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.bulkEditAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.videoId == STRING
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.lineItemIds[_] == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.bulkEditLineItemAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange := [ "PROXIMITY_RADIUS_RANGE_UNSPECIFIED", "PROXIMITY_RADIUS_RANGE_SMALL", "PROXIMITY_RADIUS_RANGE_MEDIUM", "PROXIMITY_RADIUS_RANGE_LARGE" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusRange == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.bulkListAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.lineItemIds == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.bulkListLineItemAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.bulkUpdate

enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_LineItemBudgetBudgetAllocationType := [ "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" ]
enum_LineItemEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_LineItemFlightFlightDateType := [ "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" ]
enum_LineItemLineItemType := [ "LINE_ITEM_TYPE_UNSPECIFIED", "LINE_ITEM_TYPE_DISPLAY_DEFAULT", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_VIDEO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_AUDIO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" ]
enum_MaximizeSpendBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_PacingPacingPeriod := [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT" ]
enum_PacingPacingType := [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN" ]
enum_PartnerCostCostType := [ "PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_ADLINGO_FEE", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE" ]
enum_PartnerCostFeeType := [ "PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE" ]
enum_PartnerCostInvoiceType := [ "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER" ]
enum_PartnerRevenueModelMarkupType := [ "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" ]
enum_PerformanceGoalBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_YoutubeAndPartnersBiddingStrategyType := [ "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" ]

valid {
    input.Body.lineItemIds[_] == STRING
    input.Body.targetLineItem.bidStrategy.fixedBid.bidAmountMicros == STRING
    input.Body.targetLineItem.bidStrategy.maximizeSpendAutoBid.customBiddingAlgorithmId == STRING
    input.Body.targetLineItem.bidStrategy.maximizeSpendAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.targetLineItem.bidStrategy.maximizeSpendAutoBid.performanceGoalType == enum_MaximizeSpendBidStrategyPerformanceGoalType[_]
    input.Body.targetLineItem.bidStrategy.maximizeSpendAutoBid.raiseBidForDeals == BOOLEAN
    input.Body.targetLineItem.bidStrategy.performanceGoalAutoBid.customBiddingAlgorithmId == STRING
    input.Body.targetLineItem.bidStrategy.performanceGoalAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.targetLineItem.bidStrategy.performanceGoalAutoBid.performanceGoalAmountMicros == STRING
    input.Body.targetLineItem.bidStrategy.performanceGoalAutoBid.performanceGoalType == enum_PerformanceGoalBidStrategyPerformanceGoalType[_]
    input.Body.targetLineItem.bidStrategy.youtubeAndPartnersBid.type == enum_YoutubeAndPartnersBiddingStrategyType[_]
    input.Body.targetLineItem.bidStrategy.youtubeAndPartnersBid.value == STRING
    input.Body.targetLineItem.budget.budgetAllocationType == enum_LineItemBudgetBudgetAllocationType[_]
    input.Body.targetLineItem.budget.maxAmount == STRING
    input.Body.targetLineItem.conversionCounting.floodlightActivityConfigs[_].floodlightActivityId == STRING
    input.Body.targetLineItem.conversionCounting.floodlightActivityConfigs[_].postClickLookbackWindowDays == INTEGER
    input.Body.targetLineItem.conversionCounting.floodlightActivityConfigs[_].postViewLookbackWindowDays == INTEGER
    input.Body.targetLineItem.conversionCounting.postViewCountPercentageMillis == STRING
    input.Body.targetLineItem.creativeIds[_] == STRING
    input.Body.targetLineItem.displayName == STRING
    input.Body.targetLineItem.entityStatus == enum_LineItemEntityStatus[_]
    input.Body.targetLineItem.excludeNewExchanges == BOOLEAN
    input.Body.targetLineItem.flight.dateRange.endDate.day == INTEGER
    input.Body.targetLineItem.flight.dateRange.endDate.month == INTEGER
    input.Body.targetLineItem.flight.dateRange.endDate.year == INTEGER
    input.Body.targetLineItem.flight.dateRange.startDate.day == INTEGER
    input.Body.targetLineItem.flight.dateRange.startDate.month == INTEGER
    input.Body.targetLineItem.flight.dateRange.startDate.year == INTEGER
    input.Body.targetLineItem.flight.flightDateType == enum_LineItemFlightFlightDateType[_]
    input.Body.targetLineItem.frequencyCap.maxImpressions == INTEGER
    input.Body.targetLineItem.frequencyCap.maxViews == INTEGER
    input.Body.targetLineItem.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.targetLineItem.frequencyCap.timeUnitCount == INTEGER
    input.Body.targetLineItem.frequencyCap.unlimited == BOOLEAN
    input.Body.targetLineItem.insertionOrderId == STRING
    input.Body.targetLineItem.integrationDetails.details == STRING
    input.Body.targetLineItem.integrationDetails.integrationCode == STRING
    input.Body.targetLineItem.lineItemType == enum_LineItemLineItemType[_]
    input.Body.targetLineItem.mobileApp.appId == STRING
    input.Body.targetLineItem.pacing.dailyMaxImpressions == STRING
    input.Body.targetLineItem.pacing.dailyMaxMicros == STRING
    input.Body.targetLineItem.pacing.pacingPeriod == enum_PacingPacingPeriod[_]
    input.Body.targetLineItem.pacing.pacingType == enum_PacingPacingType[_]
    input.Body.targetLineItem.partnerCosts[_].costType == enum_PartnerCostCostType[_]
    input.Body.targetLineItem.partnerCosts[_].feeAmount == STRING
    input.Body.targetLineItem.partnerCosts[_].feePercentageMillis == STRING
    input.Body.targetLineItem.partnerCosts[_].feeType == enum_PartnerCostFeeType[_]
    input.Body.targetLineItem.partnerCosts[_].invoiceType == enum_PartnerCostInvoiceType[_]
    input.Body.targetLineItem.partnerRevenueModel.markupAmount == STRING
    input.Body.targetLineItem.partnerRevenueModel.markupType == enum_PartnerRevenueModelMarkupType[_]
    input.Body.targetLineItem.targetingExpansion.enableOptimizedTargeting == BOOLEAN
    input.Body.updateMask == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.create

enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_LineItemBudgetBudgetAllocationType := [ "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" ]
enum_LineItemEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_LineItemFlightFlightDateType := [ "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" ]
enum_LineItemLineItemType := [ "LINE_ITEM_TYPE_UNSPECIFIED", "LINE_ITEM_TYPE_DISPLAY_DEFAULT", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_VIDEO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_AUDIO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" ]
enum_MaximizeSpendBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_PacingPacingPeriod := [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT" ]
enum_PacingPacingType := [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN" ]
enum_PartnerCostCostType := [ "PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_ADLINGO_FEE", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE" ]
enum_PartnerCostFeeType := [ "PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE" ]
enum_PartnerCostInvoiceType := [ "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER" ]
enum_PartnerRevenueModelMarkupType := [ "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" ]
enum_PerformanceGoalBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_YoutubeAndPartnersBiddingStrategyType := [ "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" ]

valid {
    input.Body.bidStrategy.fixedBid.bidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.performanceGoalType == enum_MaximizeSpendBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.maximizeSpendAutoBid.raiseBidForDeals == BOOLEAN
    input.Body.bidStrategy.performanceGoalAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalType == enum_PerformanceGoalBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.type == enum_YoutubeAndPartnersBiddingStrategyType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.value == STRING
    input.Body.budget.budgetAllocationType == enum_LineItemBudgetBudgetAllocationType[_]
    input.Body.budget.maxAmount == STRING
    input.Body.conversionCounting.floodlightActivityConfigs[_].floodlightActivityId == STRING
    input.Body.conversionCounting.floodlightActivityConfigs[_].postClickLookbackWindowDays == INTEGER
    input.Body.conversionCounting.floodlightActivityConfigs[_].postViewLookbackWindowDays == INTEGER
    input.Body.conversionCounting.postViewCountPercentageMillis == STRING
    input.Body.creativeIds[_] == STRING
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_LineItemEntityStatus[_]
    input.Body.excludeNewExchanges == BOOLEAN
    input.Body.flight.dateRange.endDate.day == INTEGER
    input.Body.flight.dateRange.endDate.month == INTEGER
    input.Body.flight.dateRange.endDate.year == INTEGER
    input.Body.flight.dateRange.startDate.day == INTEGER
    input.Body.flight.dateRange.startDate.month == INTEGER
    input.Body.flight.dateRange.startDate.year == INTEGER
    input.Body.flight.flightDateType == enum_LineItemFlightFlightDateType[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.Body.insertionOrderId == STRING
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.lineItemType == enum_LineItemLineItemType[_]
    input.Body.mobileApp.appId == STRING
    input.Body.pacing.dailyMaxImpressions == STRING
    input.Body.pacing.dailyMaxMicros == STRING
    input.Body.pacing.pacingPeriod == enum_PacingPacingPeriod[_]
    input.Body.pacing.pacingType == enum_PacingPacingType[_]
    input.Body.partnerCosts[_].costType == enum_PartnerCostCostType[_]
    input.Body.partnerCosts[_].feeAmount == STRING
    input.Body.partnerCosts[_].feePercentageMillis == STRING
    input.Body.partnerCosts[_].feeType == enum_PartnerCostFeeType[_]
    input.Body.partnerCosts[_].invoiceType == enum_PartnerCostInvoiceType[_]
    input.Body.partnerRevenueModel.markupAmount == STRING
    input.Body.partnerRevenueModel.markupType == enum_PartnerRevenueModelMarkupType[_]
    input.Body.targetingExpansion.enableOptimizedTargeting == BOOLEAN
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.duplicate

valid {
    input.Body.targetDisplayName == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.generateDefault

enum_GenerateDefaultLineItemRequestLineItemType := [ "LINE_ITEM_TYPE_UNSPECIFIED", "LINE_ITEM_TYPE_DISPLAY_DEFAULT", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_VIDEO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_AUDIO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" ]

valid {
    input.Body.displayName == STRING
    input.Body.insertionOrderId == STRING
    input.Body.lineItemType == enum_GenerateDefaultLineItemRequestLineItemType[_]
    input.Body.mobileApp.appId == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.list

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

displayvideo.advertisers.lineItems.patch

enum_FrequencyCapTimeUnit := [ "TIME_UNIT_UNSPECIFIED", "TIME_UNIT_LIFETIME", "TIME_UNIT_MONTHS", "TIME_UNIT_WEEKS", "TIME_UNIT_DAYS", "TIME_UNIT_HOURS", "TIME_UNIT_MINUTES" ]
enum_LineItemBudgetBudgetAllocationType := [ "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNSPECIFIED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_AUTOMATIC", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_FIXED", "LINE_ITEM_BUDGET_ALLOCATION_TYPE_UNLIMITED" ]
enum_LineItemEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_LineItemFlightFlightDateType := [ "LINE_ITEM_FLIGHT_DATE_TYPE_UNSPECIFIED", "LINE_ITEM_FLIGHT_DATE_TYPE_INHERITED", "LINE_ITEM_FLIGHT_DATE_TYPE_CUSTOM" ]
enum_LineItemLineItemType := [ "LINE_ITEM_TYPE_UNSPECIFIED", "LINE_ITEM_TYPE_DISPLAY_DEFAULT", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_VIDEO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INSTALL", "LINE_ITEM_TYPE_DISPLAY_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_VIDEO_MOBILE_APP_INVENTORY", "LINE_ITEM_TYPE_AUDIO_DEFAULT", "LINE_ITEM_TYPE_VIDEO_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_ACTION", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIDEO_SEQUENCE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_AUDIO", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_NON_SKIPPABLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_REACH_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_SIMPLE_OVER_THE_TOP", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_TARGET_FREQUENCY", "LINE_ITEM_TYPE_YOUTUBE_AND_PARTNERS_VIEW", "LINE_ITEM_TYPE_DISPLAY_OUT_OF_HOME", "LINE_ITEM_TYPE_VIDEO_OUT_OF_HOME" ]
enum_MaximizeSpendBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_PacingPacingPeriod := [ "PACING_PERIOD_UNSPECIFIED", "PACING_PERIOD_DAILY", "PACING_PERIOD_FLIGHT" ]
enum_PacingPacingType := [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", "PACING_TYPE_ASAP", "PACING_TYPE_EVEN" ]
enum_PartnerCostCostType := [ "PARTNER_COST_TYPE_UNSPECIFIED", "PARTNER_COST_TYPE_ADLOOX", "PARTNER_COST_TYPE_ADLOOX_PREBID", "PARTNER_COST_TYPE_ADSAFE", "PARTNER_COST_TYPE_ADXPOSE", "PARTNER_COST_TYPE_AGGREGATE_KNOWLEDGE", "PARTNER_COST_TYPE_AGENCY_TRADING_DESK", "PARTNER_COST_TYPE_DV360_FEE", "PARTNER_COST_TYPE_COMSCORE_VCE", "PARTNER_COST_TYPE_DATA_MANAGEMENT_PLATFORM", "PARTNER_COST_TYPE_DEFAULT", "PARTNER_COST_TYPE_DOUBLE_VERIFY", "PARTNER_COST_TYPE_DOUBLE_VERIFY_PREBID", "PARTNER_COST_TYPE_EVIDON", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_VIDEO", "PARTNER_COST_TYPE_INTEGRAL_AD_SCIENCE_PREBID", "PARTNER_COST_TYPE_MEDIA_COST_DATA", "PARTNER_COST_TYPE_MOAT_VIDEO", "PARTNER_COST_TYPE_NIELSEN_DAR", "PARTNER_COST_TYPE_SHOP_LOCAL", "PARTNER_COST_TYPE_TERACENT", "PARTNER_COST_TYPE_THIRD_PARTY_AD_SERVER", "PARTNER_COST_TYPE_TRUST_METRICS", "PARTNER_COST_TYPE_VIZU", "PARTNER_COST_TYPE_ADLINGO_FEE", "PARTNER_COST_TYPE_CUSTOM_FEE_1", "PARTNER_COST_TYPE_CUSTOM_FEE_2", "PARTNER_COST_TYPE_CUSTOM_FEE_3", "PARTNER_COST_TYPE_CUSTOM_FEE_4", "PARTNER_COST_TYPE_CUSTOM_FEE_5", "PARTNER_COST_TYPE_SCIBIDS_FEE" ]
enum_PartnerCostFeeType := [ "PARTNER_COST_FEE_TYPE_UNSPECIFIED", "PARTNER_COST_FEE_TYPE_CPM_FEE", "PARTNER_COST_FEE_TYPE_MEDIA_FEE" ]
enum_PartnerCostInvoiceType := [ "PARTNER_COST_INVOICE_TYPE_UNSPECIFIED", "PARTNER_COST_INVOICE_TYPE_DV360", "PARTNER_COST_INVOICE_TYPE_PARTNER" ]
enum_PartnerRevenueModelMarkupType := [ "PARTNER_REVENUE_MODEL_MARKUP_TYPE_UNSPECIFIED", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_CPM", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_MEDIA_COST_MARKUP", "PARTNER_REVENUE_MODEL_MARKUP_TYPE_TOTAL_MEDIA_COST_MARKUP" ]
enum_PerformanceGoalBidStrategyPerformanceGoalType := [ "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_UNSPECIFIED", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CPC", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_VIEWABLE_CPM", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CUSTOM_ALGO", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_CIVA", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_IVO_TEN", "BIDDING_STRATEGY_PERFORMANCE_GOAL_TYPE_AV_VIEWED" ]
enum_YoutubeAndPartnersBiddingStrategyType := [ "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_UNSPECIFIED", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MANUAL_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPA", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_RESERVE_CPM", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_LIFT", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSIONS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_CPV", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_TARGET_ROAS", "YOUTUBE_AND_PARTNERS_BIDDING_STRATEGY_TYPE_MAXIMIZE_CONVERSION_VALUE" ]

valid {
    input.Body.bidStrategy.fixedBid.bidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.maximizeSpendAutoBid.performanceGoalType == enum_MaximizeSpendBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.maximizeSpendAutoBid.raiseBidForDeals == BOOLEAN
    input.Body.bidStrategy.performanceGoalAutoBid.customBiddingAlgorithmId == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.maxAverageCpmBidAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalAmountMicros == STRING
    input.Body.bidStrategy.performanceGoalAutoBid.performanceGoalType == enum_PerformanceGoalBidStrategyPerformanceGoalType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.type == enum_YoutubeAndPartnersBiddingStrategyType[_]
    input.Body.bidStrategy.youtubeAndPartnersBid.value == STRING
    input.Body.budget.budgetAllocationType == enum_LineItemBudgetBudgetAllocationType[_]
    input.Body.budget.maxAmount == STRING
    input.Body.conversionCounting.floodlightActivityConfigs[_].floodlightActivityId == STRING
    input.Body.conversionCounting.floodlightActivityConfigs[_].postClickLookbackWindowDays == INTEGER
    input.Body.conversionCounting.floodlightActivityConfigs[_].postViewLookbackWindowDays == INTEGER
    input.Body.conversionCounting.postViewCountPercentageMillis == STRING
    input.Body.creativeIds[_] == STRING
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_LineItemEntityStatus[_]
    input.Body.excludeNewExchanges == BOOLEAN
    input.Body.flight.dateRange.endDate.day == INTEGER
    input.Body.flight.dateRange.endDate.month == INTEGER
    input.Body.flight.dateRange.endDate.year == INTEGER
    input.Body.flight.dateRange.startDate.day == INTEGER
    input.Body.flight.dateRange.startDate.month == INTEGER
    input.Body.flight.dateRange.startDate.year == INTEGER
    input.Body.flight.flightDateType == enum_LineItemFlightFlightDateType[_]
    input.Body.frequencyCap.maxImpressions == INTEGER
    input.Body.frequencyCap.maxViews == INTEGER
    input.Body.frequencyCap.timeUnit == enum_FrequencyCapTimeUnit[_]
    input.Body.frequencyCap.timeUnitCount == INTEGER
    input.Body.frequencyCap.unlimited == BOOLEAN
    input.Body.insertionOrderId == STRING
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.lineItemType == enum_LineItemLineItemType[_]
    input.Body.mobileApp.appId == STRING
    input.Body.pacing.dailyMaxImpressions == STRING
    input.Body.pacing.dailyMaxMicros == STRING
    input.Body.pacing.pacingPeriod == enum_PacingPacingPeriod[_]
    input.Body.pacing.pacingType == enum_PacingPacingType[_]
    input.Body.partnerCosts[_].costType == enum_PartnerCostCostType[_]
    input.Body.partnerCosts[_].feeAmount == STRING
    input.Body.partnerCosts[_].feePercentageMillis == STRING
    input.Body.partnerCosts[_].feeType == enum_PartnerCostFeeType[_]
    input.Body.partnerCosts[_].invoiceType == enum_PartnerCostInvoiceType[_]
    input.Body.partnerRevenueModel.markupAmount == STRING
    input.Body.partnerRevenueModel.markupType == enum_PartnerRevenueModelMarkupType[_]
    input.Body.targetingExpansion.enableOptimizedTargeting == BOOLEAN
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.create

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.appCategoryDetails.negative == BOOLEAN
    input.Body.appCategoryDetails.targetingOptionId == STRING
    input.Body.appDetails.appId == STRING
    input.Body.appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.appDetails.negative == BOOLEAN
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.browserDetails.negative == BOOLEAN
    input.Body.browserDetails.targetingOptionId == STRING
    input.Body.businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.businessChainDetails.targetingOptionId == STRING
    input.Body.carrierAndIspDetails.negative == BOOLEAN
    input.Body.carrierAndIspDetails.targetingOptionId == STRING
    input.Body.categoryDetails.negative == BOOLEAN
    input.Body.categoryDetails.targetingOptionId == STRING
    input.Body.channelDetails.channelId == STRING
    input.Body.channelDetails.negative == BOOLEAN
    input.Body.contentDurationDetails.targetingOptionId == STRING
    input.Body.contentGenreDetails.negative == BOOLEAN
    input.Body.contentGenreDetails.targetingOptionId == STRING
    input.Body.contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.dayAndTimeDetails.endHour == INTEGER
    input.Body.dayAndTimeDetails.startHour == INTEGER
    input.Body.dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.deviceMakeModelDetails.negative == BOOLEAN
    input.Body.deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.geoRegionDetails.negative == BOOLEAN
    input.Body.geoRegionDetails.targetingOptionId == STRING
    input.Body.householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.inventorySourceDetails.inventorySourceId == STRING
    input.Body.inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.keywordDetails.keyword == STRING
    input.Body.keywordDetails.negative == BOOLEAN
    input.Body.languageDetails.negative == BOOLEAN
    input.Body.languageDetails.targetingOptionId == STRING
    input.Body.nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.onScreenPositionDetails.targetingOptionId == STRING
    input.Body.operatingSystemDetails.negative == BOOLEAN
    input.Body.operatingSystemDetails.targetingOptionId == STRING
    input.Body.parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.poiDetails.proximityRadiusAmount == NUMBER
    input.Body.poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.poiDetails.targetingOptionId == STRING
    input.Body.proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.regionalLocationListDetails.negative == BOOLEAN
    input.Body.regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.subExchangeDetails.targetingOptionId == STRING
    input.Body.thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.urlDetails.negative == BOOLEAN
    input.Body.urlDetails.url == STRING
    input.Body.userRewardedContentDetails.targetingOptionId == STRING
    input.Body.videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.youtubeChannelDetails.channelId == STRING
    input.Body.youtubeChannelDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.videoId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.delete

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.lineItemId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.lineItemId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.lineItems.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.lineItemId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.list

valid {
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.listAssignedTargetingOptions

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

displayvideo.advertisers.locationLists.assignedLocations.bulkEdit

valid {
    input.Body.createdAssignedLocations[_].targetingOptionId == STRING
    input.Body.deletedAssignedLocations[_] == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.locationListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.assignedLocations.create

valid {
    input.Body.targetingOptionId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.locationListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.assignedLocations.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedLocationId == STRING
    input.ReqMap.locationListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.assignedLocations.list

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.locationListId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.create

enum_LocationListLocationType := [ "TARGETING_LOCATION_TYPE_UNSPECIFIED", "TARGETING_LOCATION_TYPE_PROXIMITY", "TARGETING_LOCATION_TYPE_REGIONAL" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.locationType == enum_LocationListLocationType[_]
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.locationListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.locationLists.list

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

displayvideo.advertisers.locationLists.patch

enum_LocationListLocationType := [ "TARGETING_LOCATION_TYPE_UNSPECIFIED", "TARGETING_LOCATION_TYPE_PROXIMITY", "TARGETING_LOCATION_TYPE_REGIONAL" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.locationType == enum_LocationListLocationType[_]
    input.ReqMap.advertiserId == STRING
    input.ReqMap.locationListId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.manualTriggers.activate

valid {
    input.Body.STRING == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.triggerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.manualTriggers.create

valid {
    input.Body.activationDurationMinutes == STRING
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.manualTriggers.deactivate

valid {
    input.Body.STRING == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.triggerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.manualTriggers.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.triggerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.manualTriggers.list

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

displayvideo.advertisers.manualTriggers.patch

valid {
    input.Body.activationDurationMinutes == STRING
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.triggerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.create

valid {
    input.Body.displayName == STRING
    input.ReqMap.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.list

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

displayvideo.advertisers.negativeKeywordLists.negativeKeywords.bulkEdit

valid {
    input.Body.createdNegativeKeywords[_].keywordValue == STRING
    input.Body.deletedNegativeKeywords[_] == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.negativeKeywords.create

valid {
    input.Body.keywordValue == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.negativeKeywords.delete

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.keywordValue == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.negativeKeywords.list

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.negativeKeywords.replace

valid {
    input.Body.newNegativeKeywords[_].keywordValue == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.negativeKeywordLists.patch

valid {
    input.Body.displayName == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.negativeKeywordListId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.patch

enum_AdvertiserEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_SdfConfigVersion := [ "SDF_VERSION_UNSPECIFIED", "SDF_VERSION_3_1", "SDF_VERSION_4", "SDF_VERSION_4_1", "SDF_VERSION_4_2", "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", "SDF_VERSION_5_3", "SDF_VERSION_5_4", "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7" ]

valid {
    input.Body.adServerConfig.cmHybridConfig.cmAccountId == STRING
    input.Body.adServerConfig.cmHybridConfig.cmFloodlightConfigId == STRING
    input.Body.adServerConfig.cmHybridConfig.cmFloodlightLinkingAuthorized == BOOLEAN
    input.Body.adServerConfig.cmHybridConfig.cmSyncableSiteIds[_] == STRING
    input.Body.adServerConfig.cmHybridConfig.dv360ToCmCostReportingEnabled == BOOLEAN
    input.Body.adServerConfig.cmHybridConfig.dv360ToCmDataSharingEnabled == BOOLEAN
    input.Body.adServerConfig.thirdPartyOnlyConfig.pixelOrderIdReportingEnabled == BOOLEAN
    input.Body.billingConfig.billingProfileId == STRING
    input.Body.creativeConfig.dynamicCreativeEnabled == BOOLEAN
    input.Body.creativeConfig.iasClientId == STRING
    input.Body.creativeConfig.obaComplianceDisabled == BOOLEAN
    input.Body.creativeConfig.videoCreativeDataSharingAuthorized == BOOLEAN
    input.Body.dataAccessConfig.sdfConfig.overridePartnerSdfConfig == BOOLEAN
    input.Body.dataAccessConfig.sdfConfig.sdfConfig.adminEmail == STRING
    input.Body.dataAccessConfig.sdfConfig.sdfConfig.version == enum_SdfConfigVersion[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_AdvertiserEntityStatus[_]
    input.Body.generalConfig.currencyCode == STRING
    input.Body.generalConfig.domainUrl == STRING
    input.Body.integrationDetails.details == STRING
    input.Body.integrationDetails.integrationCode == STRING
    input.Body.partnerId == STRING
    input.Body.prismaEnabled == BOOLEAN
    input.Body.servingConfig.exemptTvFromViewabilityTargeting == BOOLEAN
    input.ReqMap.advertiserId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.targetingTypes.assignedTargetingOptions.create

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.appCategoryDetails.negative == BOOLEAN
    input.Body.appCategoryDetails.targetingOptionId == STRING
    input.Body.appDetails.appId == STRING
    input.Body.appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.appDetails.negative == BOOLEAN
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.browserDetails.negative == BOOLEAN
    input.Body.browserDetails.targetingOptionId == STRING
    input.Body.businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.businessChainDetails.targetingOptionId == STRING
    input.Body.carrierAndIspDetails.negative == BOOLEAN
    input.Body.carrierAndIspDetails.targetingOptionId == STRING
    input.Body.categoryDetails.negative == BOOLEAN
    input.Body.categoryDetails.targetingOptionId == STRING
    input.Body.channelDetails.channelId == STRING
    input.Body.channelDetails.negative == BOOLEAN
    input.Body.contentDurationDetails.targetingOptionId == STRING
    input.Body.contentGenreDetails.negative == BOOLEAN
    input.Body.contentGenreDetails.targetingOptionId == STRING
    input.Body.contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.dayAndTimeDetails.endHour == INTEGER
    input.Body.dayAndTimeDetails.startHour == INTEGER
    input.Body.dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.deviceMakeModelDetails.negative == BOOLEAN
    input.Body.deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.geoRegionDetails.negative == BOOLEAN
    input.Body.geoRegionDetails.targetingOptionId == STRING
    input.Body.householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.inventorySourceDetails.inventorySourceId == STRING
    input.Body.inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.keywordDetails.keyword == STRING
    input.Body.keywordDetails.negative == BOOLEAN
    input.Body.languageDetails.negative == BOOLEAN
    input.Body.languageDetails.targetingOptionId == STRING
    input.Body.nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.onScreenPositionDetails.targetingOptionId == STRING
    input.Body.operatingSystemDetails.negative == BOOLEAN
    input.Body.operatingSystemDetails.targetingOptionId == STRING
    input.Body.parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.poiDetails.proximityRadiusAmount == NUMBER
    input.Body.poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.poiDetails.targetingOptionId == STRING
    input.Body.proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.regionalLocationListDetails.negative == BOOLEAN
    input.Body.regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.subExchangeDetails.targetingOptionId == STRING
    input.Body.thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.urlDetails.negative == BOOLEAN
    input.Body.urlDetails.url == STRING
    input.Body.userRewardedContentDetails.targetingOptionId == STRING
    input.Body.videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.youtubeChannelDetails.channelId == STRING
    input.Body.youtubeChannelDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.videoId == STRING
    input.ReqMap.advertiserId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.targetingTypes.assignedTargetingOptions.delete

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.youtubeAdGroupAds.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.youtubeAdGroupAdId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.youtubeAdGroupAds.list

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

displayvideo.advertisers.youtubeAdGroups.bulkListAdGroupAssignedTargetingOptions

valid {
    input.ReqMap.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.youtubeAdGroupIds == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.youtubeAdGroups.get

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.youtubeAdGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.youtubeAdGroups.list

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

displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ReqMap.youtubeAdGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.advertisers.youtubeAdGroups.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.advertiserId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ReqMap.youtubeAdGroupId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.combinedAudiences.get

valid {
    input.ReqMap.combinedAudienceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.combinedAudiences.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.create

enum_CustomBiddingAlgorithmCustomBiddingAlgorithmType := [ "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", "SCRIPT_BASED", "ADS_DATA_HUB_BASED", "GOAL_BUILDER_BASED", "RULE_BASED" ]
enum_CustomBiddingAlgorithmEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.customBiddingAlgorithmType == enum_CustomBiddingAlgorithmCustomBiddingAlgorithmType[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CustomBiddingAlgorithmEntityStatus[_]
    input.Body.partnerId == STRING
    input.Body.sharedAdvertiserIds[_] == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.get

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.patch

enum_CustomBiddingAlgorithmCustomBiddingAlgorithmType := [ "CUSTOM_BIDDING_ALGORITHM_TYPE_UNSPECIFIED", "SCRIPT_BASED", "ADS_DATA_HUB_BASED", "GOAL_BUILDER_BASED", "RULE_BASED" ]
enum_CustomBiddingAlgorithmEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.customBiddingAlgorithmType == enum_CustomBiddingAlgorithmCustomBiddingAlgorithmType[_]
    input.Body.displayName == STRING
    input.Body.entityStatus == enum_CustomBiddingAlgorithmEntityStatus[_]
    input.Body.partnerId == STRING
    input.Body.sharedAdvertiserIds[_] == STRING
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.rules.create

valid {
    input.Body.rules.resourceName == STRING
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.rules.get

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.ReqMap.customBiddingAlgorithmRulesId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.rules.list

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.scripts.create

valid {
    input.Body.script.resourceName == STRING
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.scripts.get

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.ReqMap.customBiddingScriptId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.scripts.list

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.uploadRules

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customBiddingAlgorithms.uploadScript

valid {
    input.ReqMap.customBiddingAlgorithmId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customLists.get

valid {
    input.ReqMap.customListId == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.customLists.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.firstAndThirdPartyAudiences.create

enum_ConsentAdPersonalization := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]
enum_ConsentAdUserData := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]
enum_FirstAndThirdPartyAudienceAudienceType := [ "AUDIENCE_TYPE_UNSPECIFIED", "CUSTOMER_MATCH_CONTACT_INFO", "CUSTOMER_MATCH_DEVICE_ID", "CUSTOMER_MATCH_USER_ID", "ACTIVITY_BASED", "FREQUENCY_CAP", "TAG_BASED", "YOUTUBE_USERS", "LICENSED" ]
enum_FirstAndThirdPartyAudienceFirstAndThirdPartyAudienceType := [ "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" ]

valid {
    input.Body.appId == STRING
    input.Body.audienceType == enum_FirstAndThirdPartyAudienceAudienceType[_]
    input.Body.contactInfoList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.contactInfoList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.contactInfoList.contactInfos[_].countryCode == STRING
    input.Body.contactInfoList.contactInfos[_].hashedEmails[_] == STRING
    input.Body.contactInfoList.contactInfos[_].hashedFirstName == STRING
    input.Body.contactInfoList.contactInfos[_].hashedLastName == STRING
    input.Body.contactInfoList.contactInfos[_].hashedPhoneNumbers[_] == STRING
    input.Body.contactInfoList.contactInfos[_].zipCodes[_] == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.firstAndThirdPartyAudienceType == enum_FirstAndThirdPartyAudienceFirstAndThirdPartyAudienceType[_]
    input.Body.membershipDurationDays == STRING
    input.Body.mobileDeviceIdList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.mobileDeviceIdList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.mobileDeviceIdList.mobileDeviceIds[_] == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.firstAndThirdPartyAudiences.editCustomerMatchMembers

enum_ConsentAdPersonalization := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]
enum_ConsentAdUserData := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]

valid {
    input.Body.addedContactInfoList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.addedContactInfoList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.addedContactInfoList.contactInfos[_].countryCode == STRING
    input.Body.addedContactInfoList.contactInfos[_].hashedEmails[_] == STRING
    input.Body.addedContactInfoList.contactInfos[_].hashedFirstName == STRING
    input.Body.addedContactInfoList.contactInfos[_].hashedLastName == STRING
    input.Body.addedContactInfoList.contactInfos[_].hashedPhoneNumbers[_] == STRING
    input.Body.addedContactInfoList.contactInfos[_].zipCodes[_] == STRING
    input.Body.addedMobileDeviceIdList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.addedMobileDeviceIdList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.addedMobileDeviceIdList.mobileDeviceIds[_] == STRING
    input.Body.advertiserId == STRING
    input.Body.removedContactInfoList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.removedContactInfoList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.removedContactInfoList.contactInfos[_].countryCode == STRING
    input.Body.removedContactInfoList.contactInfos[_].hashedEmails[_] == STRING
    input.Body.removedContactInfoList.contactInfos[_].hashedFirstName == STRING
    input.Body.removedContactInfoList.contactInfos[_].hashedLastName == STRING
    input.Body.removedContactInfoList.contactInfos[_].hashedPhoneNumbers[_] == STRING
    input.Body.removedContactInfoList.contactInfos[_].zipCodes[_] == STRING
    input.Body.removedMobileDeviceIdList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.removedMobileDeviceIdList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.removedMobileDeviceIdList.mobileDeviceIds[_] == STRING
    input.ReqMap.firstAndThirdPartyAudienceId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.firstAndThirdPartyAudiences.get

valid {
    input.ReqMap.firstAndThirdPartyAudienceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.firstAndThirdPartyAudiences.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.firstAndThirdPartyAudiences.patch

enum_ConsentAdPersonalization := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]
enum_ConsentAdUserData := [ "CONSENT_STATUS_UNSPECIFIED", "CONSENT_STATUS_GRANTED", "CONSENT_STATUS_DENIED" ]
enum_FirstAndThirdPartyAudienceAudienceType := [ "AUDIENCE_TYPE_UNSPECIFIED", "CUSTOMER_MATCH_CONTACT_INFO", "CUSTOMER_MATCH_DEVICE_ID", "CUSTOMER_MATCH_USER_ID", "ACTIVITY_BASED", "FREQUENCY_CAP", "TAG_BASED", "YOUTUBE_USERS", "LICENSED" ]
enum_FirstAndThirdPartyAudienceFirstAndThirdPartyAudienceType := [ "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_UNSPECIFIED", "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_FIRST_PARTY", "FIRST_AND_THIRD_PARTY_AUDIENCE_TYPE_THIRD_PARTY" ]

valid {
    input.Body.appId == STRING
    input.Body.audienceType == enum_FirstAndThirdPartyAudienceAudienceType[_]
    input.Body.contactInfoList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.contactInfoList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.contactInfoList.contactInfos[_].countryCode == STRING
    input.Body.contactInfoList.contactInfos[_].hashedEmails[_] == STRING
    input.Body.contactInfoList.contactInfos[_].hashedFirstName == STRING
    input.Body.contactInfoList.contactInfos[_].hashedLastName == STRING
    input.Body.contactInfoList.contactInfos[_].hashedPhoneNumbers[_] == STRING
    input.Body.contactInfoList.contactInfos[_].zipCodes[_] == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.firstAndThirdPartyAudienceType == enum_FirstAndThirdPartyAudienceFirstAndThirdPartyAudienceType[_]
    input.Body.membershipDurationDays == STRING
    input.Body.mobileDeviceIdList.consent.adPersonalization == enum_ConsentAdPersonalization[_]
    input.Body.mobileDeviceIdList.consent.adUserData == enum_ConsentAdUserData[_]
    input.Body.mobileDeviceIdList.mobileDeviceIds[_] == STRING
    input.ReqMap.firstAndThirdPartyAudienceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.floodlightGroups.floodlightActivities.get

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

displayvideo.floodlightGroups.floodlightActivities.list

valid {
    input.ReqMap.floodlightGroupId == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.floodlightGroups.get

valid {
    input.ReqMap.floodlightGroupId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.floodlightGroups.patch

enum_ActiveViewVideoViewabilityMetricConfigMinimumDuration := [ "VIDEO_DURATION_UNSPECIFIED", "VIDEO_DURATION_SECONDS_NONE", "VIDEO_DURATION_SECONDS_0", "VIDEO_DURATION_SECONDS_1", "VIDEO_DURATION_SECONDS_2", "VIDEO_DURATION_SECONDS_3", "VIDEO_DURATION_SECONDS_4", "VIDEO_DURATION_SECONDS_5", "VIDEO_DURATION_SECONDS_6", "VIDEO_DURATION_SECONDS_7", "VIDEO_DURATION_SECONDS_8", "VIDEO_DURATION_SECONDS_9", "VIDEO_DURATION_SECONDS_10", "VIDEO_DURATION_SECONDS_11", "VIDEO_DURATION_SECONDS_12", "VIDEO_DURATION_SECONDS_13", "VIDEO_DURATION_SECONDS_14", "VIDEO_DURATION_SECONDS_15", "VIDEO_DURATION_SECONDS_30", "VIDEO_DURATION_SECONDS_45", "VIDEO_DURATION_SECONDS_60" ]
enum_ActiveViewVideoViewabilityMetricConfigMinimumQuartile := [ "VIDEO_DURATION_QUARTILE_UNSPECIFIED", "VIDEO_DURATION_QUARTILE_NONE", "VIDEO_DURATION_QUARTILE_FIRST", "VIDEO_DURATION_QUARTILE_SECOND", "VIDEO_DURATION_QUARTILE_THIRD", "VIDEO_DURATION_QUARTILE_FOURTH" ]
enum_ActiveViewVideoViewabilityMetricConfigMinimumViewability := [ "VIEWABILITY_PERCENT_UNSPECIFIED", "VIEWABILITY_PERCENT_0", "VIEWABILITY_PERCENT_25", "VIEWABILITY_PERCENT_50", "VIEWABILITY_PERCENT_75", "VIEWABILITY_PERCENT_100" ]
enum_ActiveViewVideoViewabilityMetricConfigMinimumVolume := [ "VIDEO_VOLUME_PERCENT_UNSPECIFIED", "VIDEO_VOLUME_PERCENT_0", "VIDEO_VOLUME_PERCENT_10" ]
enum_FloodlightGroupWebTagType := [ "WEB_TAG_TYPE_UNSPECIFIED", "WEB_TAG_TYPE_NONE", "WEB_TAG_TYPE_IMAGE", "WEB_TAG_TYPE_DYNAMIC" ]

valid {
    input.Body.activeViewConfig.displayName == STRING
    input.Body.activeViewConfig.minimumDuration == enum_ActiveViewVideoViewabilityMetricConfigMinimumDuration[_]
    input.Body.activeViewConfig.minimumQuartile == enum_ActiveViewVideoViewabilityMetricConfigMinimumQuartile[_]
    input.Body.activeViewConfig.minimumViewability == enum_ActiveViewVideoViewabilityMetricConfigMinimumViewability[_]
    input.Body.activeViewConfig.minimumVolume == enum_ActiveViewVideoViewabilityMetricConfigMinimumVolume[_]
    input.Body.customVariables.STRING == ANY
    input.Body.displayName == STRING
    input.Body.lookbackWindow.clickDays == INTEGER
    input.Body.lookbackWindow.impressionDays == INTEGER
    input.Body.webTagType == enum_FloodlightGroupWebTagType[_]
    input.ReqMap.floodlightGroupId == STRING
    input.Qs.partnerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.googleAudiences.get

valid {
    input.ReqMap.googleAudienceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.googleAudiences.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.guaranteedOrders.create

enum_GuaranteedOrderExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_GuaranteedOrderStatusEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]

valid {
    input.Body.defaultCampaignId == STRING
    input.Body.displayName == STRING
    input.Body.exchange == enum_GuaranteedOrderExchange[_]
    input.Body.publisherName == STRING
    input.Body.readAccessInherited == BOOLEAN
    input.Body.readAdvertiserIds[_] == STRING
    input.Body.readWriteAdvertiserId == STRING
    input.Body.readWritePartnerId == STRING
    input.Body.status.entityPauseReason == STRING
    input.Body.status.entityStatus == enum_GuaranteedOrderStatusEntityStatus[_]
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.guaranteedOrders.editGuaranteedOrderReadAccessors

valid {
    input.Body.addedAdvertisers[_] == STRING
    input.Body.partnerId == STRING
    input.Body.readAccessInherited == BOOLEAN
    input.Body.removedAdvertisers[_] == STRING
    input.ReqMap.guaranteedOrderId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.guaranteedOrders.get

valid {
    input.ReqMap.guaranteedOrderId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.guaranteedOrders.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.guaranteedOrders.patch

enum_GuaranteedOrderExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_GuaranteedOrderStatusEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]

valid {
    input.Body.defaultCampaignId == STRING
    input.Body.displayName == STRING
    input.Body.exchange == enum_GuaranteedOrderExchange[_]
    input.Body.publisherName == STRING
    input.Body.readAccessInherited == BOOLEAN
    input.Body.readAdvertiserIds[_] == STRING
    input.Body.readWriteAdvertiserId == STRING
    input.Body.readWritePartnerId == STRING
    input.Body.status.entityPauseReason == STRING
    input.Body.status.entityStatus == enum_GuaranteedOrderStatusEntityStatus[_]
    input.ReqMap.guaranteedOrderId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.assignedInventorySources.bulkEdit

valid {
    input.Body.advertiserId == STRING
    input.Body.createdAssignedInventorySources[_].inventorySourceId == STRING
    input.Body.deletedAssignedInventorySources[_] == STRING
    input.Body.partnerId == STRING
    input.ReqMap.inventorySourceGroupId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.assignedInventorySources.create

valid {
    input.Body.inventorySourceId == STRING
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.assignedInventorySources.delete

valid {
    input.ReqMap.assignedInventorySourceId == STRING
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.assignedInventorySources.list

valid {
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.create

valid {
    input.Body.displayName == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.delete

valid {
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.get

valid {
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySourceGroups.patch

valid {
    input.Body.displayName == STRING
    input.ReqMap.inventorySourceGroupId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySources.create

enum_CreativeConfigCreativeType := [ "CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", "CREATIVE_TYPE_EXPANDABLE", "CREATIVE_TYPE_VIDEO", "CREATIVE_TYPE_NATIVE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", "CREATIVE_TYPE_NATIVE_SITE_SQUARE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", "CREATIVE_TYPE_LIGHTBOX", "CREATIVE_TYPE_NATIVE_APP_INSTALL", "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" ]
enum_InventorySourceCommitment := [ "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED", "INVENTORY_SOURCE_COMMITMENT_GUARANTEED", "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" ]
enum_InventorySourceDeliveryMethod := [ "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED", "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC", "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" ]
enum_InventorySourceExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_InventorySourceInventorySourceType := [ "INVENTORY_SOURCE_TYPE_UNSPECIFIED", "INVENTORY_SOURCE_TYPE_PRIVATE", "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" ]
enum_InventorySourceStatusEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_RateDetailsInventorySourceRateType := [ "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED", "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED", "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR", "INVENTORY_SOURCE_RATE_TYPE_CPD", "INVENTORY_SOURCE_RATE_TYPE_FLAT" ]

valid {
    input.Body.commitment == enum_InventorySourceCommitment[_]
    input.Body.creativeConfigs[_].creativeType == enum_CreativeConfigCreativeType[_]
    input.Body.creativeConfigs[_].displayCreativeConfig.creativeSize.heightPixels == INTEGER
    input.Body.creativeConfigs[_].displayCreativeConfig.creativeSize.widthPixels == INTEGER
    input.Body.creativeConfigs[_].videoCreativeConfig.duration == STRING
    input.Body.dealId == STRING
    input.Body.deliveryMethod == enum_InventorySourceDeliveryMethod[_]
    input.Body.displayName == STRING
    input.Body.exchange == enum_InventorySourceExchange[_]
    input.Body.guaranteedOrderId == STRING
    input.Body.inventorySourceType == enum_InventorySourceInventorySourceType[_]
    input.Body.publisherName == STRING
    input.Body.rateDetails.inventorySourceRateType == enum_RateDetailsInventorySourceRateType[_]
    input.Body.rateDetails.rate.currencyCode == STRING
    input.Body.rateDetails.rate.nanos == INTEGER
    input.Body.rateDetails.rate.units == STRING
    input.Body.rateDetails.unitsPurchased == STRING
    input.Body.readWriteAccessors.advertisers.advertiserIds[_] == STRING
    input.Body.readWriteAccessors.partner.partnerId == STRING
    input.Body.status.entityPauseReason == STRING
    input.Body.status.entityStatus == enum_InventorySourceStatusEntityStatus[_]
    input.Body.timeRange.endTime == STRING
    input.Body.timeRange.startTime == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySources.editInventorySourceReadWriteAccessors

valid {
    input.Body.advertisersUpdate.addedAdvertisers[_] == STRING
    input.Body.advertisersUpdate.removedAdvertisers[_] == STRING
    input.Body.assignPartner == BOOLEAN
    input.Body.partnerId == STRING
    input.ReqMap.inventorySourceId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySources.get

valid {
    input.ReqMap.inventorySourceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySources.list

valid {
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.inventorySources.patch

enum_CreativeConfigCreativeType := [ "CREATIVE_TYPE_UNSPECIFIED", "CREATIVE_TYPE_STANDARD", "CREATIVE_TYPE_EXPANDABLE", "CREATIVE_TYPE_VIDEO", "CREATIVE_TYPE_NATIVE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL", "CREATIVE_TYPE_NATIVE_SITE_SQUARE", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_INTERSTITIAL", "CREATIVE_TYPE_LIGHTBOX", "CREATIVE_TYPE_NATIVE_APP_INSTALL", "CREATIVE_TYPE_NATIVE_APP_INSTALL_SQUARE", "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" ]
enum_InventorySourceCommitment := [ "INVENTORY_SOURCE_COMMITMENT_UNSPECIFIED", "INVENTORY_SOURCE_COMMITMENT_GUARANTEED", "INVENTORY_SOURCE_COMMITMENT_NON_GUARANTEED" ]
enum_InventorySourceDeliveryMethod := [ "INVENTORY_SOURCE_DELIVERY_METHOD_UNSPECIFIED", "INVENTORY_SOURCE_DELIVERY_METHOD_PROGRAMMATIC", "INVENTORY_SOURCE_DELIVERY_METHOD_TAG" ]
enum_InventorySourceExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_InventorySourceInventorySourceType := [ "INVENTORY_SOURCE_TYPE_UNSPECIFIED", "INVENTORY_SOURCE_TYPE_PRIVATE", "INVENTORY_SOURCE_TYPE_AUCTION_PACKAGE" ]
enum_InventorySourceStatusEntityStatus := [ "ENTITY_STATUS_UNSPECIFIED", "ENTITY_STATUS_ACTIVE", "ENTITY_STATUS_ARCHIVED", "ENTITY_STATUS_DRAFT", "ENTITY_STATUS_PAUSED", "ENTITY_STATUS_SCHEDULED_FOR_DELETION" ]
enum_RateDetailsInventorySourceRateType := [ "INVENTORY_SOURCE_RATE_TYPE_UNSPECIFIED", "INVENTORY_SOURCE_RATE_TYPE_CPM_FIXED", "INVENTORY_SOURCE_RATE_TYPE_CPM_FLOOR", "INVENTORY_SOURCE_RATE_TYPE_CPD", "INVENTORY_SOURCE_RATE_TYPE_FLAT" ]

valid {
    input.Body.commitment == enum_InventorySourceCommitment[_]
    input.Body.creativeConfigs[_].creativeType == enum_CreativeConfigCreativeType[_]
    input.Body.creativeConfigs[_].displayCreativeConfig.creativeSize.heightPixels == INTEGER
    input.Body.creativeConfigs[_].displayCreativeConfig.creativeSize.widthPixels == INTEGER
    input.Body.creativeConfigs[_].videoCreativeConfig.duration == STRING
    input.Body.dealId == STRING
    input.Body.deliveryMethod == enum_InventorySourceDeliveryMethod[_]
    input.Body.displayName == STRING
    input.Body.exchange == enum_InventorySourceExchange[_]
    input.Body.guaranteedOrderId == STRING
    input.Body.inventorySourceType == enum_InventorySourceInventorySourceType[_]
    input.Body.publisherName == STRING
    input.Body.rateDetails.inventorySourceRateType == enum_RateDetailsInventorySourceRateType[_]
    input.Body.rateDetails.rate.currencyCode == STRING
    input.Body.rateDetails.rate.nanos == INTEGER
    input.Body.rateDetails.rate.units == STRING
    input.Body.rateDetails.unitsPurchased == STRING
    input.Body.readWriteAccessors.advertisers.advertiserIds[_] == STRING
    input.Body.readWriteAccessors.partner.partnerId == STRING
    input.Body.status.entityPauseReason == STRING
    input.Body.status.entityStatus == enum_InventorySourceStatusEntityStatus[_]
    input.Body.timeRange.endTime == STRING
    input.Body.timeRange.startTime == STRING
    input.ReqMap.inventorySourceId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.partnerId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.media.download

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

displayvideo.media.upload

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

displayvideo.partners.bulkEditPartnerAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange := [ "PROXIMITY_RADIUS_RANGE_UNSPECIFIED", "PROXIMITY_RADIUS_RANGE_SMALL", "PROXIMITY_RADIUS_RANGE_MEDIUM", "PROXIMITY_RADIUS_RANGE_LARGE" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusRange == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedTargetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.ReqMap.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.create

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.partnerId == STRING
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.get

valid {
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.list

valid {
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.patch

valid {
    input.Body.advertiserId == STRING
    input.Body.displayName == STRING
    input.Body.partnerId == STRING
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.sites.bulkEdit

valid {
    input.Body.advertiserId == STRING
    input.Body.createdSites[_].urlOrAppId == STRING
    input.Body.deletedSites[_] == STRING
    input.Body.partnerId == STRING
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.sites.create

valid {
    input.Body.urlOrAppId == STRING
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.sites.delete

valid {
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.ReqMap.urlOrAppId == STRING
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.sites.list

valid {
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.channels.sites.replace

valid {
    input.Body.advertiserId == STRING
    input.Body.newSites[_].urlOrAppId == STRING
    input.Body.partnerId == STRING
    input.ReqMap.channelId == STRING
    input.ReqMap.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.editAssignedTargetingOptions

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_CreateAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeleteAssignedTargetingOptionsRequestTargetingType := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.createRequests[_].assignedTargetingOptions[_].ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].appCategoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].appDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].browserDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].businessChainDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].carrierAndIspDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].categoryDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].channelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentDurationDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].contentGenreDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.endHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.startHour == INTEGER
    input.Body.createRequests[_].assignedTargetingOptions[_].dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].geoRegionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceDetails.inventorySourceId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.keyword == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].keywordDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].languageDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].onScreenPositionDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].operatingSystemDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusAmount == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].poiDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.createRequests[_].assignedTargetingOptions[_].proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].subExchangeDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].urlDetails.url == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].userRewardedContentDetails.targetingOptionId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.channelId == STRING
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeChannelDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.negative == BOOLEAN
    input.Body.createRequests[_].assignedTargetingOptions[_].youtubeVideoDetails.videoId == STRING
    input.Body.createRequests[_].targetingType == enum_CreateAssignedTargetingOptionsRequestTargetingType[_]
    input.Body.deleteRequests[_].assignedTargetingOptionIds[_] == STRING
    input.Body.deleteRequests[_].targetingType == enum_DeleteAssignedTargetingOptionsRequestTargetingType[_]
    input.ReqMap.partnerId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.get

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

displayvideo.partners.list

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

displayvideo.partners.targetingTypes.assignedTargetingOptions.create

enum_AdlooxExcludedAdlooxCategories := [ "ADLOOX_UNSPECIFIED", "ADULT_CONTENT_HARD", "ADULT_CONTENT_SOFT", "ILLEGAL_CONTENT", "BORDERLINE_CONTENT", "DISCRIMINATORY_CONTENT", "VIOLENT_CONTENT_WEAPONS", "LOW_VIEWABILITY_DOMAINS", "FRAUD" ]
enum_AgeRangeAssignedTargetingOptionDetailsAgeRange := [ "AGE_RANGE_UNSPECIFIED", "AGE_RANGE_18_24", "AGE_RANGE_25_34", "AGE_RANGE_35_44", "AGE_RANGE_45_54", "AGE_RANGE_55_64", "AGE_RANGE_65_PLUS", "AGE_RANGE_UNKNOWN", "AGE_RANGE_18_20", "AGE_RANGE_21_24", "AGE_RANGE_25_29", "AGE_RANGE_30_34", "AGE_RANGE_35_39", "AGE_RANGE_40_44", "AGE_RANGE_45_49", "AGE_RANGE_50_54", "AGE_RANGE_55_59", "AGE_RANGE_60_64" ]
enum_AppAssignedTargetingOptionDetailsAppPlatform := [ "APP_PLATFORM_UNSPECIFIED", "APP_PLATFORM_IOS", "APP_PLATFORM_ANDROID", "APP_PLATFORM_ROKU", "APP_PLATFORM_AMAZON_FIRETV", "APP_PLATFORM_PLAYSTATION", "APP_PLATFORM_APPLE_TV", "APP_PLATFORM_XBOX", "APP_PLATFORM_SAMSUNG_TV", "APP_PLATFORM_ANDROID_TV", "APP_PLATFORM_GENERIC_CTV", "APP_PLATFORM_LG_TV", "APP_PLATFORM_VIZIO_TV" ]
enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType := [ "AUDIO_CONTENT_TYPE_UNSPECIFIED", "AUDIO_CONTENT_TYPE_UNKNOWN", "AUDIO_CONTENT_TYPE_MUSIC", "AUDIO_CONTENT_TYPE_BROADCAST", "AUDIO_CONTENT_TYPE_PODCAST" ]
enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition := [ "CONTENT_INSTREAM_POSITION_UNSPECIFIED", "CONTENT_INSTREAM_POSITION_PRE_ROLL", "CONTENT_INSTREAM_POSITION_MID_ROLL", "CONTENT_INSTREAM_POSITION_POST_ROLL", "CONTENT_INSTREAM_POSITION_UNKNOWN" ]
enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition := [ "CONTENT_OUTSTREAM_POSITION_UNSPECIFIED", "CONTENT_OUTSTREAM_POSITION_UNKNOWN", "CONTENT_OUTSTREAM_POSITION_IN_ARTICLE", "CONTENT_OUTSTREAM_POSITION_IN_BANNER", "CONTENT_OUTSTREAM_POSITION_IN_FEED", "CONTENT_OUTSTREAM_POSITION_INTERSTITIAL" ]
enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution := [ "TIME_ZONE_RESOLUTION_UNSPECIFIED", "TIME_ZONE_RESOLUTION_END_USER", "TIME_ZONE_RESOLUTION_ADVERTISER" ]
enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType := [ "DEVICE_TYPE_UNSPECIFIED", "DEVICE_TYPE_COMPUTER", "DEVICE_TYPE_CONNECTED_TV", "DEVICE_TYPE_SMART_PHONE", "DEVICE_TYPE_TABLET" ]
enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier := [ "CONTENT_RATING_TIER_UNSPECIFIED", "CONTENT_RATING_TIER_UNRATED", "CONTENT_RATING_TIER_GENERAL", "CONTENT_RATING_TIER_PARENTAL_GUIDANCE", "CONTENT_RATING_TIER_TEENS", "CONTENT_RATING_TIER_MATURE", "CONTENT_RATING_TIER_FAMILIES" ]
enum_DoubleVerifyAppStarRatingAvoidedStarRating := [ "APP_STAR_RATE_UNSPECIFIED", "APP_STAR_RATE_1_POINT_5_LESS", "APP_STAR_RATE_2_LESS", "APP_STAR_RATE_2_POINT_5_LESS", "APP_STAR_RATE_3_LESS", "APP_STAR_RATE_3_POINT_5_LESS", "APP_STAR_RATE_4_LESS", "APP_STAR_RATE_4_POINT_5_LESS" ]
enum_DoubleVerifyAvoidedAgeRatings := [ "AGE_RATING_UNSPECIFIED", "APP_AGE_RATE_UNKNOWN", "APP_AGE_RATE_4_PLUS", "APP_AGE_RATE_9_PLUS", "APP_AGE_RATE_12_PLUS", "APP_AGE_RATE_17_PLUS", "APP_AGE_RATE_18_PLUS" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories := [ "HIGHER_SEVERITY_UNSPECIFIED", "ADULT_CONTENT_PORNOGRAPHY", "COPYRIGHT_INFRINGEMENT", "SUBSTANCE_ABUSE", "GRAPHIC_VIOLENCE_WEAPONS", "HATE_PROFANITY", "CRIMINAL_SKILLS", "NUISANCE_INCENTIVIZED_MALWARE_CLUTTER" ]
enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories := [ "MEDIUM_SEVERITY_UNSPECIFIED", "AD_SERVERS", "ADULT_CONTENT_SWIMSUIT", "ALTERNATIVE_LIFESTYLES", "CELEBRITY_GOSSIP", "GAMBLING", "OCCULT", "SEX_EDUCATION", "DISASTER_AVIATION", "DISASTER_MAN_MADE", "DISASTER_NATURAL", "DISASTER_TERRORIST_EVENTS", "DISASTER_VEHICLE", "ALCOHOL", "SMOKING", "NEGATIVE_NEWS_FINANCIAL", "NON_ENGLISH", "PARKING_PAGE", "UNMODERATED_UGC", "INFLAMMATORY_POLITICS_AND_NEWS", "NEGATIVE_NEWS_PHARMACEUTICAL" ]
enum_DoubleVerifyDisplayViewabilityIab := [ "IAB_VIEWED_RATE_UNSPECIFIED", "IAB_VIEWED_RATE_80_PERCENT_HIGHER", "IAB_VIEWED_RATE_75_PERCENT_HIGHER", "IAB_VIEWED_RATE_70_PERCENT_HIGHER", "IAB_VIEWED_RATE_65_PERCENT_HIGHER", "IAB_VIEWED_RATE_60_PERCENT_HIGHER", "IAB_VIEWED_RATE_55_PERCENT_HIGHER", "IAB_VIEWED_RATE_50_PERCENT_HIGHER", "IAB_VIEWED_RATE_40_PERCENT_HIGHER", "IAB_VIEWED_RATE_30_PERCENT_HIGHER" ]
enum_DoubleVerifyDisplayViewabilityViewableDuring := [ "AVERAGE_VIEW_DURATION_UNSPECIFIED", "AVERAGE_VIEW_DURATION_5_SEC", "AVERAGE_VIEW_DURATION_10_SEC", "AVERAGE_VIEW_DURATION_15_SEC" ]
enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption := [ "FRAUD_UNSPECIFIED", "AD_IMPRESSION_FRAUD_100", "AD_IMPRESSION_FRAUD_50", "AD_IMPRESSION_FRAUD_25", "AD_IMPRESSION_FRAUD_10", "AD_IMPRESSION_FRAUD_8", "AD_IMPRESSION_FRAUD_6", "AD_IMPRESSION_FRAUD_4", "AD_IMPRESSION_FRAUD_2" ]
enum_DoubleVerifyVideoViewabilityPlayerImpressionRate := [ "PLAYER_SIZE_400X300_UNSPECIFIED", "PLAYER_SIZE_400X300_95", "PLAYER_SIZE_400X300_70", "PLAYER_SIZE_400X300_25", "PLAYER_SIZE_400X300_5" ]
enum_DoubleVerifyVideoViewabilityVideoIab := [ "VIDEO_IAB_UNSPECIFIED", "IAB_VIEWABILITY_80_PERCENT_HIGHER", "IAB_VIEWABILITY_75_PERCENT_HIGHER", "IAB_VIEWABILITY_70_PERCENT_HIGHER", "IAB_VIEWABILITY_65_PERCENT_HIHGER", "IAB_VIEWABILITY_60_PERCENT_HIGHER", "IAB_VIEWABILITY_55_PERCENT_HIHGER", "IAB_VIEWABILITY_50_PERCENT_HIGHER", "IAB_VIEWABILITY_40_PERCENT_HIHGER", "IAB_VIEWABILITY_30_PERCENT_HIHGER" ]
enum_DoubleVerifyVideoViewabilityVideoViewableRate := [ "VIDEO_VIEWABLE_RATE_UNSPECIFIED", "VIEWED_PERFORMANCE_40_PERCENT_HIGHER", "VIEWED_PERFORMANCE_35_PERCENT_HIGHER", "VIEWED_PERFORMANCE_30_PERCENT_HIGHER", "VIEWED_PERFORMANCE_25_PERCENT_HIGHER", "VIEWED_PERFORMANCE_20_PERCENT_HIGHER", "VIEWED_PERFORMANCE_10_PERCENT_HIGHER" ]
enum_EnvironmentAssignedTargetingOptionDetailsEnvironment := [ "ENVIRONMENT_UNSPECIFIED", "ENVIRONMENT_WEB_OPTIMIZED", "ENVIRONMENT_WEB_NOT_OPTIMIZED", "ENVIRONMENT_APP" ]
enum_ExchangeAssignedTargetingOptionDetailsExchange := [ "EXCHANGE_UNSPECIFIED", "EXCHANGE_GOOGLE_AD_MANAGER", "EXCHANGE_APPNEXUS", "EXCHANGE_BRIGHTROLL", "EXCHANGE_ADFORM", "EXCHANGE_ADMETA", "EXCHANGE_ADMIXER", "EXCHANGE_ADSMOGO", "EXCHANGE_ADSWIZZ", "EXCHANGE_BIDSWITCH", "EXCHANGE_BRIGHTROLL_DISPLAY", "EXCHANGE_CADREON", "EXCHANGE_DAILYMOTION", "EXCHANGE_FIVE", "EXCHANGE_FLUCT", "EXCHANGE_FREEWHEEL", "EXCHANGE_GENIEE", "EXCHANGE_GUMGUM", "EXCHANGE_IMOBILE", "EXCHANGE_IBILLBOARD", "EXCHANGE_IMPROVE_DIGITAL", "EXCHANGE_INDEX", "EXCHANGE_KARGO", "EXCHANGE_MICROAD", "EXCHANGE_MOPUB", "EXCHANGE_NEND", "EXCHANGE_ONE_BY_AOL_DISPLAY", "EXCHANGE_ONE_BY_AOL_MOBILE", "EXCHANGE_ONE_BY_AOL_VIDEO", "EXCHANGE_OOYALA", "EXCHANGE_OPENX", "EXCHANGE_PERMODO", "EXCHANGE_PLATFORMONE", "EXCHANGE_PLATFORMID", "EXCHANGE_PUBMATIC", "EXCHANGE_PULSEPOINT", "EXCHANGE_REVENUEMAX", "EXCHANGE_RUBICON", "EXCHANGE_SMARTCLIP", "EXCHANGE_SMARTRTB", "EXCHANGE_SMARTSTREAMTV", "EXCHANGE_SOVRN", "EXCHANGE_SPOTXCHANGE", "EXCHANGE_STROER", "EXCHANGE_TEADSTV", "EXCHANGE_TELARIA", "EXCHANGE_TVN", "EXCHANGE_UNITED", "EXCHANGE_YIELDLAB", "EXCHANGE_YIELDMO", "EXCHANGE_UNRULYX", "EXCHANGE_OPEN8", "EXCHANGE_TRITON", "EXCHANGE_TRIPLELIFT", "EXCHANGE_TABOOLA", "EXCHANGE_INMOBI", "EXCHANGE_SMAATO", "EXCHANGE_AJA", "EXCHANGE_SUPERSHIP", "EXCHANGE_NEXSTAR_DIGITAL", "EXCHANGE_WAZE", "EXCHANGE_SOUNDCAST", "EXCHANGE_SHARETHROUGH", "EXCHANGE_FYBER", "EXCHANGE_RED_FOR_PUBLISHERS", "EXCHANGE_MEDIANET", "EXCHANGE_TAPJOY", "EXCHANGE_VISTAR", "EXCHANGE_DAX", "EXCHANGE_JCD", "EXCHANGE_PLACE_EXCHANGE", "EXCHANGE_APPLOVIN", "EXCHANGE_CONNATIX", "EXCHANGE_RESET_DIGITAL", "EXCHANGE_HIVESTACK", "EXCHANGE_DRAX", "EXCHANGE_APPLOVIN_GBID", "EXCHANGE_FYBER_GBID", "EXCHANGE_UNITY_GBID", "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID" ]
enum_FirstAndThirdPartyAudienceTargetingSettingRecency := [ "RECENCY_NO_LIMIT", "RECENCY_1_MINUTE", "RECENCY_5_MINUTES", "RECENCY_10_MINUTES", "RECENCY_15_MINUTES", "RECENCY_30_MINUTES", "RECENCY_1_HOUR", "RECENCY_2_HOURS", "RECENCY_3_HOURS", "RECENCY_6_HOURS", "RECENCY_12_HOURS", "RECENCY_1_DAY", "RECENCY_2_DAYS", "RECENCY_3_DAYS", "RECENCY_5_DAYS", "RECENCY_7_DAYS", "RECENCY_10_DAYS", "RECENCY_14_DAYS", "RECENCY_15_DAYS", "RECENCY_21_DAYS", "RECENCY_28_DAYS", "RECENCY_30_DAYS", "RECENCY_40_DAYS", "RECENCY_45_DAYS", "RECENCY_60_DAYS", "RECENCY_90_DAYS", "RECENCY_120_DAYS", "RECENCY_180_DAYS", "RECENCY_270_DAYS", "RECENCY_365_DAYS" ]
enum_GenderAssignedTargetingOptionDetailsGender := [ "GENDER_UNSPECIFIED", "GENDER_MALE", "GENDER_FEMALE", "GENDER_UNKNOWN" ]
enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome := [ "HOUSEHOLD_INCOME_UNSPECIFIED", "HOUSEHOLD_INCOME_UNKNOWN", "HOUSEHOLD_INCOME_LOWER_50_PERCENT", "HOUSEHOLD_INCOME_TOP_41_TO_50_PERCENT", "HOUSEHOLD_INCOME_TOP_31_TO_40_PERCENT", "HOUSEHOLD_INCOME_TOP_21_TO_30_PERCENT", "HOUSEHOLD_INCOME_TOP_11_TO_20_PERCENT", "HOUSEHOLD_INCOME_TOP_10_PERCENT" ]
enum_IntegralAdScienceDisplayViewability := [ "PERFORMANCE_VIEWABILITY_UNSPECIFIED", "PERFORMANCE_VIEWABILITY_40", "PERFORMANCE_VIEWABILITY_50", "PERFORMANCE_VIEWABILITY_60", "PERFORMANCE_VIEWABILITY_70" ]
enum_IntegralAdScienceExcludedAdFraudRisk := [ "SUSPICIOUS_ACTIVITY_UNSPECIFIED", "SUSPICIOUS_ACTIVITY_HR", "SUSPICIOUS_ACTIVITY_HMR" ]
enum_IntegralAdScienceExcludedAdultRisk := [ "ADULT_UNSPECIFIED", "ADULT_HR", "ADULT_HMR" ]
enum_IntegralAdScienceExcludedAlcoholRisk := [ "ALCOHOL_UNSPECIFIED", "ALCOHOL_HR", "ALCOHOL_HMR" ]
enum_IntegralAdScienceExcludedDrugsRisk := [ "DRUGS_UNSPECIFIED", "DRUGS_HR", "DRUGS_HMR" ]
enum_IntegralAdScienceExcludedGamblingRisk := [ "GAMBLING_UNSPECIFIED", "GAMBLING_HR", "GAMBLING_HMR" ]
enum_IntegralAdScienceExcludedHateSpeechRisk := [ "HATE_SPEECH_UNSPECIFIED", "HATE_SPEECH_HR", "HATE_SPEECH_HMR" ]
enum_IntegralAdScienceExcludedIllegalDownloadsRisk := [ "ILLEGAL_DOWNLOADS_UNSPECIFIED", "ILLEGAL_DOWNLOADS_HR", "ILLEGAL_DOWNLOADS_HMR" ]
enum_IntegralAdScienceExcludedOffensiveLanguageRisk := [ "OFFENSIVE_LANGUAGE_UNSPECIFIED", "OFFENSIVE_LANGUAGE_HR", "OFFENSIVE_LANGUAGE_HMR" ]
enum_IntegralAdScienceExcludedViolenceRisk := [ "VIOLENCE_UNSPECIFIED", "VIOLENCE_HR", "VIOLENCE_HMR" ]
enum_IntegralAdScienceTraqScoreOption := [ "TRAQ_UNSPECIFIED", "TRAQ_250", "TRAQ_500", "TRAQ_600", "TRAQ_700", "TRAQ_750", "TRAQ_875", "TRAQ_1000" ]
enum_IntegralAdScienceVideoViewability := [ "VIDEO_VIEWABILITY_UNSPECIFIED", "VIDEO_VIEWABILITY_40", "VIDEO_VIEWABILITY_50", "VIDEO_VIEWABILITY_60", "VIDEO_VIEWABILITY_70" ]
enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition := [ "NATIVE_CONTENT_POSITION_UNSPECIFIED", "NATIVE_CONTENT_POSITION_UNKNOWN", "NATIVE_CONTENT_POSITION_IN_ARTICLE", "NATIVE_CONTENT_POSITION_IN_FEED", "NATIVE_CONTENT_POSITION_PERIPHERAL", "NATIVE_CONTENT_POSITION_RECOMMENDATION" ]
enum_OmidAssignedTargetingOptionDetailsOmid := [ "OMID_UNSPECIFIED", "OMID_FOR_MOBILE_DISPLAY_ADS" ]
enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus := [ "PARENTAL_STATUS_UNSPECIFIED", "PARENTAL_STATUS_PARENT", "PARENTAL_STATUS_NOT_A_PARENT", "PARENTAL_STATUS_UNKNOWN" ]
enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit := [ "DISTANCE_UNIT_UNSPECIFIED", "DISTANCE_UNIT_MILES", "DISTANCE_UNIT_KILOMETERS" ]
enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit := [ "PROXIMITY_RADIUS_UNIT_UNSPECIFIED", "PROXIMITY_RADIUS_UNIT_MILES", "PROXIMITY_RADIUS_UNIT_KILOMETERS" ]
enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory := [ "SENSITIVE_CATEGORY_UNSPECIFIED", "SENSITIVE_CATEGORY_ADULT", "SENSITIVE_CATEGORY_DEROGATORY", "SENSITIVE_CATEGORY_DOWNLOADS_SHARING", "SENSITIVE_CATEGORY_WEAPONS", "SENSITIVE_CATEGORY_GAMBLING", "SENSITIVE_CATEGORY_VIOLENCE", "SENSITIVE_CATEGORY_SUGGESTIVE", "SENSITIVE_CATEGORY_PROFANITY", "SENSITIVE_CATEGORY_ALCOHOL", "SENSITIVE_CATEGORY_DRUGS", "SENSITIVE_CATEGORY_TOBACCO", "SENSITIVE_CATEGORY_POLITICS", "SENSITIVE_CATEGORY_RELIGION", "SENSITIVE_CATEGORY_TRAGEDY", "SENSITIVE_CATEGORY_TRANSPORTATION_ACCIDENTS", "SENSITIVE_CATEGORY_SENSITIVE_SOCIAL_ISSUES", "SENSITIVE_CATEGORY_SHOCKING", "SENSITIVE_CATEGORY_EMBEDDED_VIDEO", "SENSITIVE_CATEGORY_LIVE_STREAMING_VIDEO" ]
enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition := [ "SESSION_POSITION_UNSPECIFIED", "SESSION_POSITION_FIRST_IMPRESSION" ]
enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]
enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize := [ "VIDEO_PLAYER_SIZE_UNSPECIFIED", "VIDEO_PLAYER_SIZE_SMALL", "VIDEO_PLAYER_SIZE_LARGE", "VIDEO_PLAYER_SIZE_HD", "VIDEO_PLAYER_SIZE_UNKNOWN" ]
enum_ViewabilityAssignedTargetingOptionDetailsViewability := [ "VIEWABILITY_UNSPECIFIED", "VIEWABILITY_10_PERCENT_OR_MORE", "VIEWABILITY_20_PERCENT_OR_MORE", "VIEWABILITY_30_PERCENT_OR_MORE", "VIEWABILITY_40_PERCENT_OR_MORE", "VIEWABILITY_50_PERCENT_OR_MORE", "VIEWABILITY_60_PERCENT_OR_MORE", "VIEWABILITY_70_PERCENT_OR_MORE", "VIEWABILITY_80_PERCENT_OR_MORE", "VIEWABILITY_90_PERCENT_OR_MORE" ]

valid {
    input.Body.ageRangeDetails.ageRange == enum_AgeRangeAssignedTargetingOptionDetailsAgeRange[_]
    input.Body.appCategoryDetails.negative == BOOLEAN
    input.Body.appCategoryDetails.targetingOptionId == STRING
    input.Body.appDetails.appId == STRING
    input.Body.appDetails.appPlatform == enum_AppAssignedTargetingOptionDetailsAppPlatform[_]
    input.Body.appDetails.negative == BOOLEAN
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.excludedFirstAndThirdPartyAudienceGroup.settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.excludedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audienceGroupDetails.includedCombinedAudienceGroup.settings[_].combinedAudienceId == STRING
    input.Body.audienceGroupDetails.includedCustomListGroup.settings[_].customListId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].firstAndThirdPartyAudienceId == STRING
    input.Body.audienceGroupDetails.includedFirstAndThirdPartyAudienceGroups[_].settings[_].recency == enum_FirstAndThirdPartyAudienceTargetingSettingRecency[_]
    input.Body.audienceGroupDetails.includedGoogleAudienceGroup.settings[_].googleAudienceId == STRING
    input.Body.audioContentTypeDetails.audioContentType == enum_AudioContentTypeAssignedTargetingOptionDetailsAudioContentType[_]
    input.Body.authorizedSellerStatusDetails.targetingOptionId == STRING
    input.Body.browserDetails.negative == BOOLEAN
    input.Body.browserDetails.targetingOptionId == STRING
    input.Body.businessChainDetails.proximityRadiusAmount == NUMBER
    input.Body.businessChainDetails.proximityRadiusUnit == enum_BusinessChainAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.businessChainDetails.targetingOptionId == STRING
    input.Body.carrierAndIspDetails.negative == BOOLEAN
    input.Body.carrierAndIspDetails.targetingOptionId == STRING
    input.Body.categoryDetails.negative == BOOLEAN
    input.Body.categoryDetails.targetingOptionId == STRING
    input.Body.channelDetails.channelId == STRING
    input.Body.channelDetails.negative == BOOLEAN
    input.Body.contentDurationDetails.targetingOptionId == STRING
    input.Body.contentGenreDetails.negative == BOOLEAN
    input.Body.contentGenreDetails.targetingOptionId == STRING
    input.Body.contentInstreamPositionDetails.contentInstreamPosition == enum_ContentInstreamPositionAssignedTargetingOptionDetailsContentInstreamPosition[_]
    input.Body.contentOutstreamPositionDetails.contentOutstreamPosition == enum_ContentOutstreamPositionAssignedTargetingOptionDetailsContentOutstreamPosition[_]
    input.Body.contentStreamTypeDetails.targetingOptionId == STRING
    input.Body.dayAndTimeDetails.dayOfWeek == enum_DayAndTimeAssignedTargetingOptionDetailsDayOfWeek[_]
    input.Body.dayAndTimeDetails.endHour == INTEGER
    input.Body.dayAndTimeDetails.startHour == INTEGER
    input.Body.dayAndTimeDetails.timeZoneResolution == enum_DayAndTimeAssignedTargetingOptionDetailsTimeZoneResolution[_]
    input.Body.deviceMakeModelDetails.negative == BOOLEAN
    input.Body.deviceMakeModelDetails.targetingOptionId == STRING
    input.Body.deviceTypeDetails.deviceType == enum_DeviceTypeAssignedTargetingOptionDetailsDeviceType[_]
    input.Body.digitalContentLabelExclusionDetails.excludedContentRatingTier == enum_DigitalContentLabelAssignedTargetingOptionDetailsExcludedContentRatingTier[_]
    input.Body.environmentDetails.environment == enum_EnvironmentAssignedTargetingOptionDetailsEnvironment[_]
    input.Body.exchangeDetails.exchange == enum_ExchangeAssignedTargetingOptionDetailsExchange[_]
    input.Body.genderDetails.gender == enum_GenderAssignedTargetingOptionDetailsGender[_]
    input.Body.geoRegionDetails.negative == BOOLEAN
    input.Body.geoRegionDetails.targetingOptionId == STRING
    input.Body.householdIncomeDetails.householdIncome == enum_HouseholdIncomeAssignedTargetingOptionDetailsHouseholdIncome[_]
    input.Body.inventorySourceDetails.inventorySourceId == STRING
    input.Body.inventorySourceGroupDetails.inventorySourceGroupId == STRING
    input.Body.keywordDetails.keyword == STRING
    input.Body.keywordDetails.negative == BOOLEAN
    input.Body.languageDetails.negative == BOOLEAN
    input.Body.languageDetails.targetingOptionId == STRING
    input.Body.nativeContentPositionDetails.contentPosition == enum_NativeContentPositionAssignedTargetingOptionDetailsContentPosition[_]
    input.Body.negativeKeywordListDetails.negativeKeywordListId == STRING
    input.Body.omidDetails.omid == enum_OmidAssignedTargetingOptionDetailsOmid[_]
    input.Body.onScreenPositionDetails.targetingOptionId == STRING
    input.Body.operatingSystemDetails.negative == BOOLEAN
    input.Body.operatingSystemDetails.targetingOptionId == STRING
    input.Body.parentalStatusDetails.parentalStatus == enum_ParentalStatusAssignedTargetingOptionDetailsParentalStatus[_]
    input.Body.poiDetails.proximityRadiusAmount == NUMBER
    input.Body.poiDetails.proximityRadiusUnit == enum_PoiAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.poiDetails.targetingOptionId == STRING
    input.Body.proximityLocationListDetails.proximityLocationListId == STRING
    input.Body.proximityLocationListDetails.proximityRadius == NUMBER
    input.Body.proximityLocationListDetails.proximityRadiusUnit == enum_ProximityLocationListAssignedTargetingOptionDetailsProximityRadiusUnit[_]
    input.Body.regionalLocationListDetails.negative == BOOLEAN
    input.Body.regionalLocationListDetails.regionalLocationListId == STRING
    input.Body.sensitiveCategoryExclusionDetails.excludedSensitiveCategory == enum_SensitiveCategoryAssignedTargetingOptionDetailsExcludedSensitiveCategory[_]
    input.Body.sessionPositionDetails.sessionPosition == enum_SessionPositionAssignedTargetingOptionDetailsSessionPosition[_]
    input.Body.subExchangeDetails.targetingOptionId == STRING
    input.Body.thirdPartyVerifierDetails.adloox.excludedAdlooxCategories[_] == enum_AdlooxExcludedAdlooxCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidInsufficientStarRating == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.appStarRating.avoidedStarRating == enum_DoubleVerifyAppStarRatingAvoidedStarRating[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.avoidedAgeRatings[_] == enum_DoubleVerifyAvoidedAgeRatings[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidUnknownBrandSafetyCategory == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedHighSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedHighSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.brandSafetyCategories.avoidedMediumSeverityCategories[_] == enum_DoubleVerifyBrandSafetyCategoriesAvoidedMediumSeverityCategories[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.customSegmentId == STRING
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.iab == enum_DoubleVerifyDisplayViewabilityIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.displayViewability.viewableDuring == enum_DoubleVerifyDisplayViewabilityViewableDuring[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidInsufficientOption == BOOLEAN
    input.Body.thirdPartyVerifierDetails.doubleVerify.fraudInvalidTraffic.avoidedFraudOption == enum_DoubleVerifyFraudInvalidTrafficAvoidedFraudOption[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.playerImpressionRate == enum_DoubleVerifyVideoViewabilityPlayerImpressionRate[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoIab == enum_DoubleVerifyVideoViewabilityVideoIab[_]
    input.Body.thirdPartyVerifierDetails.doubleVerify.videoViewability.videoViewableRate == enum_DoubleVerifyVideoViewabilityVideoViewableRate[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.customSegmentId[_] == STRING
    input.Body.thirdPartyVerifierDetails.integralAdScience.displayViewability == enum_IntegralAdScienceDisplayViewability[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludeUnrateable == BOOLEAN
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdFraudRisk == enum_IntegralAdScienceExcludedAdFraudRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAdultRisk == enum_IntegralAdScienceExcludedAdultRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedAlcoholRisk == enum_IntegralAdScienceExcludedAlcoholRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedDrugsRisk == enum_IntegralAdScienceExcludedDrugsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedGamblingRisk == enum_IntegralAdScienceExcludedGamblingRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedHateSpeechRisk == enum_IntegralAdScienceExcludedHateSpeechRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedIllegalDownloadsRisk == enum_IntegralAdScienceExcludedIllegalDownloadsRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedOffensiveLanguageRisk == enum_IntegralAdScienceExcludedOffensiveLanguageRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.excludedViolenceRisk == enum_IntegralAdScienceExcludedViolenceRisk[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.traqScoreOption == enum_IntegralAdScienceTraqScoreOption[_]
    input.Body.thirdPartyVerifierDetails.integralAdScience.videoViewability == enum_IntegralAdScienceVideoViewability[_]
    input.Body.urlDetails.negative == BOOLEAN
    input.Body.urlDetails.url == STRING
    input.Body.userRewardedContentDetails.targetingOptionId == STRING
    input.Body.videoPlayerSizeDetails.videoPlayerSize == enum_VideoPlayerSizeAssignedTargetingOptionDetailsVideoPlayerSize[_]
    input.Body.viewabilityDetails.viewability == enum_ViewabilityAssignedTargetingOptionDetailsViewability[_]
    input.Body.youtubeChannelDetails.channelId == STRING
    input.Body.youtubeChannelDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.negative == BOOLEAN
    input.Body.youtubeVideoDetails.videoId == STRING
    input.ReqMap.partnerId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.targetingTypes.assignedTargetingOptions.delete

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.partnerId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.targetingTypes.assignedTargetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.assignedTargetingOptionId == STRING
    input.ReqMap.partnerId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.partners.targetingTypes.assignedTargetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.partnerId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.sdfdownloadtask.operations.get

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

displayvideo.sdfdownloadtasks.create

enum_CreateSdfDownloadTaskRequestVersion := [ "SDF_VERSION_UNSPECIFIED", "SDF_VERSION_3_1", "SDF_VERSION_4", "SDF_VERSION_4_1", "SDF_VERSION_4_2", "SDF_VERSION_5", "SDF_VERSION_5_1", "SDF_VERSION_5_2", "SDF_VERSION_5_3", "SDF_VERSION_5_4", "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7" ]
enum_ParentEntityFilterFileType := [ "FILE_TYPE_UNSPECIFIED", "FILE_TYPE_CAMPAIGN", "FILE_TYPE_MEDIA_PRODUCT", "FILE_TYPE_INSERTION_ORDER", "FILE_TYPE_LINE_ITEM", "FILE_TYPE_AD_GROUP", "FILE_TYPE_AD" ]
enum_ParentEntityFilterFilterType := [ "FILTER_TYPE_UNSPECIFIED", "FILTER_TYPE_NONE", "FILTER_TYPE_ADVERTISER_ID", "FILTER_TYPE_CAMPAIGN_ID", "FILTER_TYPE_MEDIA_PRODUCT_ID", "FILTER_TYPE_INSERTION_ORDER_ID", "FILTER_TYPE_LINE_ITEM_ID" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.idFilter.adGroupAdIds[_] == STRING
    input.Body.idFilter.adGroupIds[_] == STRING
    input.Body.idFilter.campaignIds[_] == STRING
    input.Body.idFilter.insertionOrderIds[_] == STRING
    input.Body.idFilter.lineItemIds[_] == STRING
    input.Body.idFilter.mediaProductIds[_] == STRING
    input.Body.inventorySourceFilter.inventorySourceIds[_] == STRING
    input.Body.parentEntityFilter.fileType[_] == enum_ParentEntityFilterFileType[_]
    input.Body.parentEntityFilter.filterIds[_] == STRING
    input.Body.parentEntityFilter.filterType == enum_ParentEntityFilterFilterType[_]
    input.Body.partnerId == STRING
    input.Body.version == enum_CreateSdfDownloadTaskRequestVersion[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.sdfdownloadtasks.operations.get

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

displayvideo.targetingTypes.targetingOptions.get

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.targetingOptionId == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.advertiserId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.targetingTypes.targetingOptions.list

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.Qs.advertiserId == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.targetingTypes.targetingOptions.search

enum_TargetingTypeParameter := [ "TARGETING_TYPE_UNSPECIFIED", "TARGETING_TYPE_CHANNEL", "TARGETING_TYPE_APP_CATEGORY", "TARGETING_TYPE_APP", "TARGETING_TYPE_URL", "TARGETING_TYPE_DAY_AND_TIME", "TARGETING_TYPE_AGE_RANGE", "TARGETING_TYPE_REGIONAL_LOCATION_LIST", "TARGETING_TYPE_PROXIMITY_LOCATION_LIST", "TARGETING_TYPE_GENDER", "TARGETING_TYPE_VIDEO_PLAYER_SIZE", "TARGETING_TYPE_USER_REWARDED_CONTENT", "TARGETING_TYPE_PARENTAL_STATUS", "TARGETING_TYPE_CONTENT_INSTREAM_POSITION", "TARGETING_TYPE_CONTENT_OUTSTREAM_POSITION", "TARGETING_TYPE_DEVICE_TYPE", "TARGETING_TYPE_AUDIENCE_GROUP", "TARGETING_TYPE_BROWSER", "TARGETING_TYPE_HOUSEHOLD_INCOME", "TARGETING_TYPE_ON_SCREEN_POSITION", "TARGETING_TYPE_THIRD_PARTY_VERIFIER", "TARGETING_TYPE_DIGITAL_CONTENT_LABEL_EXCLUSION", "TARGETING_TYPE_SENSITIVE_CATEGORY_EXCLUSION", "TARGETING_TYPE_ENVIRONMENT", "TARGETING_TYPE_CARRIER_AND_ISP", "TARGETING_TYPE_OPERATING_SYSTEM", "TARGETING_TYPE_DEVICE_MAKE_MODEL", "TARGETING_TYPE_KEYWORD", "TARGETING_TYPE_NEGATIVE_KEYWORD_LIST", "TARGETING_TYPE_VIEWABILITY", "TARGETING_TYPE_CATEGORY", "TARGETING_TYPE_INVENTORY_SOURCE", "TARGETING_TYPE_LANGUAGE", "TARGETING_TYPE_AUTHORIZED_SELLER_STATUS", "TARGETING_TYPE_GEO_REGION", "TARGETING_TYPE_INVENTORY_SOURCE_GROUP", "TARGETING_TYPE_EXCHANGE", "TARGETING_TYPE_SUB_EXCHANGE", "TARGETING_TYPE_POI", "TARGETING_TYPE_BUSINESS_CHAIN", "TARGETING_TYPE_CONTENT_DURATION", "TARGETING_TYPE_CONTENT_STREAM_TYPE", "TARGETING_TYPE_NATIVE_CONTENT_POSITION", "TARGETING_TYPE_OMID", "TARGETING_TYPE_AUDIO_CONTENT_TYPE", "TARGETING_TYPE_CONTENT_GENRE", "TARGETING_TYPE_YOUTUBE_VIDEO", "TARGETING_TYPE_YOUTUBE_CHANNEL", "TARGETING_TYPE_SESSION_POSITION" ]

valid {
    input.Body.advertiserId == STRING
    input.Body.businessChainSearchTerms.businessChainQuery == STRING
    input.Body.businessChainSearchTerms.regionQuery == STRING
    input.Body.geoRegionSearchTerms.geoRegionQuery == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.poiSearchTerms.poiQuery == STRING
    input.ReqMap.targetingType == enum_TargetingTypeParameter[_]
    input.ProviderMetadata.Region == STRING
}

displayvideo.users.bulkEditAssignedUserRoles

enum_AssignedUserRoleUserRole := [ "USER_ROLE_UNSPECIFIED", "ADMIN", "ADMIN_PARTNER_CLIENT", "STANDARD", "STANDARD_PLANNER", "STANDARD_PLANNER_LIMITED", "STANDARD_PARTNER_CLIENT", "READ_ONLY", "REPORTING_ONLY", "LIMITED_REPORTING_ONLY", "CREATIVE", "CREATIVE_ADMIN" ]

valid {
    input.Body.createdAssignedUserRoles[_].advertiserId == STRING
    input.Body.createdAssignedUserRoles[_].partnerId == STRING
    input.Body.createdAssignedUserRoles[_].userRole == enum_AssignedUserRoleUserRole[_]
    input.Body.deletedAssignedUserRoles[_] == STRING
    input.ReqMap.userId == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.users.create

enum_AssignedUserRoleUserRole := [ "USER_ROLE_UNSPECIFIED", "ADMIN", "ADMIN_PARTNER_CLIENT", "STANDARD", "STANDARD_PLANNER", "STANDARD_PLANNER_LIMITED", "STANDARD_PARTNER_CLIENT", "READ_ONLY", "REPORTING_ONLY", "LIMITED_REPORTING_ONLY", "CREATIVE", "CREATIVE_ADMIN" ]

valid {
    input.Body.assignedUserRoles[_].advertiserId == STRING
    input.Body.assignedUserRoles[_].partnerId == STRING
    input.Body.assignedUserRoles[_].userRole == enum_AssignedUserRoleUserRole[_]
    input.Body.displayName == STRING
    input.Body.email == STRING
    input.ProviderMetadata.Region == STRING
}

displayvideo.users.delete

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

displayvideo.users.get

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

displayvideo.users.list

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

displayvideo.users.patch

enum_AssignedUserRoleUserRole := [ "USER_ROLE_UNSPECIFIED", "ADMIN", "ADMIN_PARTNER_CLIENT", "STANDARD", "STANDARD_PLANNER", "STANDARD_PLANNER_LIMITED", "STANDARD_PARTNER_CLIENT", "READ_ONLY", "REPORTING_ONLY", "LIMITED_REPORTING_ONLY", "CREATIVE", "CREATIVE_ADMIN" ]

valid {
    input.Body.assignedUserRoles[_].advertiserId == STRING
    input.Body.assignedUserRoles[_].partnerId == STRING
    input.Body.assignedUserRoles[_].userRole == enum_AssignedUserRoleUserRole[_]
    input.Body.displayName == STRING
    input.Body.email == STRING
    input.ReqMap.userId == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}